From 717adcb58ebfac8a52b9cc9871d6c2fe2e5c35bb Mon Sep 17 00:00:00 2001 From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> Date: Thu, 3 Sep 2015 17:23:33 -0400 Subject: [PATCH] packaging: remove source code from packaging No sources in this branch, only packaging configuration ressources. Issue: #80006 Change-Id: I21956c73ec3abb948288d5b0cc625882ee3ad364 --- .gitignore | 56 - .gitmodules | 3 - CMakeLists.txt | 320 ---- COPYING | 675 -------- Credits.rtf | 25 - README.md | 65 - cmake/MacOSXBundleInfo.plist.in | 46 - data/appicon.icns | Bin 241889 -> 0 bytes data/background_tile.png | Bin 46998 -> 0 bytes data/dark/ancrage.png | Bin 1758 -> 0 bytes data/dark/audio.png | Bin 1527 -> 0 bytes data/dark/general.png | Bin 2470 -> 0 bytes data/dark/ic_action_accept.png | Bin 420 -> 0 bytes data/dark/ic_action_call.png | Bin 574 -> 0 bytes data/dark/ic_action_cancel.png | Bin 438 -> 0 bytes data/dark/ic_action_chat.png | Bin 248 -> 0 bytes data/dark/ic_action_hangup.png | Bin 515 -> 0 bytes data/dark/ic_action_hold.png | Bin 109 -> 0 bytes data/dark/ic_action_holdoff.png | Bin 265 -> 0 bytes data/dark/ic_action_mute_audio.png | Bin 671 -> 0 bytes data/dark/ic_action_mute_video.png | Bin 375 -> 0 bytes data/dark/ic_action_search.png | Bin 702 -> 0 bytes data/dark/ic_action_video.png | Bin 321 -> 0 bytes data/dark/video.png | Bin 972 -> 0 bytes data/light/ic_action_accept.png | Bin 401 -> 0 bytes data/light/ic_action_call.png | Bin 529 -> 0 bytes data/light/ic_action_cancel.png | Bin 353 -> 0 bytes data/light/ic_action_email.png | Bin 335 -> 0 bytes data/light/ic_action_new_email.png | Bin 433 -> 0 bytes data/light/ic_action_search.png | Bin 650 -> 0 bytes data/light/ic_action_video.png | Bin 321 -> 0 bytes data/symbol_black.png | Bin 39978 -> 0 bytes data/symbol_blue.png | Bin 113523 -> 0 bytes data/symbol_dark.png | Bin 105216 -> 0 bytes sparkle/LICENSE | 60 - sparkle/Sparkle | 1 - sparkle/dsa_pub.pem | 36 - sparkle/sign_update.sh | 10 - sparkle/sparkle-xml-updater.sh | 38 - src/AccAdvancedVC.h | 36 - src/AccAdvancedVC.mm | 254 --- src/AccAudioVC.h | 43 - src/AccAudioVC.mm | 193 --- src/AccGeneralVC.h | 43 - src/AccGeneralVC.mm | 226 --- src/AccRingVC.h | 41 - src/AccRingVC.mm | 166 -- src/AccSecurityVC.h | 39 - src/AccSecurityVC.mm | 437 ----- src/AccVideoVC.h | 41 - src/AccVideoVC.mm | 208 --- src/AccountsVC.h | 41 - src/AccountsVC.mm | 398 ----- src/AppDelegate.h | 45 - src/AppDelegate.mm | 184 --- src/AudioPrefsVC.h | 41 - src/AudioPrefsVC.mm | 213 --- src/CertificateWC.h | 17 - src/CertificateWC.mm | 29 - src/ChatVC.h | 41 - src/ChatVC.mm | 196 --- src/Constants.h | 47 - src/ConversationsVC.h | 42 - src/ConversationsVC.mm | 148 -- src/CurrentCallVC.h | 47 - src/CurrentCallVC.mm | 562 ------- src/GeneralPrefsVC.h | 39 - src/GeneralPrefsVC.mm | 167 -- src/HistoryVC.h | 41 - src/HistoryVC.mm | 177 -- src/PersonsVC.h | 35 - src/PersonsVC.mm | 241 --- src/PreferencesVC.h | 52 - src/PreferencesVC.mm | 268 --- src/PreferencesWindowController.h | 13 - src/PreferencesWindowController.mm | 23 - src/QNSTreeController.h | 49 - src/QNSTreeController.mm | 203 --- src/RingWindowController.h | 48 - src/RingWindowController.mm | 275 ---- src/RingWizardWC.h | 35 - src/RingWizardWC.mm | 200 --- src/VideoPrefsVC.h | 41 - src/VideoPrefsVC.mm | 239 --- src/backends/AddressBookBackend.h | 62 - src/backends/AddressBookBackend.mm | 259 --- src/delegates/ImageManipulationDelegate.h | 57 - src/delegates/ImageManipulationDelegate.mm | 160 -- src/main.mm | 49 - src/views/CallView.h | 59 - src/views/CallView.mm | 226 --- src/views/ITProgressIndicator.h | 88 - src/views/ITProgressIndicator.mm | 349 ---- src/views/PersonCell.h | 43 - src/views/PersonCell.mm | 182 -- ui/AccAdvanced.xib | 342 ---- ui/AccAudio.xib | 168 -- ui/AccGeneral.xib | 221 --- ui/AccRing.xib | 157 -- ui/AccSecurity.xib | 337 ---- ui/AccVideo.xib | 156 -- ui/Accounts.xib | 256 --- ui/AudioPrefs.xib | 148 -- ui/CertificateWindow.xib | 148 -- ui/CurrentCall.xib | 372 ----- ui/GeneralPrefs.xib | 337 ---- ui/MainMenu.xib | 1736 -------------------- ui/PreferencesScreen.xib | 24 - ui/PreferencesWindow.xib | 39 - ui/RingWindow.xib | 277 ---- ui/RingWizard.xib | 103 -- ui/VideoPrefs.xib | 136 -- 112 files changed, 13750 deletions(-) delete mode 100644 .gitignore delete mode 100644 .gitmodules delete mode 100644 CMakeLists.txt delete mode 100644 COPYING delete mode 100644 Credits.rtf delete mode 100644 README.md delete mode 100644 cmake/MacOSXBundleInfo.plist.in delete mode 100644 data/appicon.icns delete mode 100644 data/background_tile.png delete mode 100644 data/dark/ancrage.png delete mode 100644 data/dark/audio.png delete mode 100644 data/dark/general.png delete mode 100644 data/dark/ic_action_accept.png delete mode 100644 data/dark/ic_action_call.png delete mode 100644 data/dark/ic_action_cancel.png delete mode 100644 data/dark/ic_action_chat.png delete mode 100644 data/dark/ic_action_hangup.png delete mode 100644 data/dark/ic_action_hold.png delete mode 100644 data/dark/ic_action_holdoff.png delete mode 100644 data/dark/ic_action_mute_audio.png delete mode 100644 data/dark/ic_action_mute_video.png delete mode 100644 data/dark/ic_action_search.png delete mode 100644 data/dark/ic_action_video.png delete mode 100644 data/dark/video.png delete mode 100644 data/light/ic_action_accept.png delete mode 100644 data/light/ic_action_call.png delete mode 100644 data/light/ic_action_cancel.png delete mode 100644 data/light/ic_action_email.png delete mode 100644 data/light/ic_action_new_email.png delete mode 100644 data/light/ic_action_search.png delete mode 100644 data/light/ic_action_video.png delete mode 100644 data/symbol_black.png delete mode 100644 data/symbol_blue.png delete mode 100644 data/symbol_dark.png delete mode 100644 sparkle/LICENSE delete mode 160000 sparkle/Sparkle delete mode 100644 sparkle/dsa_pub.pem delete mode 100644 sparkle/sign_update.sh delete mode 100644 sparkle/sparkle-xml-updater.sh delete mode 100644 src/AccAdvancedVC.h delete mode 100644 src/AccAdvancedVC.mm delete mode 100644 src/AccAudioVC.h delete mode 100644 src/AccAudioVC.mm delete mode 100644 src/AccGeneralVC.h delete mode 100644 src/AccGeneralVC.mm delete mode 100644 src/AccRingVC.h delete mode 100644 src/AccRingVC.mm delete mode 100644 src/AccSecurityVC.h delete mode 100644 src/AccSecurityVC.mm delete mode 100644 src/AccVideoVC.h delete mode 100644 src/AccVideoVC.mm delete mode 100644 src/AccountsVC.h delete mode 100644 src/AccountsVC.mm delete mode 100644 src/AppDelegate.h delete mode 100644 src/AppDelegate.mm delete mode 100644 src/AudioPrefsVC.h delete mode 100644 src/AudioPrefsVC.mm delete mode 100644 src/CertificateWC.h delete mode 100644 src/CertificateWC.mm delete mode 100644 src/ChatVC.h delete mode 100644 src/ChatVC.mm delete mode 100644 src/Constants.h delete mode 100644 src/ConversationsVC.h delete mode 100644 src/ConversationsVC.mm delete mode 100644 src/CurrentCallVC.h delete mode 100644 src/CurrentCallVC.mm delete mode 100644 src/GeneralPrefsVC.h delete mode 100644 src/GeneralPrefsVC.mm delete mode 100644 src/HistoryVC.h delete mode 100644 src/HistoryVC.mm delete mode 100644 src/PersonsVC.h delete mode 100644 src/PersonsVC.mm delete mode 100644 src/PreferencesVC.h delete mode 100644 src/PreferencesVC.mm delete mode 100644 src/PreferencesWindowController.h delete mode 100644 src/PreferencesWindowController.mm delete mode 100644 src/QNSTreeController.h delete mode 100644 src/QNSTreeController.mm delete mode 100644 src/RingWindowController.h delete mode 100644 src/RingWindowController.mm delete mode 100644 src/RingWizardWC.h delete mode 100644 src/RingWizardWC.mm delete mode 100644 src/VideoPrefsVC.h delete mode 100644 src/VideoPrefsVC.mm delete mode 100644 src/backends/AddressBookBackend.h delete mode 100644 src/backends/AddressBookBackend.mm delete mode 100644 src/delegates/ImageManipulationDelegate.h delete mode 100644 src/delegates/ImageManipulationDelegate.mm delete mode 100644 src/main.mm delete mode 100644 src/views/CallView.h delete mode 100644 src/views/CallView.mm delete mode 100644 src/views/ITProgressIndicator.h delete mode 100644 src/views/ITProgressIndicator.mm delete mode 100644 src/views/PersonCell.h delete mode 100644 src/views/PersonCell.mm delete mode 100644 ui/AccAdvanced.xib delete mode 100644 ui/AccAudio.xib delete mode 100644 ui/AccGeneral.xib delete mode 100644 ui/AccRing.xib delete mode 100644 ui/AccSecurity.xib delete mode 100644 ui/AccVideo.xib delete mode 100644 ui/Accounts.xib delete mode 100644 ui/AudioPrefs.xib delete mode 100644 ui/CertificateWindow.xib delete mode 100644 ui/CurrentCall.xib delete mode 100644 ui/GeneralPrefs.xib delete mode 100644 ui/MainMenu.xib delete mode 100644 ui/PreferencesScreen.xib delete mode 100644 ui/PreferencesWindow.xib delete mode 100644 ui/RingWindow.xib delete mode 100644 ui/RingWizard.xib delete mode 100644 ui/VideoPrefs.xib diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 6f0c20c4..00000000 --- a/.gitignore +++ /dev/null @@ -1,56 +0,0 @@ -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app -Sparkle.framework - -# Qt-es -*.user -/.qmake.cache -/.qmake.stash -*.pro.user -*.pro.user.* -*.qbs.user -*.qbs.user.* -*.moc -moc_*.cpp -qrc_*.cpp -ui_*.h -Makefile* -*-build-* - -# QtCreator - -*.autosave - -#QtCtreator Qml -*.qmlproject.user -*.qmlproject.user.* - -build/ -lib -.DS_Store diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 1db2f944..00000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "sparkle/Sparkle"] - path = sparkle/Sparkle - url = https://github.com/sparkle-project/Sparkle.git diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index ba0e551e..00000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,320 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - -IF(POLICY CMP0022) - CMAKE_POLICY(SET CMP0022 NEW) -ENDIF(POLICY CMP0022) - -SET(PROJ_NAME Ring) - -# To build nighlies we need to update RING_VERSION with an optional command line arg -IF("${RING_VERSION}" STREQUAL "") - SET(RING_VERSION "0.4.0") -ENDIF("${RING_VERSION}" STREQUAL "") - -MESSAGE("Building Ring version - " ${RING_VERSION}) - -SET(RING_VERSION_NAME "Samuel de Champlain") -SET(BUNDLE_VERSION "Samuel de Champlain - beta") - -SET(PROJ_COPYRIGHT " © 2015 Savoir-faire Linux \n GPLv3 https://www.gnu.org/copyleft/gpl.html") - -ADD_DEFINITIONS("-std=c++11 -fobjc-arc") - -PROJECT(${PROJ_NAME}) - -FIND_PACKAGE(Qt5Core REQUIRED) -FIND_PACKAGE(Qt5MacExtras REQUIRED) -FIND_PACKAGE(Qt5Widgets REQUIRED) -FIND_PACKAGE(LibRingClient REQUIRED) - -IF(NOT (${ENABLE_SPARKLE} MATCHES false)) - MESSAGE("Sparkle auto-update enabled") - - # find_library searches in /Library/Frameworks by default - # We add an hint to our custom location - - FIND_LIBRARY(SPARKLE_FRAMEWORK - NAMES Sparkle - HINTS ${CMAKE_CURRENT_SOURCE_DIR}/sparkle) - IF(EXISTS ${SPARKLE_FRAMEWORK}) - SET(ENABLE_SPARKLE 1 CACHE BOOLEAN "Enable Sparkle") - ADD_DEFINITIONS(-DENABLE_SPARKLE=1) - MESSAGE("Sparkle is here:" ${SPARKLE_FRAMEWORK}) - FIND_PATH(SPARKLE_INCLUDE_DIR Sparkle.h HINTS ${SPARKLE_FRAMEWORK}/Headers) - MESSAGE("INCLUDE " ${SPARKLE_INCLUDE_DIR}) - # we need to copy the public key to check the updates - SET(PUBLIC_KEY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sparkle/dsa_pub.pem") - IF(EXISTS ${PUBLIC_KEY_PATH}) - MESSAGE(STATUS "Looking for Public Key - found") - SET_SOURCE_FILES_PROPERTIES(${PUBLIC_KEY_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) - SET(PUBLIC_KEY ${PUBLIC_KEY_PATH}) - ELSE(EXISTS ${PUBLIC_KEY_PATH}) - MESSAGE(WARNING "Looking for Public Key - not found") - MESSAGE(WARNING "${PUBLIC_KEY_PATH} not found Sparkle Framework will NOT work and may even prevent application from launching. Please consider disabling Sparkle Framework, creating a keypair for testing purposes") - ENDIF(EXISTS ${PUBLIC_KEY_PATH}) - ELSE() - MESSAGE(FATAL_ERROR "Sparkle framework not found, build it (see README) or disable Sparkle (-DENABLE_SPARKLE=false)") - ENDIF(EXISTS ${SPARKLE_FRAMEWORK}) -ENDIF(NOT (${ENABLE_SPARKLE} MATCHES false)) - -INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS}) -INCLUDE_DIRECTORIES(SYSTEM ${Qt5MacExtras_INCLUDE_DIRS}) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) -INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}) -INCLUDE_DIRECTORIES(${LIB_RING_CLIENT_INCLUDE_DIR}) - -MESSAGE("LRC is here:" ${LIB_RING_CLIENT_INCLUDE_DIR}) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") - -#Files to compile -SET(ringclient_CONTROLLERS - src/QNSTreeController.mm - src/QNSTreeController.h - src/CurrentCallVC.mm - src/CurrentCallVC.h - src/GeneralPrefsVC.mm - src/RingWizardWC.mm - src/RingWizardWC.h - src/RingWindowController.mm - src/RingWindowController.h - src/ConversationsVC.mm - src/ConversationsVC.h - src/PreferencesVC.mm - src/PreferencesVC.h - src/AccGeneralVC.mm - src/AccGeneralVC.h - src/AccVideoVC.mm - src/AccVideoVC.h - src/AccAudioVC.mm - src/AccAudioVC.h - src/AccRingVC.mm - src/AccRingVC.h - src/AccAdvancedVC.mm - src/AccAdvancedVC.h - src/AccSecurityVC.mm - src/AccSecurityVC.h - src/CertificateWC.mm - src/CertificateWC.h - src/AudioPrefsVC.mm - src/AudioPrefsVC.h - src/AccountsVC.mm - src/AccountsVC.h - src/VideoPrefsVC.mm - src/VideoPrefsVC.h - src/GeneralPrefsVC.h - src/HistoryVC.mm - src/HistoryVC.h - src/PersonsVC.mm - src/PersonsVC.h - src/ChatVC.mm - src/ChatVC.h) - -SET(ringclient_BACKENDS - src/backends/AddressBookBackend.mm - src/backends/AddressBookBackend.h) - -SET(ringclient_VIEWS - src/views/CallView.mm - src/views/CallView.h - src/views/ITProgressIndicator.mm - src/views/ITProgressIndicator.h - src/views/PersonCell.mm - src/views/PersonCell.h) - -SET(ringclient_OTHERS - src/main.mm - src/AppDelegate.mm - src/AppDelegate.h - src/delegates/ImageManipulationDelegate.mm - src/delegates/ImageManipulationDelegate.h) - - -SET(ringclient_XIBS - MainMenu - RingWindow - CurrentCall - GeneralPrefs - Accounts - AccGeneral - AccAudio - AccVideo - AccRing - AccAdvanced - AccSecurity - AudioPrefs - VideoPrefs - PreferencesScreen - RingWizard - CertificateWindow) - -# Icons -# This part tells CMake where to find and install the file itself -SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns) -SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES - MACOSX_PACKAGE_LOCATION "Resources") - -SET(ring_ICONS ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_accept.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_call.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_cancel.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hangup.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hold.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_holdoff.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_video.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_audio.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_chat.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_search.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ancrage.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/audio.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/general.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/video.png -${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png) - -SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES - MACOSX_PACKAGE_LOCATION Resources) -SET_SOURCE_FILES_PROPERTIES(Credits.rtf PROPERTIES - MACOSX_PACKAGE_LOCATION Resources) - -# append '.xib' extension before linking xib files in executable -FOREACH(xib ${ringclient_XIBS}) - SET(ringclient_XIBS_FOR_EXECUTABLE ${ringclient_XIBS_FOR_EXECUTABLE} ui/${xib}.xib) -ENDFOREACH() - -SET(TO_ADD - ${ringclient_CONTROLLERS} - ${ringclient_BACKENDS} - ${ringclient_VIEWS} - ${ringclient_OTHERS} - ${ringclient_XIBS_FOR_EXECUTABLE} - ${myApp_ICON} - Credits.rtf - ${ring_ICONS}) - -IF(ENABLE_SPARKLE) - SET( TO_ADD ${TO_ADD} ${PUBLIC_KEY} ${SPARKLE_FRAMEWORK}) -ENDIF(ENABLE_SPARKLE) - -ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE ${TO_ADD}) - -# Follow Xcode hierarchy principles -SOURCE_GROUP("Controllers" FILES ${ringclient_CONTROLLERS}) -SOURCE_GROUP("Backends" FILES ${ringclient_BACKENDS}) -SOURCE_GROUP("CustomViews" FILES ${ringclient_VIEWS}) -SOURCE_GROUP("Classes" FILES ${ringclient_OTHERS}) -SOURCE_GROUP("Resources\\Interface Builder" FILES ${ringclient_XIBS_FOR_EXECUTABLE}) - -IF(ENABLE_SPARKLE) - SOURCE_GROUP("Frameworks" FILES ${SPARKLE_FRAMEWORK}) -ENDIF(ENABLE_SPARKLE) - -TARGET_LINK_LIBRARIES( ${PROJ_NAME} - ${LIB_RING_CLIENT_LIBRARY} - ${Qt5Core_LIBRARIES} - ${Qt5MacExtras_LIBRARIES} - ${Qt5Widgets_LIBRARIES} -) - -IF(ENABLE_SPARKLE) - TARGET_LINK_LIBRARIES(${PROJ_NAME} ${SPARKLE_FRAMEWORK}) -ENDIF(ENABLE_SPARKLE) - -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit") -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa") -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Quartz") -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AVFoundation") -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook") - -# These variables are specific to our plist and are NOT standard CMake variables -SET(MACOSX_BUNDLE_NSMAIN_NIB_FILE "MainMenu") -SET(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "NSApplication") - -SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in - MACOSX_BUNDLE_GUI_IDENTIFIER "cx.ring" - MACOSX_BUNDLE_SHORT_VERSION_STRING ${RING_VERSION} - MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION} Nightly" - MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION_NAME} - MACOSX_BUNDLE_COPYRIGHT "${PROJ_COPYRIGHT}" - MACOSX_BUNDLE_INFO_STRING "Nightly build of ${PROJ_NAME} ${RING_VERSION} for testing and development" - MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME} - MACOSX_BUNDLE_ICON_FILE "appicon.icns" - ) - -# Make sure we can find the 'ibtool' program. If we can NOT find it we -# skip generation of this project -FIND_PROGRAM(IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin") -IF(${IBTOOL} STREQUAL "IBTOOL-NOTFOUND") - MESSAGE(SEND_ERROR "ibtool can not be found and is needed to compile the .xib files. It should have been installed with - the Apple developer tools. The default system paths were searched in addition to ${OSX_DEVELOPER_ROOT}/usr/bin") -endif() - -# Compile the .xib files using the 'ibtool' program with the destination being the app package -FOREACH(xib ${ringclient_XIBS}) - ADD_CUSTOM_COMMAND(TARGET ${PROJ_NAME} POST_BUILD - COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text - --compile ${CMAKE_CURRENT_BINARY_DIR}/\${CONFIGURATION}/${PROJ_NAME}.app/Contents/Resources/${xib}.nib - ${CMAKE_CURRENT_SOURCE_DIR}/ui/${xib}.xib - COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/ui/${xib}.xib") - -ENDFOREACH() - -SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${CMAKE_INSTALL_PREFIX}) - -SET(APPS "\${CMAKE_INSTALL_PREFIX}/${PROJ_NAME}.app") - -INSTALL(TARGETS ${PROJ_NAME} BUNDLE DESTINATION . COMPONENT Runtime) - -SET(QT_PLUGINS_DESTDIR ${PROJ_NAME}.app/Contents/Plugins) -#-------------------------------------------------------------------------------- -# Install needed Qt plugins by copying directories from the qt installation - - -#MESSAGE("GUI====") -#foreach(plugin ${Qt5Gui_PLUGINS}) -# message("Plugin ${plugin} is at location ${_loc}") -#endforeach() - -LIST(APPEND QT_PLUGINS_IMAGEFORMAT Qt5::QTgaPlugin - Qt5::QGifPlugin - Qt5::QICNSPlugin - Qt5::QICOPlugin - Qt5::QJpegPlugin - Qt5::QJp2Plugin - Qt5::QMngPlugin - Qt5::QTiffPlugin - Qt5::QDDSPlugin) - -# we need two plugin directories platform and imageformats -GET_TARGET_PROPERTY(_loc Qt5::QCocoaIntegrationPlugin LOCATION) -INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/platforms COMPONENT Runtime) -LIST(APPEND QT_PLUGINS Qt5::QCocoaIntegrationPlugin) - -FOREACH(plugin ${QT_PLUGINS_IMAGEFORMAT}) - GET_TARGET_PROPERTY(_loc ${plugin} LOCATION) - INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/imageformats COMPONENT Runtime) - LIST(APPEND QT_PLUGINS ${plugin}) -ENDFOREACH() - -# directories to look for dependencies -SET(DIRS ${CMAKE_INSTALL_PREFIX}/lib ${QT_LIB_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/sparkle) - -INSTALL(CODE " - file(GLOB_RECURSE QTPLUGINS - \"\${CMAKE_INSTALL_PREFIX}/${QT_PLUGINS_DESTDIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") - include(BundleUtilities) - SET(BU_CHMOD_BUNDLE_ITEMS TRUE) - fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\") - " COMPONENT Runtime) - -#================================ -# Packaging -#================================ -SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJ_NAME}) -SET( CPACK_PACKAGE_NAME ${PROJ_NAME} ) -SET( CPACK_PACKAGE_CONTACT "Alexandre Lision") -SET( CPACK_PACKAGE_VENDOR "Savoir-faire Linux") -SET( CPACK_PACKAGE_VERSION_MAJOR ${PROG_MAJOR_VERSION}) -SET( CPACK_PACKAGE_VERSION_MINOR ${PROG_MINOR_VERSION}) -SET( CPACK_PACKAGE_VERSION_PATCH ${PROG_PATCH_VERSION}) -SET(CPACK_BINARY_DRAGNDROP ON) -SET( CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}") -INCLUDE(CPack) diff --git a/COPYING b/COPYING deleted file mode 100644 index 32d67001..00000000 --- a/COPYING +++ /dev/null @@ -1,675 +0,0 @@ -GNU GENERAL PUBLIC LICENSE -Version 3, 29 June 2007 - -Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -Preamble - -The GNU General Public License is a free, copyleft license for -software and other kinds of works. - -The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, - the GNU General Public License is intended to guarantee your freedom to - share and change all versions of a program--to make sure it remains free - software for all its users. We, the Free Software Foundation, use the - GNU General Public License for most of our software; it applies also to - any other work released this way by its authors. You can apply it to - your programs, too. - - When we speak of free software, we are referring to freedom, not - price. Our General Public Licenses are designed to make sure that you - have the freedom to distribute copies of free software (and charge for - them if you wish), that you receive source code or can get it if you - want it, that you can change the software or use pieces of it in new - free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you - these rights or asking you to surrender the rights. Therefore, you have - certain responsibilities if you distribute copies of the software, or if - you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether - gratis or for a fee, you must pass on to the recipients the same - freedoms that you received. You must make sure that they, too, receive - or can get the source code. And you must show them these terms so they - know their rights. - - Developers that use the GNU GPL protect your rights with two steps: - (1) assert copyright on the software, and (2) offer you this License - giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains - that there is no warranty for this free software. For both users' and - authors' sake, the GPL requires that modified versions be marked as - changed, so that their problems will not be attributed erroneously to - authors of previous versions. - - Some devices are designed to deny users access to install or run - modified versions of the software inside them, although the manufacturer - can do so. This is fundamentally incompatible with the aim of - protecting users' freedom to change the software. The systematic - pattern of such abuse occurs in the area of products for individuals to - use, which is precisely where it is most unacceptable. Therefore, we - have designed this version of the GPL to prohibit the practice for those - products. If such problems arise substantially in other domains, we - stand ready to extend this provision to those domains in future versions - of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. - States should not allow patents to restrict development and use of - software on general-purpose computers, but in those that do, we wish to - avoid the special danger that patents applied to a free program could - make it effectively proprietary. To prevent this, the GPL assures that - patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and - modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of - works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this - License. Each licensee is addressed as "you". "Licensees" and - "recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work - in a fashion requiring copyright permission, other than the making of an - exact copy. The resulting work is called a "modified version" of the - earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based - on the Program. - - To "propagate" a work means to do anything with it that, without - permission, would make you directly or secondarily liable for - infringement under applicable copyright law, except executing it on a - computer or modifying a private copy. Propagation includes copying, - distribution (with or without modification), making available to the - public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other - parties to make or receive copies. Mere interaction with a user through - a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" - to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) - tells the user that there is no warranty for the work (except to the - extent that warranties are provided), that licensees may convey the - work under this License, and how to view a copy of this License. If - the interface presents a list of user commands or options, such as a - menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work - for making modifications to it. "Object code" means any non-source - form of a work. - - A "Standard Interface" means an interface that either is an official - standard defined by a recognized standards body, or, in the case of - interfaces specified for a particular programming language, one that - is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other - than the work as a whole, that (a) is included in the normal form of - packaging a Major Component, but which is not part of that Major - Component, and (b) serves only to enable use of the work with that - Major Component, or to implement a Standard Interface for which an - implementation is available to the public in source code form. A - "Major Component", in this context, means a major essential component - (kernel, window system, and so on) of the specific operating system - (if any) on which the executable work runs, or a compiler used to - produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all - the source code needed to generate, install, and (for an executable - work) run the object code and to modify the work, including scripts to - control those activities. However, it does not include the work's - System Libraries, or general-purpose tools or generally available free - programs which are used unmodified in performing those activities but - which are not part of the work. For example, Corresponding Source - includes interface definition files associated with source files for - the work, and the source code for shared libraries and dynamically - linked subprograms that the work is specifically designed to require, - such as by intimate data communication or control flow between those - subprograms and other parts of the work. - - The Corresponding Source need not include anything that users - can regenerate automatically from other parts of the Corresponding - Source. - - The Corresponding Source for a work in source code form is that - same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of - copyright on the Program, and are irrevocable provided the stated - conditions are met. This License explicitly affirms your unlimited - permission to run the unmodified Program. The output from running a - covered work is covered by this License only if the output, given its - content, constitutes a covered work. This License acknowledges your - rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not - convey, without conditions so long as your license otherwise remains - in force. You may convey covered works to others for the sole purpose - of having them make modifications exclusively for you, or provide you - with facilities for running those works, provided that you comply with - the terms of this License in conveying all material for which you do - not control copyright. Those thus making or running the covered works - for you must do so exclusively on your behalf, under your direction - and control, on terms that prohibit them from making any copies of - your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under - the conditions stated below. Sublicensing is not allowed; section 10 - makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological - measure under any applicable law fulfilling obligations under article - 11 of the WIPO copyright treaty adopted on 20 December 1996, or - similar laws prohibiting or restricting circumvention of such - measures. - - When you convey a covered work, you waive any legal power to forbid - circumvention of technological measures to the extent such circumvention - is effected by exercising rights under this License with respect to - the covered work, and you disclaim any intention to limit operation or - modification of the work as a means of enforcing, against the work's - users, your or third parties' legal rights to forbid circumvention of - technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you - receive it, in any medium, provided that you conspicuously and - appropriately publish on each copy an appropriate copyright notice; - keep intact all notices stating that this License and any - non-permissive terms added in accord with section 7 apply to the code; - keep intact all notices of the absence of any warranty; and give all - recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, - and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to - produce it from the Program, in the form of source code under the - terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent - works, which are not by their nature extensions of the covered work, - and which are not combined with it such as to form a larger program, - in or on a volume of a storage or distribution medium, is called an - "aggregate" if the compilation and its resulting copyright are not - used to limit the access or legal rights of the compilation's users - beyond what the individual works permit. Inclusion of a covered work - in an aggregate does not cause this License to apply to the other - parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms - of sections 4 and 5, provided that you also convey the - machine-readable Corresponding Source under the terms of this License, - in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source -may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded - from the Corresponding Source as a System Library, need not be - included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any - tangible personal property which is normally used for personal, family, - or household purposes, or (2) anything designed or sold for incorporation - into a dwelling. In determining whether a product is a consumer product, - doubtful cases shall be resolved in favor of coverage. For a particular - product received by a particular user, "normally used" refers to a - typical or common use of that class of product, regardless of the status - of the particular user or of the way in which the particular user - actually uses, or expects or is expected to use, the product. A product - is a consumer product regardless of whether the product has substantial - commercial, industrial or non-consumer uses, unless such uses represent - the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, - procedures, authorization keys, or other information required to install - and execute modified versions of a covered work in that User Product from - a modified version of its Corresponding Source. The information must - suffice to ensure that the continued functioning of the modified object - code is in no case prevented or interfered with solely because - modification has been made. - - If you convey an object code work under this section in, or with, or - specifically for use in, a User Product, and the conveying occurs as - part of a transaction in which the right of possession and use of the - User Product is transferred to the recipient in perpetuity or for a - fixed term (regardless of how the transaction is characterized), the - Corresponding Source conveyed under this section must be accompanied - by the Installation Information. But this requirement does not apply - if neither you nor any third party retains the ability to install - modified object code on the User Product (for example, the work has - been installed in ROM). - - The requirement to provide Installation Information does not include a - requirement to continue to provide support service, warranty, or updates - for a work that has been modified or installed by the recipient, or for - the User Product in which it has been modified or installed. Access to a - network may be denied when the modification itself materially and - adversely affects the operation of the network or violates the rules and - protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, - in accord with this section must be in a format that is publicly - documented (and with an implementation available to the public in - source code form), and must require no special password or key for - unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this - License by making exceptions from one or more of its conditions. - Additional permissions that are applicable to the entire Program shall - be treated as though they were included in this License, to the extent - that they are valid under applicable law. If additional permissions - apply only to part of the Program, that part may be used separately - under those permissions, but the entire Program remains governed by - this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option - remove any additional permissions from that copy, or from any part of - it. (Additional permissions may be written to require their own - removal in certain cases when you modify the work.) You may place - additional permissions on material, added by you to a covered work, - for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you - add to a covered work, you may (if authorized by the copyright holders of - that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further - restrictions" within the meaning of section 10. If the Program as you - received it, or any part of it, contains a notice stating that it is - governed by this License along with a term that is a further - restriction, you may remove that term. If a license document contains - a further restriction but permits relicensing or conveying under this - License, you may add to a covered work material governed by the terms - of that license document, provided that the further restriction does - not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you - must place, in the relevant source files, a statement of the - additional terms that apply to those files, or a notice indicating - where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the - form of a separately written license, or stated as exceptions; - the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly - provided under this License. Any attempt otherwise to propagate or - modify it is void, and will automatically terminate your rights under - this License (including any patent licenses granted under the third - paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the copyright - holder fails to notify you of the violation by some reasonable means - prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from that - copyright holder, and you cure the violation prior to 30 days after - your receipt of the notice. - - Termination of your rights under this section does not terminate the - licenses of parties who have received copies or rights from you under - this License. If your rights have been terminated and not permanently - reinstated, you do not qualify to receive new licenses for the same - material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or - run a copy of the Program. Ancillary propagation of a covered work - occurring solely as a consequence of using peer-to-peer transmission - to receive a copy likewise does not require acceptance. However, - nothing other than this License grants you permission to propagate or - modify any covered work. These actions infringe copyright if you do - not accept this License. Therefore, by modifying or propagating a - covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically - receives a license from the original licensors, to run, modify and - propagate that work, subject to this License. You are not responsible - for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an - organization, or substantially all assets of one, or subdividing an - organization, or merging organizations. If propagation of a covered - work results from an entity transaction, each party to that - transaction who receives a copy of the work also receives whatever - licenses to the work the party's predecessor in interest had or could - give under the previous paragraph, plus a right to possession of the - Corresponding Source of the work from the predecessor in interest, if - the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the - rights granted or affirmed under this License. For example, you may - not impose a license fee, royalty, or other charge for exercise of - rights granted under this License, and you may not initiate litigation - (including a cross-claim or counterclaim in a lawsuit) alleging that - any patent claim is infringed by making, using, selling, offering for - sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this - License of the Program or a work on which the Program is based. The - work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims - owned or controlled by the contributor, whether already acquired or - hereafter acquired, that would be infringed by some manner, permitted - by this License, of making, using, or selling its contributor version, - but do not include claims that would be infringed only as a - consequence of further modification of the contributor version. For - purposes of this definition, "control" includes the right to grant - patent sublicenses in a manner consistent with the requirements of - this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free - patent license under the contributor's essential patent claims, to - make, use, sell, offer for sale, import and otherwise run, modify and - propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express - agreement or commitment, however denominated, not to enforce a patent - (such as an express permission to practice a patent or covenant not to - sue for patent infringement). To "grant" such a patent license to a - party means to make such an agreement or commitment not to enforce a - patent against the party. - - If you convey a covered work, knowingly relying on a patent license, - and the Corresponding Source of the work is not available for anyone - to copy, free of charge and under the terms of this License, through a - publicly available network server or other readily accessible means, - then you must either (1) cause the Corresponding Source to be so - available, or (2) arrange to deprive yourself of the benefit of the - patent license for this particular work, or (3) arrange, in a manner - consistent with the requirements of this License, to extend the patent - license to downstream recipients. "Knowingly relying" means you have - actual knowledge that, but for the patent license, your conveying the - covered work in a country, or your recipient's use of the covered work - in a country, would infringe one or more identifiable patents in that - country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or - arrangement, you convey, or propagate by procuring conveyance of, a - covered work, and grant a patent license to some of the parties - receiving the covered work authorizing them to use, propagate, modify - or convey a specific copy of the covered work, then the patent license - you grant is automatically extended to all recipients of the covered - work and works based on it. - - A patent license is "discriminatory" if it does not include within - the scope of its coverage, prohibits the exercise of, or is - conditioned on the non-exercise of one or more of the rights that are - specifically granted under this License. You may not convey a covered - work if you are a party to an arrangement with a third party that is - in the business of distributing software, under which you make payment - to the third party based on the extent of your activity of conveying - the work, and under which the third party grants, to any of the - parties who would receive the covered work from you, a discriminatory - patent license (a) in connection with copies of the covered work - conveyed by you (or copies made from those copies), or (b) primarily - for and in connection with specific products or compilations that - contain the covered work, unless you entered into that arrangement, - or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting - any implied license or other defenses to infringement that may - otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot convey a - covered work so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you may - not convey it at all. For example, if you agree to terms that obligate you - to collect a royalty for further conveying from those to whom you convey - the Program, the only way you could satisfy both those terms and this - License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have - permission to link or combine any covered work with a work licensed - under version 3 of the GNU Affero General Public License into a single - combined work, and to convey the resulting work. The terms of this - License will continue to apply to the part which is the covered work, - but the special requirements of the GNU Affero General Public License, - section 13, concerning interaction through a network will apply to the - combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of - the GNU General Public License from time to time. Such new versions will - be similar in spirit to the present version, but may differ in detail to - address new problems or concerns. - - Each version is given a distinguishing version number. If the - Program specifies that a certain numbered version of the GNU General - Public License "or any later version" applies to it, you have the - option of following the terms and conditions either of that numbered - version or of any later version published by the Free Software - Foundation. If the Program does not specify a version number of the - GNU General Public License, you may choose any version ever published - by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future - versions of the GNU General Public License can be used, that proxy's - public statement of acceptance of a version permanently authorizes you - to choose that version for the Program. - - Later license versions may give you additional or different - permissions. However, no additional obligations are imposed on any - author or copyright holder as a result of your choosing to follow a - later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY - APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT - HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY - OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM - IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF - ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING - WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS - THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY - GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE - USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF - DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD - PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), - EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF - SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided - above cannot be given local legal effect according to their terms, - reviewing courts shall apply local law that most closely approximates - an absolute waiver of all civil liability in connection with the - Program, unless a warranty or assumption of liability accompanies a - copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest - possible use to the public, the best way to achieve this is to make it - free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest - to attach them to the start of each source file to most effectively - state the exclusion of warranty; and each file should have at least - the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - - Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short - notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - - The hypothetical commands `show w' and `show c' should show the appropriate - parts of the General Public License. Of course, your program's commands - might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, - if any, to sign a "copyright disclaimer" for the program, if necessary. - For more information on this, and how to apply and follow the GNU GPL, see - <http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program - into proprietary programs. If your program is a subroutine library, you - may consider it more useful to permit linking proprietary applications with - the library. If this is what you want to do, use the GNU Lesser General - Public License instead of this License. But first, please read - <http://www.gnu.org/philosophy/why-not-lgpl.html>. - diff --git a/Credits.rtf b/Credits.rtf deleted file mode 100644 index a91e42a9..00000000 --- a/Credits.rtf +++ /dev/null @@ -1,25 +0,0 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\margl1440\margr1440\vieww9000\viewh8400\viewkind0 -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc - -\f0\i\fs24 \cf0 \ -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc -{\field{\*\fldinst{HYPERLINK "http://ring.cx/"}}{\fldrslt \cf0 http://ring.cx/}}\ -\ -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc - -\i0\b \cf0 Authors -\i\b0 \ -Adrien B\'e9raud\ -Alexandre Lision\ -\'c9dric Ladent-Milaret\ -Eloi Bail\ -Emmanuel Lepage-Vall\'e9e\ -Guillaume Roguez\ -Marianne Forget\ -Stepan Salenikovich\ -\ -Based on SFLphone's project\ -} diff --git a/README.md b/README.md deleted file mode 100644 index e5567c74..00000000 --- a/README.md +++ /dev/null @@ -1,65 +0,0 @@ -Ring Mac OSX -********** - -This is the official Mac port of Ring. - -Requirements -============= - -- Ring daemon -- libRingClient (Qt5 version) -- Qt5 Core -- Cocoa framework - -Build instructions -================== - -Build Sparkle framework (optional) ----------------------------------- -Ring can ship with the Sparkle framework to allow automatic app updates. -This can be disabled for your custom build by specifying -DENABLE_SPARKLE=false -in the cmake phase. - -1. cd sparkle/ -2. git submodule update -3. cd Sparkle/ -4. make release -5. A Finder window will popup in the directory where Sparkle has been built. -Copy-paste the Sparkle.framework in sparkle/ in our project, or in -/Library/Frameworks on your system. - -Build Client ------------- - -1. mkdir build && cd build - -2. export CMAKE_PREFIX_PATH=<dir_to_qt5> - -Now generate an Xcode project with CMake: -3. cmake ../ -DCMAKE_INSTALL_PREFIX=<libringclient_install_path> -G Xcode -4. open Ring.xcodeproj/ -5. Build and run it from Xcode. You can also generate the final Ring.app bundle. - -You can also build it from the command line: - -3. cmake ../ -DCMAKE_INSTALL_PREFIX=<libringclient_install_path> -4. make -5. open Ring.app/ - -If you want to create the final app (self-containing .dmg): - -4. make install -5. cpack -G DragNDrop Ring - -Notes: - -By default the client version is specified in CMakeLists.txt but it can be -overriden by specifying -DRING_VERSION=<num> in the cmake command line. - -Debugging -================== - -For now, the build type of the client is "Debug" by default, however it is -useful to also have the debug symbols of libRingClient. To do this, specify this -when compiling libRingClient with '-DCMAKE_BUILD_TYPE=Debug' in the cmake -options. diff --git a/cmake/MacOSXBundleInfo.plist.in b/cmake/MacOSXBundleInfo.plist.in deleted file mode 100644 index 379e7096..00000000 --- a/cmake/MacOSXBundleInfo.plist.in +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string> - <key>CFBundleGetInfoString</key> - <string>${MACOSX_BUNDLE_INFO_STRING}</string> - <key>CFBundleIconFile</key> - <string>${MACOSX_BUNDLE_ICON_FILE}</string> - <key>CFBundleIdentifier</key> - <string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string> - <key>SUPublicDSAKeyFile</key> - <string>dsa_pub.pem</string> - <key>SUFeedURL</key> - <string>http://gpl.savoirfairelinux.net/ring-download/mac_osx/sparkle-ring.xml</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleLongVersionString</key> - <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string> - <key>CFBundleName</key> - <string>${MACOSX_BUNDLE_BUNDLE_NAME}</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string> - <key>CSResourcesFileMapped</key> - <true/> - <key>LSRequiresCarbon</key> - <true/> - <key>NSHumanReadableCopyright</key> - <string>${MACOSX_BUNDLE_COPYRIGHT}</string> - <key>NSHighResolutionCapable</key> - <string>True</string> - <key>NSMainNibFile</key> - <string>${MACOSX_BUNDLE_NSMAIN_NIB_FILE}</string> - <key>NSPrincipalClass</key> - <string>${MACOSX_BUNDLE_NSPRINCIPAL_CLASS}</string> -</dict> -</plist> diff --git a/data/appicon.icns b/data/appicon.icns deleted file mode 100644 index 908f9d6cb23a6ced8285ec0d7e0ee4aad62b31a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241889 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Û^Fr(MTx#(?+-%>1TGSqOg8g zE!k0e#FNwv{5UnJmD)>4v_yet4wBQ*KE%QR8YK(Z-X*kDCRU8*m@+A;RGJdbmR&M1 zWgGPf8z2Fle(w@q19(d?wPV2R<78;ApoR--UGM^G&TtWghDsl~T%z=Es-xO+T0pVI zZsl`Y^R#9dG;$<^3~bY%+9n86se>~x#q7{Jg&T>DR_Ik!lecy9-;)I@9RAimPX8d1 zBbl{aanWneiPO?$3#cFlPUodj%XNW9f5P9v#w1cKb*?ZBlcfHRPC$jlXo9iEVX2eJ zgZ0C7O`$r2D==08Rh!-FZ^<-;s%ZE?HKRX-xvLRggrpPxKJh`%O@2bKE)?Y7*13ao z$dyt1QkBW%L2aeU877Ct-DOU!CCK#$G)7zdIK%^;FSMc6Yeb4X6_0-aDtTA3%qp24 zGq>iZE|@}6T~UXXs{D&v6EgwHtwwgMkkUv!%BV*wi;x`O-Ggm=>qE3sNz_#};aw*| zs8!^r$IE5f5KOb2TW#wkRAZM$K!F3|`%(~Ln|CNQYYC+C%&;1iVg(f^&f0W&jj!Gi zs+G#ZGV@UJx=8}DR~DL|lc1KVG^hyyar-C13SnQEV-#XlPd3708s?ZcsSQA7{`hUq ziBU_WGROhiB6^1|5PAva)=5=thAAPCxZmaq>OsjCYg#y}DjHpQs1x=;ZGzGGQ~O2m z7SvEdLwFXX6AqeA@p_qr3WP#Spk`{I=*&X2u8v5zni7JLm)+({^T^P=Lz2?WsWE!B z1T&r;UWqSrlM=OHPpRrkeoIn@$qsyk0@UCP8JS^9R3Tt#h$`sU@z829`GrKMWSf)G zTZFCd2iT-QwtFQ=o1C7KV$_DXW=V#ddc3JZrK-Tho>T@AJ)(Lr;J_4t1=*Y(t6?M_ zkc<j~XLSCUEYaW@l5EOKjf@Cl=oZCenxWGU6(Oo3-MxXKYK{mL58>L3+8+j}66w1# zQ<0yVO%C&}1-0Gmv=F%jAr9!K2`J784L8K9t0oM3v^R2qkC6s5C{ELy8Z8vHUMdMC z0}2A!SLh4}SCKXsC(({47v)?yZnuP*tyoDym12oVgb_fGA;J)2hzboc1Z5Qfj3)nY zh>$Pv;D=}er8L+>z(qq)R^_LVD}&2x5-n+_bdzbz%!jquEmA;c$LhsWrB<snL};SI z^x<kff=X86mhOg3>I4o*vb4bni}7Gl4fLV)F-1^bqtQeYXDV2{g1KN3VRlw>M65-x z3=dHuq)`O9!f3dvN>q$eI(UCaOOM_ufimoNP|!`(7Zrgi&B@5`?dgn(M}<js6@-~0 zGghb1Hgm-}E<UDJak~7e0+Z04d4erhqDl;KL2-K%tTb4n42o(@PfkbG1=(ggxJ@_h znS-)oLlG3FCW>jgK%ZRw*<C3POQmHUtT)jH$jk{Q{Za7}>TAqNX(_bmz@~eo0mf`H zIn5GeED1W43}p&)tcYg8^eLA)<$Ohk+bJpr#H<i*iTw~*NW`*WRYhh(S~8RBMvF;l z4)6!YkoIJzg(#7<spJ|<1U5{zP{jpX%AmYJTKn|CX0%l(K_E%6V*^1+gXLFq<I{|& zm!Skg3n8G&VUo~1z#68-t`U-Bh29bll0ea>94%u3COvTjmVk&e{N$o7v9AO>NRr&# zxRj*iWR$fyqELoQCuyw76Hr-EI^<ePfB2j%#2N;=Xi`P<1DYTN#M2I36jR-is>cRM zcf?-UQ?h2oqPoc>+fzJTbU}%76WWQg<3k`M*dF{)EjM682P*)=ae!f4L>R8c`hzkU zw+_WbUXelaejrdJF=fOW6H&RdCo>c?g>uWLd#9OF(YA=5NL1)iX+?mEDvd#`1bqU^ zGb44AC=w`rTnXNq=pzf>6uZM7(yTE|q8o~V#v}%Oi!LRYnhr=yI_6p>s6>rgt<ow& zO<^z);7L(gM$NwlTNreUAU4uZf;~aII6xwlCYz&Cu}(}#0-Z^$kz5i=HH><nB}|W` zN{Jc<+zynYUokBlIgeCkmkMC=Wk<9>%AJ^EePlr>R$*sPB2*+MN5#c4@g#vs<WW#T zGOde3Nj_jdBT|pNUV&UR2x&W)WozVmY&wdOFN1Mp9wNYUvNS~ci-b(D4}gX0#Dwse z*cc{G0CE!<z_P#;LQ%;Xv3eE9I4v{Lia;>-b=1Z<1#&dZFJck)OljE^y$Rk1KUpBs z8ZV(p7atuK9Tm;Q@F=moghV!pM>XY-DsGB3LFbYsDpq{Veh#$|#d>8-qCS}JJql$3 zI#}c}QS;r?gZ!n!KvdL1qr*cZkV!?y(BvYH<`qnm$O!c()Ar1?G^1YUA`_qjaPHcr zKsswkjFbrjv0Le8K`rf=gz!nYHP9zeB2gK_^&w#fBxskouB-(c4UEw{IVmm4n63?> zD)ObAQ%ovRDq9)}N>ov?p(?STS3)+A_nt`HBFu?0MTkM8L658<EG(Ro8xzgOGV$U> z=-+5eOihSSQHLYmpp`)-%9y|cGMrK>(nd$B<MY!4DHe7SHTikr=w#L)K0>NYX^e`B zj*eks*?1wq5{xN^^#hGmDWfr=O6gFe<_IWStO2}KrWE@tvvZ7SSvezeo;&f0$TG@> z8of$`Yzuhd93b!l<G^)dd`d!WTT6YBUZ|DP(hn8i?+_75BkvCmj!%n2_=auHM7p0W zkI#z_7U^^<WPO*AKgls6HYql`BbN|;nO+p40AY^HQaZLClzv!GMS&sdMm^nt{glL^ zCQHH#EQUaZPK^{E3`2a_cZB$0m5DL2?b)<bL01+c)G1V($YKL%q$pQQ1LP^jNL;TW z_>xGmKkaMGHY$Z09nF<PLXiVgE}3XaVpMEfF2;g4>8fKzDBdD_SF4>We}o~bpx}st z6tq_hcwdqr9%2RTm0PS)LFhkLAyQyM<rF9)IzgA36A%6g-MR~@hzM5cuw~&?`N@?U z33hBP2FlMjM8~5+2jOdTa$(teH5EBnGK57(YBCy>nEUP6(kG&{43v8)9rUG8Xyih9 zQdR_d>iN7sBMO8pBp@{>RUE7V1n39}kJKBoOGAjqCh>+wOENVg>`*ew0PJ<CMUsf@ zc(m=&K8n8}Qf`+$EjvmmMaTtn)GA`Lv#`^@>DtNkOfHHROA$*l8gJO1C5@^=@Yh5{ zTO6Xwtg2u{19FMpl3_snzYP;Yz)nK5GDA=_M}bd~Xf@!v4?5UiBX~n^gDkBi0Wp#x zEe{z9Pq2$EFQ|oFNin5IV33H+81(5Pl;Qnb5<n#!79SIqkdvl|@({hFr5{F0L~$0A zAt^#fcM=c+{LjP}LLdQtLbO8g+-_kRrypg$D2Mai{*L3-oyXD*2>u;3sk-s)_!{p& z&<PHDqG8Sh^myP+z&|A?9>nwSJboY_aQ(<*yv~^)E`IoqHmUr7ZB+R?Q1QQEAC1rB zbFC^~0s+eBpb10r_-+pR>kgPl+lm|dE(q^`q1`Iz9oBn`)c%yILokmopx;KV^ObQ8 z2!BI^Uyk3TvP6A!dU_NZZqcm*kw6GuA(mWgw6VAtE%p!)q>b)AFi(gqqc2Ws2n|op z%R^(g2adT~R$z73_?X1F_>q1ibcb*9{u0*2S%!Z?Q*Ta?Av7{NDj}n#5G{T%<}D&~ zBVK7&bK;}plj4&jGuZi3C3-$+5Qg3pN*vmN^rc<R&8gamh}Z-KOzG8inDuco*Sez0 zt4xkHrln#fN-<4LEsmMdJn0TbaXKYck=fqXSk<1Qj*5y;N-^i;W|a@7Azh)ZE8Z{$ zSyN#`vN_F>>YFk%Gcv!_8G$Q!-2RNjLzyHnv8AJ>wyCuxAuJ}&m}1V%&Mzsf>}l}C ziJ*=4oRsAmE!K3ig)s-9+&Q#7Gd4MYtsK2T?)*O`@ow(K!%*GbR^Qm(-qw{Ck&u*P z0!ZQ2s`Ap21}{n=pwb7k)3U9W%uIVmK&EwSX?9_H<l5qdH3-7~niNx$Rp<A1wKQ~e zcJy=)W=A9^n=*2MQeIJ0RWMNN#dC+4l6x|&`I*_-S=m{5=49n<EG^8<%}<QYFZITu z;fenRH`@iJcK3BOb#!<2^!E3S<i@6^Wn|?QmXudkRaDmGcU1w57`w7^3Ul(AJd$hA z3(hTat}HDr%+Ae@O)M@oz|jS~Pl$>VZ)h3nZSCmm?d=~J92^=gPc&Pz@(Qk&RWemq z%F8OUTB`g=T6b<iaem=ufh4~ux6ZM;wz9N1KQ})!I%VrOd%;>ikOZ{Bh%LP%9UcAs zeH3YUbY!9>#hRH{c(tses<NuGytKH;S~<1cRZ>(|Tym8uVXn$ct`?Q$_3p23tgfPU zo3c7OyH*<w^3H%rJd^4tdOP}t1_p<LH#R;oKGl<v30i<yRSCqa1-be0*X|TlRFqYg zGZl_<Sy@%_%$|)|x2<vv&(DsJFHIN82s}6yTdHMKLp{C2LxUruqhr9EoSL2)FU&3| zx&$mMF38WaTrJG5s;R85!UIpHN>yE1Q(@m_aRtTt8gLiqX6I+drdG$~w5b!Jn}C>> zy9S0vhDOJjasSDw$*Gx{YqK*oxy7XwOjTfIMOjH<UbZ#Awz;Xkwyw60t>x9#GIgrj zx|-I*txcyL*K63;R+g!@XQzi&yC6(tFhVq7j|>ftjf{?i)XC}TnQPbBIq`f)L1{Vo z2h$~m`PtUoy5{<Z21g^Wp~2o5T;EhZc4u>EbJJmGH!j7%%()G(>1fC=<P*{K(8SmT z@W4CTvghWQdC|h+a2d>}lA|;~$C_Ew*4%Q?tZr(p+qkp6x4pduxSzRSoL;qHEksz2 zN{l;6TN|97oSK?uuDQ?7&Cf5)GmFBd<(Y<x>Px)bjEt)Gmcv$6OKWTUt(yl2d${ai z%jvk}dU0uHt%nG>whm8{w>dO71;Qv@%7w*+#l@v%G~#zrw6c<-{M<}yNqcKcYs)_H z+8f6nU%zp1u)m8d8>k#9$IB~o>(?kA7ol4=#}=+JbDs0_z*<^dVwXiLt1BZwgFzPL zW?G6`DO&4Zi?+47y`Fh;c<cK0!~MNobe&%^ZChYxe@-JjN%6tx(k#26a#6Oj47iom zwQEh~)E@J)%(+c%Ev+|Nl&$Ue9^ATf3+?d-fV<>)ePfxOpu{0mz;%vmvr7vgYiW5I zILs<<WtCmKvfN!(Mv<(Uwe3wU&4(@OrndTtmv`^oy?yH@;P%1p4rO<PUD?T^*%xM8 zKXz`JU2+G|>MBKATeYwGj#pfT;aRNZZB5OGP5S2M#@5>Hmv<iAy?cj)qJ&Y&v75^` zGqDOFt-*rhx3<VE+gEt2tIQgIb<M`C`Ppm>4f(J&b5ToEqoaw}*vK{+8k?FLn;ILN z8akgpdGO%={kwO7ddV*6+uGQPpn*7u8)6sMm=yv%`r_Hv95(OO-n?9^DYw3{-q}F$ z8VrpM4UG+r_03g_#}A)AeE8u0y?c~Qr~`EFY;QYu5#79V8C~7hylrJ|jUs|Rr_FcW zHeGBrSt}dhU~HYBwzdv##?+B|rcP5|eeccVXOAC0didbpJ+OZB#tjO&x4p~yVhKir zjT?#HU0h#Xqs(sGyw=xkD-Frk;yR}4dbPf$x~`)C6xRhjefk6tpo@x+GJ5E|-$gy) zh>9&}eTA`+wJjULrC7|mr)_=Mlv`0&#+EZ>{PMCgdpWNHla#Kks&M=4$%|*tpFVl= z_%W^)08O`V-NJ<wTaR)ub)zrEozI_jtgLU@+}3UDHk)JJZ>h4Vw5YhSu&DTINvX4h zUy2#DNO!fU=J@rC7au);{_NS)CyzlJ<qtM@Yxfb7AUcV_3EWA|&eFyjW8<xZGCr8w zT=!oaECEI#){WAN%1X8>0?t}mQjlL*k-z-;^Vct40u`7~A3u5oj;X<1zq9EHY0=6G zwcXI`zyub%&a;7C{9@OAZR^*XTiV*&+B!NrnJ%`Q>GJRFz{k#}r>8Gpzk2zS`N)%# zBXq&s_qlWb@MQ}XAmP2lI?7^+b947yrFg`)g_nI@VB1(4Wrp2GMn^_Qw?@b?JE9xy zTRnUA?)4iA_|fx^o<Du|6v~BO9^87U6?nS4u>gCD7lR<kO@QK^n`3W@S=$AobKQGt zaByH?aG-y1U~`Z+Fvtve4)r`bfBo*w8|Jmg%a<=+K%C4|&nJ%_-G6lRO9Ma<1PU17 zJwdq1T~FpI)@MK4S=q2%Uw5~G!l42CAa7`JXUJo4xNq*m+js0+w>Pg}zk0>IkU=|; z<CBMv?jB89;*>PjLQIL@chQDQqcQyLu1U)29$1=K!X;`q*S&1(lUPGRq+@^#vIAa& zgZ(4j4?cNw%)S-8dHd!y^Ge~;I#tl);pxTc;hF@*VH_A*Ul9FquyRxR!1Uz!U`Olt zhHb+E_Bm}iFoJDqu)lv`px-gz$Ne!lFw{Hq$?-9B#JtnKeZvtCQG5g|c=F<)x2I=l za(1e#Bn`0x&+RS|3lL96ly=XK4|a95b@UGOLKwIPZGGFuo9t!!d42u%KEDAB(Lc~P z+;R8ww<qjT=(~4s-@SPY#l3v>638DteYw;-HZaiL(?32n-%}cah!edqIt2RK^5L0* z_LjDe?%tlR&W<St;4n7il8IKcGs`g*teynFlldnP_RIXwaGKJSi>FbJjp74y;! z<Ubl@`mYQQ4fXf*^i3>Gmg9mzbj0|hVbs(!(b3r4+S%FB!L$oH+xuV}J2rOBeRXZJ ztGj!vC!n{dw|k)V?pH@=r^hEJN5JQU0S0Cwd->}5+pW&QzW)ARTrW7#*WEch+nPvd zJB&Y{AJ{hDS&M+NwWXz%ZF6sJZ<%M-*!4}@CeT+G`#L(EUG{GGo{q6E-oIy0`6nmG zcF5fqx}`?_YNETpm+fPEz550Ry1GV|atLtIyHYz_-O$p~)Z}RPYH4Y1Z5m+K0LsU- z<y`Z`I<z|3*52;y@b2vBZ0~8j_w~`a<5X}A%Gskph~>?jw=a)wb@V}|J-t0lFVo}Q z-`CZ>mPn_HU1S@?zqg{ksjjY}5p%J#(Y>jO`Z#NI#|W5g*)_+C`|@H>OIxd>%?s>x zG>v?Hdd9rRC@05MK7O2nU!Bai^>%i5Il3`Ich^AcP#evAx9QaFMxt7)8msH-YVCFQ z`oOw|njtWOi}mOLcsf_S=z702iIvaU;?>&RS@ZClqw`btz5SGbOm*!24k~_g{G`33 zo#`N*_70}YtFx=4w{1M|a(4)`d1qN|Rdr4ER*gq(O>Ir%3g&h1Rf><bdS!)K<}EF; zi@|dXU3HBOu2rnDrFQgBPtM;nXLKlkNbTtO=-tulv(@^}mhCpS-J`9mag*yta7Qm> zdr>u0!K<v?tkPCjRaTdeY|!P1gU4Eqm<7Sc;==s=+`<$KMm_7AE1rLS{NX)&W{1X^ z6W?Q?AHQrzYSPlY+2Vr`q^+&FdmkCY9`Qq8(MUx}Nm&_Q<!l+jy5Un^QC1HX)AgNQ z)=+$eM;KrZ*VfJVRD#din!4(SvdKR``S9KeE|^n4>J`T)Z$4(LS{j;IEZTlpuUlH1 z>ig!m&>gx*yfD&Odt*_4AzSQ*#ih8IDe=8}wX|q-9c+LPW|5C!n0Xn-xpr-O261Q& zqHh`<*OtBe5<_i*Bfr!4r`%ZY+H2~;E@@!u{iqeyHV&>YI)bTU^i=ubqg^8%m3i5@ z1x1Ag1^M|{(TWO+@@iH&iD57rKh7yJ)Xenc<iy12bYF2rSw%%@b^gM?I{FwFrk*>` zc<;fT4nw|w`?0gMzM67gQ(aSsizBNl>w4x`X4VPrej0MDdvs#Fs|sOgc3ysdUS2MJ z7UYhsE<l9Lyf>8~H{Jv@9*AgrXu7Jf<m%Out0kY{LR$8G>umGA_sMBnS#?E4WmOeZ z6HpD3AVSC1#@d{n8woQmm>cgM8=GCcHq=y-ZN~jOvYFiIoUCkX`4YH-qA<wJ^z`J! z`1si9=*aNkP~YfaZed}5soDM)?>>3YobP}y?dkc^C(iszFpU_sq`0W0wsX?9v%kgI zY_qPxvgu$ElYJAD*XCC?))z)vD{{=}(8EqfW=_V?^0he(G&MCjiHwOGX?SR$zpuY@ zvNkh6Kdbsr&e(I_*%<@I9Pd>hT9A(+uFfkgtLvV!?OeaUi$HpP^>VCSZmgNXsp<KJ z<&|~ErgLL%sI{^n)0CQ$o>DwNGYg)kz|+{s2saGomadNWmX6^}OJ4GwKRy2V%n80k z@6V4u-$==}X6KjIcTcQt9^AZfu)}P5IT_pPEW^n#lpAVxcxGmP5i!6zyScN!zvEb& z8EUV&nrG>o9vvGQW=5357-$H~V}D;yHx{4v#^H{l?7m-Oq;qh_hl%W-Y2KeS6t{Fu zEZTQ(Ahz147dr23Z`yx18oG%g#JS<w*~R76b%te}g3aySedc<^!H#`xW^rSA;o9W* z$Y5VD*lBBNZfvZttAm+USB=z{pMCoN1I8lY&3UH#aPrx`<(-3@w{PFNPDk3^-9x~? zh0)elW;Qt9u+n3+g|YehrBxd)!{6KjJ?yr}&fdX|8@FyShiZhlTXxpAvUqK3Y<Qrz zyR*HmwWYm&u-Ea6cb}ZuF_r^bJKsF>J+*Q9&KAhsW%dJ*s?c=6zJbAPm_AU*p@T&& zP0TMWQO=y3TNn-B-Q(@<Fx$+o$Nv7o;q@Cgn43WeVv#-3<O%trWBt~joF1G9pPip` z&y&w@%riFU=FZ;UKC>4@xuWR;5|5vU;`oYMo>*L1p=@C&$`^)W_Psd5Xzs{3MRpe1 z9<t}<#rbQ~<1@o&Uz~h^1(LJ9bN0;Z{A7Lu7nkqsAj{sn;u?hASY5v42PH1>vpTiB zw6?xscVLX|9R}ZIb{%^P$~|aeH*Bj*bCBIoUsp><&B_<=K7LOXw14h@_Tl97y?GY4 zOQm4n3xs|+K49g`Q)`^axFMo#Gs`P$8|)<;%<k46yDJ4el@F3j<dzGw(-R{DeZ9k9 zeYkTT@ZtT(Z?3J|>`qR;dtm$bv6rS+IBcYPSdrFeR#(?4HdO|@%ZD)8Jw9a0?#eh0 z?94g}EA!VT$A<bldmA5oe)KV?_Pz5fXXmG%vvb@)xTJsAc_||YgDc+uU=U{3wz|%; z+!zoMvqvrmVO)dIq!E>d#rc`Z(V^b{*3~~b{^ab|xgT!M^K5c$g<&^wlK=)XVs`!D zE)K@Fyg1?F0`1gpB*s3E;GCuAOI5JL$%l#u)d9$Ves*enxWA{X_XBQEaN|4(R`lWh zCrh&{t1gS*g~9?jg;7rg^b#kapP)Bf#tJ)dk?sT;oNP9ou%5N$B^TL!&G)|GrWJCw zeI9sr_TlvN+oQ{iHkc5ohjh3hIFDFboLJ<d0u)Zsh~iwt5RT2wOZy>Ul(&mPB%F%v zEVI5sH9S7j*Wa@I)zJs$jCX!^^W5+K)a=5t4QEmV+Jy8k9d2p<_u*qU7ugNi4xMVK zY?$3(YCG^OSiVc<gZ*87%o#an&URs&EHwM!^b6<k{2T%liq7ov_COQ{;7odLX?|=T z8`?Yc+6U0Tv&>Qh;#`d4O92nhg=MZRQ`wL74>aHZoQpDcfNwt+o__k#!1Oe3jljX< z1`*WisC+2?`s%{m_!74`(`ze8`u4Je`N?*+FKr*D54mvkPmB!?wX9Km2NlfTdEkfB z&*lavXBJ^}E+23SA4IY1D+}|ZBi=j|mbr!<?VTmZrekZH+2LV$fQunSD2a2cdFoa} zokM4*@3$~5aH|u+A3`dhn_Uy*bH5wH0miRT`WeJq!?sEY2CdlGKkd4`%mVXLid&p~ z@I6|^K|YU(hk91~laG(j5wo~qilb}br4~+x21X|5mR2_?A9P;f#-L`sG_^dVpar>I zD1pcK?s>Gku}LQo+*@N$$r&>p12<q<Mg4AiVtAx=>(h7Vr|-cD2I1DEK(O)UdgtKC z)ZEe<H`6gNQ-5dyr>-w9Z!T#FT85wm<Rxv+2ivR@OCM;U9w4Gd1cAbc-~rdBMn*fX zogX>h@0`i#JdL^GvqxS1ePdJe95!_UZf^A3+uz@^uQGePeR|?{lXfwXsL8vJZ)`a> z_m~4dW<e(`A8t;SfT?g1mOt9p|N8X!^mG#<5_8m_pM4nb>Fx*orH!(?L73V15BGPR zcE|pmeOdxWhff>|*gjdkn~xvd+`=+|Djzs-Ef`b<EY=KeavSNqd;a$Hm_2oXg9vK= z9sQky<1<)5V53{qMECdh54IhfJJ;_$w0Bu(6ArRMn$u!efJBs!?>u^Z_qu&+hw}sY zF7UbO2d+Cd-s$}C8X3<qbIN~zinL+#Eb2XOrt+-2zpIBE=F(Kb_|CTT@ZN)a`{U)2 zJZw22MY&Bk&9Uu)l-w_}d|+k&@%39b59tEQYzD!RFK4-liQc)hw?{|pu^Xb^(^ES} zi8w#|c(S**t9N+v8jRJoPVMbqzj^rR`bJN7oFC23>2AS25`!@W?#ObH_b1q%4>I;W z+(qL6H*dL|Ddwgo2glzWzd@pN#2kB^U<f>smz;&3pM1I1308WC#%30l5hG!U>xbJr z)3<k$^>mL1z_e8H055bE(d(<R$)O%jDXD1bn^?pN%$5|^y0SPsH8%M0{i~z57zFad zJzGxLQ|Eil`N=0wI{UhNy8Fha7uM)}!!QdoL!E7fWAx4<49Ych09Sn_j3@9CL=>1a z%-A<5D6MJk>>r(&p_#(e;PulNZ{NJ7@b8d0BZFp6dG8@B4W{hL{_bw<I1Efo4NVMo zcQ-U3)GaA3t11zA;<g4)RBp31y~|VoPpzPEIzH8Jv-olUH=LysEmfa^v{L>(@wU z-!Oo-A4fqv@8NN0C!emgjxN@g)z_e+Us76nwY03PvXYkZ%X)Er7V>kheC1hc%CKf+ zX65AOvH1acNC$EXtvxS4dV$;<)s;7H@1Wdw_Tw<B-IKH9&+asJbZtyn^70Fd=ypam zQp@Vfit^Hm!j@3lA%sg6loe^2)(kc?C@UMV`2|G<CArPdUOs>E(M#qP^M?2KE&Gl@ zo6LzA+B|>T-Ptubyfu<vUWS|kDP$#E;e{$;d10-Ub_)5sk@%vN42zZ0nU&4t_);RX zDsF%D<oUCYm=_+nbH{5GI+%BE$WmeMCs$67KbdNT*2ZUc`-&>d*~%+)m!zViysY#p zc426n6?%U2GgHw;MR7ASnQWijoPzA){f{0!d-{xd&b%P6nAb`O7J0nODBgbNZ0PMB z9iP3nywh1)gKePzAX3bds|7__E!fhh7bx;POVR0)j`lq(lj)b8m7A5vKEL<)F$z@7 zbI*@nym&?R#k`H8#`f;y&4&j~*oYaQnOj<1-)t+bMy^v)PC<(c3-Ssr4d~lBqBEAL zCN4b%Ei`5T`(<Y2WM(fvx%1$`!$(h;r=ib30`SXMs3*OC`v&!mqj$$|yF2=Z$EW8O zmsXcqM{6mP^uThEN?~*I(kjyl%=aykV0XMI0WCUdX}E9(van=XGiD#$V(wW14ziy< zLtXJBfOB-ys>az=>%hSH)Er{!)%6tz+kCaM6oN(inxB`QnVnjUR<XCPHlDcr*i<8~ zV@%T`CByB^EK_%{-@bF_-o5)E{PE)_6dYy&Z01e)yH_8W=0PCOE-bCkv}e`6(O5(i zKLF=uWm<86w-ib<$}^rMt1Kc7eO0L`=mAn%P3Fnl`!{af1o++i0H@GTpL1eiUirU$ zd3K|Dpnq&~c7ADjjkSpZz21<2wJ^URH#;-Kg4@O=w@_r%h}}p+epE^#o2*1HlsUyb zadVgE2sdxtzH`?__7lj2T1e!p7spRf@Ee)BHV=YPxIs~FgCb{Rhafw{YQn{=@rm^m zIGjcm*5dG#_#|8?X-r8^v`!pu?O=LG`f>9XsJ@3g=sbGNJQY%Tzx?Rc>;A6cVIVKA zte{}ctc$2TY^@oY*%_wv)a1m3m}u_8VvgjnoT$Wj23=gZUL<E`*N&icm&3k!i_(po z_rOkIfzMEaeKXlMJT!^S5*s9Is4I&=_sYgbrxh1uBqzqlMu)}W1}8_vgr+!CgfS*Q zG1(X&U%I%7i5wvjmZkjzq)fMN-@SY99=$6NHSH&F7g|OJCuZi5Las6{)HNH@<iXtd zc-+u0B1RXF`QezP@ddeY1|uCOwHaF>xMQ0u$>5|61>UCCasT1tN6(+V+GrlZLN&K= ziOJZ6C@U?@El-vwhT#H<P+>mTij*oK5mnJ4Au-0{VT5Pk3b%pd!cUhFs98{2??1W! zbhl}EXv}51bQ=I=VDOJk*Tn_wc2BnE#OtIIb1v;3G76$f>IzGG78Yl5gB~g?kjka2 zyEJQr)<Ei=N4FpC*9{GgO>;)eV4s4PWf@!WDr#Sd(#Lu`dwS|}%WKR56f_AfNzK@y z8KoP03seO*nhMcOZih<X@WzeXH}BoK^_NHe1EZA86__ha@ldc^T$r64>+fl)s_LF^ zNk<@dMv|~i;%OXMo*tZ>yGH3m+D5r|An@Qch2`|_;r-VgRg()t^K*+R&9N{h)+R&{ zvT$u`bg-|bx^B279e23E=CzStCmNi+urW4>r3(a7zSqIGi@?2u{hK?t-W1|yO!KzM z)#X)Mt+cO;Z75j+Zf<&XxWA#gx4!^4>u_}>xf2rJwX!leiiL3gcl?4nge-?Uw_g?z z4=<uwa!%P+Im#GY5C=6iKGxOHHc~<F?18SN1T+G<S%z)11Cz7h6G$#CJDkp~z0I4C z3u)t=CsEt3FChGc4w!YJ4N>tD7Wb*)_V$6{EN?^|UqN7qZ+IlAY|1t=JUt8J`boEp zb9?RXBJS&oZvaZOxV5}uU*nV+h%M>G+1aVSo}sY{1A-Nvt2+sS9?^F?=7z^m(L#*@ z>O}l+TYF$v5)Yo8wijJ#yl-1#*Wtne(BQ)S+-U#kRC_D}MZqtL216kd^2#2wPjU*J z1BlJG=(stmrMJ0Z={L}L(|NFsq;8!Gd2#6)7K>3UnuEXw8l04f20^m2Y;kR5Xqr;7 zG&jG!QA2N6%X83<BWycnIu2JCX>oaFVPax#u2Kgc1b;~nBK#sGZi1OZTLHQN)^`Wd zbbys%lj~Iy5W~Rrz18`-*_r8urS2FHS0l{-Kx0t)XK>!)8U(nuxma-pdfKHyqX7Lu zd82!~NSRlstU_=II{z)Uc`;CEesgQ@V5y#pknrfOWYBsWkl8ia(T^M4Qc7LjN|39+ ze=r(&1n5?}LP_+L`q6$K8aDndT9iBlEIO0i`L`$#!3Ew7hNqZ+M{_L1eggat@AnXp zprM5RdBk-tIY8Y#yy*K0x|rTGEV`JOjrae*x|se0ZO?+KUp6vfSO$&e@XY_0My9_- zK^u(+A-)pY$K-Z-*BvnBrP2G#Rh$HPynpk%R;J3d2xF!-=69`3uoitrQErl{^eXm% zDaU_Jt6Z=Fv@&Inrs?A15;9AROkTuepS$&rwxBpKjdo|xj2JN_72xmsn3CEjO674e zi7CnEqOM|G1nTNzaz`Iid2zZi)tqWcEWEx^skqe5&wWg8`pV(n-pq)^gj7>zPIhh! zZkzRUACt1MAtS|{g}~C9k-f69dCiK<os#+sqPrwjk<&NO(=wPDf#y)O*&se`7)uw> zRwNb{jaH`C3X>JlL>7Hy*fy3ooqdsLpF%fNE;Xotq|Twfj^4omQ(Q{AB|E?9YDH~T z%SfXqg#e3gB(18{oR^OXG&d(VCqLub_QneKhN{pjM!T8v-Ow5p)-W>E-7`EqG@6}Y zGH2zYbEvAerJ-@A$&-o`25TC>nsv3Xpb!;${4UC0-C`VYXXji7YAJ%RNh}5;s-lt6 zfu7;f;jz(~t4SFd*hwy{tZhW|L*-<>C*K|Bn=)KjP+q)w)xD&+d>{F`-Fs!(;T(!{ z`?-}VFnw@x1aaWl_~i7|d}(S{PEko&Rc&K)OH*@e#c+)$s7W5UdbP5o%vmZfD=V$K ziK2m%b+F58TWmAevG`LXQ^(BY;PB+cB-&c$<`x^xc?BS-rm>l62|`;zNpH0;+O*0l zs>`cTS$9;3t4iB%U3Pgm)|b}z$E=>Pgb!G(V5=D;b0fo3Xt_a4%fiyaYF}m{x{hia znp^N_tgERiY@S{osI98!_8uIyzSZ?*6OVQek<xF1QLoh{=T4)mktrUHOv$ZFlfzT9 zGuO}`gLV%DH{*rHrIpnUP1yZuYOJrVEG;)LKdx+QqT4hCjXbi3=4#u+{TsAHgO*^x z@#@xc3D?QwiB6`<<!cj@%$xuXGRw@0Y7JZQOI0P6)%6sS_8H*@tOeDTB`s~uZA=TV zwbjvb1v`c}?%%lS>PJCY*6zK&vc5BO*~Wy7!|WW#@<%6ARP5G#u%ff}^|sQQx+bPY z)ZEligDkDEtgW}F6Ps`C9eCM0RPCK@{ZCvS5nP`J>cgmGFYNWXx|o#cVnRdRGF=9- z4%3x|wIil-3{})OGA&oYa%~l0OWLtz*xkc)lb+3Pb!Ttu;!6Y?chK<ydO5KIc4140 zoDh*E8kvGu=2t)`R>XCz)rck-XYl6MTmy`!nSxeVloS@V4)z`Pt9u7K_g~y~^=;hb zx_eMFuy5LSGU%lLnzmKClk}ZA+X|vWN*?2oI5)Yn`FdAVEBa;tS6*6J)HHN!KsogE z8P}acdA^Q2u%b5w%`STbbm`%+JW2lTITp9!rF=TsO&+a!33oR~IjFko%F?2O+97Q3 z9}H;vhk6!|9-+<R;r;uU?9y(bUG{L%g@?kH2g$gz>|`9^kPoVuZ3(SC?d|T(L)DG- zH5FyW`IQ5M{ey=Tuj}yW@pH76(1r*~BB$?t$IT@d9wKK?Qu1VZ+s<ryqZW-S2(5=R zd%^n$8{LgfbsStt_b}bMA7J{U@P-HXslR{d)oXM|xEf(Nc&Z-U*L}tXj!G`Nns)7= zk^+NFW|v^^fI0Br8Ea^$sX}8@VcSq2a7iE2&+qH+WBWt;06y5geE!iZG@SsO3d7a= zb9iI>elCTE#&PSz1LroXKD!9<5aOav<UH_MYy>F!RvHGeV@~>+zMy`9;z6I#`<?Tb zZ<rTi+JiwGWGKzIZr<5`p5<zHLgwn{f<)O>u#e3U`$53rp|i81qNE_NvJWi)Jw0qM z>DleobPt~%zs3GMZM}E~D$%<`Rd)OOy+~@5@90G^leaeyX!Y%YVjVIE?4j@eL|Iv3 zUP)(9S9jO-ZcSHTtNja9b|{jo$p*?t;|^4H2W`6V=-TQ|njSb&Kyw`MA>GZxpo8^l zq{U6$?VastSD>E9b~rn=9bK(2KY4eI63*NIhrO>3h$?IU9~wl(Ku`hEMKBP-A|(_7 z>2B%n8oGwgp`{cMDM7l1E>To0L_ko$Mnweap5Jo^YxmvVclTYs-|rv4_ZnR0-Z@X6 zdY;cY2Py0d!WIDr6rU6dduTxC4?9$_CkF#$EC7nx2$7<wa6LgW1s#CA#b`0>sM%KK z7hHoGc@D4x1t5Z5PEEcPn`MO548p>UEy$D#L<z*AqA*zhC^Ga}DS!v~sfDVtLN*!N z8cn&l+Pp#t@E|3@WIS_CuGF;n?6X9GDnkHGM4ky@QK493U;z_F4V%IStH~)NkVD9) z1}kk<RD>XiqP%uRNns&`N1!B3?iPYjfD^f#o^*9D;ssyfOsdJD(UBMeJD4aGutWpp zMcN}xv7C$opcmBrG!7!|s;aV_th}0ZU}JtM>}Y%)B3#$5A#-_x4KprfMyvsvzzM*B zESJNOQbV9bzo?DaD2%bGIbe<eCu;3)gR;fgY=va1g}J5iwW`9>;^Lx0NO@zfZAI`V z*#Kv`np|`N@hK#Bh4kmt#AIX}f}<iq<ydSGflX>`bSR(#5V)V4d$=2gtA}HFO;K41 zrkD~Uxe%=cxiPsLK<upatiAsNWFkd?Ore)TV_|kfiH-6`LrU4nDIC24aJ??}c{RnQ zC8d~RLSVZ9lTURG7z4CTdi_2OAebPgiA3!P2qsb(H&W2Dh-5+kf(;<Zi-Mn|P}`i* z(ayAJSI2<*lCsjWQjoI*aye_FZU;BXy;_PEI?8~I6TX3%pkl%}492jedyb2l*#>$9 z$6%wP{ISGdPH2o15gP616o{sR{ekVW>r2YZ%KS=+p-fECE~Hd~%jCNH271`59YZ$3 zK}!7@!NjL%<LTw;Y;EoV06A=wA2@L^Ogj+ZD*Wddh(6-vZ139uyW^IXmjlNorNt$% zId)MYARqGct|vR#IY7|U(_EGZRsj%yM=r^jdb^`-t<0_L9PGjn6Jer=uweIKEO}(4 zmjmR_F^<~+#f#8@KMpR|na!nD<rSFnUkG|BDS<t>5xrc`D++ROcY<^~+RF!HF3ScZ zEr?cABN!%m2X9A9Q!@*U4TY7Jg-<My@dGWxkElSXP-NI(Cp&vPj6Deg3-EIwgOQ7! zSCfAwrkte=6!ldW#5JzxIK#vgPy~+l_D)^_E(+UFUpMxl;J0wMHZnH1f<(VLc&oX6 z07wFI5EI%TvWN&zYg-$PEs32Sj2G;vZ0&5E%rjfda8-VltmPHuuqQK^nIH}%0po1Y zFat(r>1YQ#8&^Mr?~o=MT^DP8Ll`wex8-L}Zf0&05EBVxpk;?93PJ<$FBmfPR({qb zP-6f}L1Js+*6Ls7U%3s4AY@8_4w4x3uyp`wG4>cIavMOriF^e&Df{T^Lr&kw-xy;; z4tuaWLivGM|Hw^HIFd?;2n+Xw3K?ukVP#=!n0ceT#t#Z7ssNj80%d`=iptZh>;c*A zXSW&9&31sowzd!ALfU4+f|5;En)(2DG6*pAH=;H)3W2Ssv61ixXwU!w=ys8GMX;@j znW?#-83u&3G<LpGg~L=Mg#5}k5L8uEi7~eYDN!KeMi_3|SUZ@Z^^jRW$XX!nu!)wz z1&l6A&rg>~4-k-hbq#c!V}KC+CFluBZ~!3~)4-POUeHYi0>aPOLMIzUs=`$JgJm$~ zRG_l*lJXo2D~k|IKPz$zTQf8v69^MMG8DVHst(|V0ER_H7>DUxFboG%?EI!F*a#jd zgan7cU^&P}&(I*ih#WdYmyXJsAdtqdlDeV-$}h$R8(5l}W6S~oS3zNJVPzae*ck)> zPORn%S{QXA4Gn+IZ5jxUO;cOlH6|Pjyd%bdL?t9SLoh*<fsh6A*3;F~_tT@$*E7;A zXe+M`sm4@MS5{S3R+d+kRTP>V2LO%{14u(tz-@r**d`G2zOY1>6m`%=U0F#LuoVHS z6bPai@WgtU2vTHt6NU*TfeabsUg!b?Acf@T8(^yey&s6IZJ_3U2Rr~51p2~Ml2?`1 zMrs)wgc(tpm>L<_2E_g#aKP2lP(emcQPEEUqqq@(XG)4H3a;2tumR*Ek<zyWt`(2* z@qsYX1r1G2j24CF1=aGFikj*GTp)o2ahcf#KfNG*YD2(g7&?ZBL=%7=Ftr02Ty0$~ zHKfl=!Ab`ih>k<ACNC>5qa6-opb$(jb5IaafZ?kzglG_yn5(ayqB_8%RJ3LM?v>Y8 z2Z0!vDstG~JX%#x3!}3gAhQ>A_4IVLHFa$;(a`~GwD=HO2i$DkJ>9J|rNtno4<U1D zDF{PL$x6CJ1VJWmO%i}wK$;(bV(#v)u1-E$a)5;<Q)z%L%&UWe6mwNobyby#nwGjc zpmh<rE=)W0Z2e;{Mnwc-f8d!8y4!nr_yzf)jg-%yJp;2%j1+~Wxa2vtkiZ~J05jyv zfzTQqR~Hv&C$yc5lN5lKl+R-Cmeo~<;R1jZuDm{4R$T>1!AL<-K}Fl#J^W&7A}j+4 zh$N6=C1}vg5wO<*q1ebk7ZWwfvyk!th#1g9hr+rGgbc=O7ZO|q$Q!gxP`S;$bi`$3 zB(&O*ebpm?6jN1=p@OP{0;ohzS=Y)l{Nm-yDS)iThJPhQfHEEQL3{f^8afOccQGF8 zhc?lWIVUVAAk42A2<Kyf0{}(^!lKS-$Y9ypARWGmxwC|*^y&2W^15m)GzQGL@}@9B zNzwDt$~snV!Eu)|GA_aJ?P7ck9G|cz5&_9{7~|p#+4Qi;$f($aq|{5vv7tVWCRz$o zXKZ~Ca3IEIH#F$bgCm$Q7+RQ{n(L!2<j&i4l-J^FqHuoIOqIF{h8C`VQHkl9ndz5d z^ol^S<A9D|I6-v;RKQ_>IHmxC>e%R5O#Cki7n3igrKhJRMumC#M+OA|Yyxt|wpOr^ z#27}i`g*z-Fxne5o%K{}8meny(|Rm!Uv*7oLq;HMOn(I-1B20&6v7ZZAr633e&K|w zL;(664utu8NO&Y1MG+5Kfh4~~HlPM+vkVwDrX*j4_d|pHya737Z)1sc6~?A|j&|5v zWpx-F3Mf(5;BZypDKNapT-<@=LSPV$AnE}Ck5CFFP$EF-*n>R-5lYdqNDLcN8~!P% zWK0qTA%6l9eZO?7G=yZ*MVR1VqA1{qskHXWn(A2G=9<dJO99c?xP(MP`Ti-J2*duk zsPNFQ6bQ1ghk6BraiU@o3Lpz6nH<DUh4C{cg$cd^GX-Qp0|NAiDPBl0f`##Ru4$^Q zt&YQOsHqHyibcMboQz4qq|$&)Ft>=01tPv7KZz0M6B-<Wh3pTK=^(sJlnMm=Q+KB% zfBi~yWH>}LKxq!PW|q34EoF6axL-hsME{s5_!_7QtO0)!X%P}wI0Pi<hfR(|0M;Y| zO9=KO{9saoQb~Xv(AJK%8Cq0i7$Dz#JY5~_ZJk?dYXZO)A@C1_+gMXwSK^C}Bv=!^ z>7Tm!8<8*|LO{+ClywA)2}2wVl2~8G2u$6Bumuxggej<HkR%5wJX{>D?2NLTp|1Gh zh-#pLM!`S0!QeL4R5ik|5Fv&nW&*w|Ee0DF?7c>e0F^ot<sT7_*aa~>*d-*DfuJnH z<Si~5q5)tGaBDkzv(OvmwNV67HY2Amct!x)4^#%l`=xG0GzKa|DokjwcK|^edZe-8 zhzZ25c@{w!#OxqC;}3Zf;$x6>JV72OTWh<z8falqH9@#7)%AgXVc}76V9sR3FsXhi zn-LX&14qKyD{Dju_&bicKrGY~NEZ>j1Pb?0Wk&3X*c}lC@vMkYL=-m=#U!)2qP995 zs083>YAT!3TtkB+5jx;B;9%Pj9zhyHO$iC|^#5iX*b+ZJC@Lx@K7o({1fCFe5d=qQ z0Ln59swAZQ9UM%8TcNKB0}{bdOR79EL7|b+gfv;ocXc7(iH-;f@Wc=X8(<GI6h~Z0 z3_)UoAbu%Ch$xtpU5FToP(xy{;cFH_J6hZ0aBz%97-I1N+~(TKrfBDYfUq?(;9!2K zTacQPL~!F^paOf#h9c`rA={l85)*^y6-km3REvlV`rU;X5f&H4#Y90pB*^0EXp+?k z>Ozd-k2_FPU0>kf1E?JEEy((P|MCw?{vH8@1``53<S726kocH2=SucVApt6&U__oZ zyTI}pa4~?CczK|mO~aeZYN6Rj=+IU*V9?%};P9{Yh2S^vMQ{LMFBS{mad-Ryc-oT@ z8lMn%F%gqQPH>eJaQU6zY7D#&^&XMN)79A;U0dl_9SKA*xNTtjOV*wq{=rZMkVY1y z@dsZ9S)iVQHN%`El|Wqpd4iFkVP<$VXcOKF0Ns)j+zXRLk3>%hxD|*+f_FJuT&u09 zf#Xx6aa(I}wH1zzZr=VOYvr%CUzijcf^Wq}hxmlK?<OV;nGv`XrP;NVsCa}rQe*cJ zME>Sngi1naSzKJr5*o{Ds{E>naMhs%Id*^?VV2G=J^>*S;5@(~Vir&|p@jiA!v=>X z_%VNnJyGaK=OxF)CqkEixCyxMTI&LqhZY_T5&}qJH#aNa+Hx2w1yqON=%6!!jw{>B z(ZSs(AT%Nxp#p6BLBm3Dfr~K_u_+1W`@Vsn4m)QSWF*GLr(iA<L-GD8y9pLg00IbX z7r-~3ZVrwmm6g>nbPWXO+EU|YYwL&<9tnjbHPJt1GxT(c;69hKk}V-%{1x~_DPkUT zE$?blLVO}TM}lvN)2=Nx``R+PyINnZDXXsZ2j-zSgmEQXZDn(erM)%U0|Ty0V4u(> zUb>VRpOBoMlZ!Pu4X1v<21nnpPlx2460Q~GWW*zf%q00G(;@B1H#7Kpc-X|&l~h(# z0*%1xKyW2!60KpSDuDo&(C%WAw<RSfC8X!(T}?zQ9D->)8Q40GkW3*%5>eEL6|4i3 z^C1_X2JtPw1bXNLA!Ld)?w(%u0l1R#av)GqRfz!_U~PXKTXn6wt(~=<i>DtP7!@6d z)Zx_2=~vS8Q^U>99)%5gzu}%ZAW}dAcq9lFFdg%|hK`E8bQzWxr6wi7>NkKt2l#t? zIlGrtl)~h<9OiWdU9mxnQUfRBSlV0J00s>jEo^K;%B8fl%SnkoY1otdkXQui&!8t3 z_>~Nn<}%m{DruP5djv)xJ#`{<17X2_KJMt8>Z0;eOc^muf&41{z#J@9HI?<bmJR@y zxA(vVN5(=Q5{32maWprULkmL-NKTHV+K}i85fR+%ML<snWzU{Fd-mLUS!Hb_OF*x| zp=&U{N5dINNEoJ!9EnE|Oc7MgSnF<YV`J}tcJlB-yE|D~>FGfZL0LsbOO}N4E8J=C z8r(@nQB+zIR($|o<s3kbAQhr{!9XjrvJfIBB_uFaFY_xW1rt{R<NK?taTWD}CTPqB zHC=60by&Cq%ZpW1H8fzMt){94a;OIpL{2e8R1|V&A(taAAxT(`h>;?dKW7DNYKq89 zN`Tw4QcO8nMFrwHn5uo1xbnu!`eqhk&SEk$atex&qkx&FwiX1{Rn+D60nd<+Vg$UC zvLLJ)5f_($QUSRIlO9<mNuz?od<0dADIte)OJNR+sek}LRVA(zLTL^zv5vB8kVApl zBt~NsgbpF~p(d|=8fnj9e{VQ%LGHBZ8DJDvqMVoXliDpQE1{loJ+~nLIz)7eib{%+ zLXlz-(`~M*sCPH8vV%n`@m2~NY8XiMY=l_`#Ql_%<dozH`%00Z#Ki?6876w}97cRA zlqv;fDkfjghVT%8#(>vj5aJ>z0i3QJJiD|pTF=JD)x*y}G|p577D6NG1X$>*ssiCf z`SZGvfP@vdL`3BB2rP@}%vsDiW`to0X$hIA>zN1|3(AI~3yX^&e1;TVhAH1)Sz3G5 zz}f~JB_Jdi8)K}Zh0KUxi3}7AvqrgdIt0uUAj!6?b3+OcBSL@XEacxL#3Uuo2j^t~ zC@Uuy7V|*Sm_jBbE{Eu%thBteqSVS9>Nw15LL<Uru|_JI81*f%T0v1k9w2HmBI>;0 z!r%vR=mL#2kI-o$AwQALXGFzBVLhpDc3LJNsB$p5#K1PDfUB?wxCXC4)Lc^IZsg$P z;q4DA03xvAaS{5;nyPF3!n9LDQb>V-c_N%{z#(-KAXEgT+Lp6t#LkL(W?ljy5`dht zvjL-b;u?TT2`WL9T~<^ZZs6cRC>ih{kx>zGVR{N`N{RrgBRIdP@EL9tF#(xGff82X z6yn94-X$aiIKZ>QXFaZ@5b#+Ds0@?>s4q-D5iCP1I#gU-T8K+Auy=6x_6rIDo*}ps z6&V+%3u#hN1*~@!JtHh|`U0X2L1fUuB?J3&^YfoZFm`88pK(vW2y+G~9DrqrRuJqW z=o=UZaA#pfj+u?4tCwFOpo}0;Ob21S$oMcFNf{Zymm!cU0UmyJq-a>j2q_!+qo)B6 z2iagj5neHmRAkhP6pmoOpzJIF*yUob(L(7(*Gr0RES#LZd;`IPgkXCVEjB75Hq<~2 zX254egiiDEo;X23R1t7bY~q|eu*cV4enEj#Qoczrh9iu6z81cw6@sf^3aHE6Or6o5 zP%>mpFc5yE1&u^RMVN^RofSC^d(ocY;68>pG|a*&g*f?6a043d)G3v~co-nB&5QsJ zhj2|m+JT?=<x!Vm44s`keGz|y1P7ta$VhMzdr2N%0lrh5Cl7H$D?va#ojY}ekN4Dx zV?u^uQ6XSxm^dO+2&A9;stLqDa`N+w!wt}g4}+_LZjop#BpbFtpe!&T*j1GuP7~l{ zXMpr42^0&!CzTV24jt!LbPf**1S~SZ$zlop4s`$Dv;fPE^E0o-8#tleeFzQ=#qI)= zK{Ou1aACngzV2S`M(0n#>8NK!5s=a;lEd;k3Mw{%K`@<$00FoUz@3np8#1c61YH$) zMMh3~ZjufRppex`;o(S(HEQSALc<`%?dfW3VQqOqT2&pg{|KCl7{#m;8i{f9!4ME% z1h~^T=-XF+NV}Sz(OG2g;6`xTH8atzaS6Symz%w{v6iNlw=O`_2-qh`pP#S_#-P2R z#{tAs2!f}J0%RJ}@gfSioSK=EbzN89InX&M0FeW+I|jQQ8AQSC+||+6SX<9gkB^D~ ze&R&HPutF7qCA~_2+J1;q65<FEA%fVIqhObkr;rVydu3Kz~V>_Xa~X`f>-u-bGFsj zwzifaV4q4*oCG8c>VR=jxU(DPJ0j~ll<;C|LT14l`U#WZ8;O*L@U|5>o-)AO!_89P z)IpI01_*$D5(C%<iGY2003s>oyQEPFS}rLz4FFkd=%=9c5X7gy+7{+*!T#Rf&SvIz zHX_KWOVzO96ahB0Mcyp};HEzb85JEDAAZ&6#5eR4lXqfRcpNb6hus3ZRKR*HFMAtD zv?2=<)c*>8B156}8AS!S!cvSip2A@479O4(y89dWX_Iz#bSO+9F<2U8t{N2J>Ig>~ z9)-c;5AYMk8K-D3v?o{)QpCX#;X!d}c6)vTKM@<GBnL;r1Th@4%fY^Yy>}4&4t_$` z3BV|dLEbOY)frZHKq40tm>8x4ND<U`@RKk$4GTkW7<~qMdii@R{RaGW)G0CmpaUMB zKG;MXK(Rm%{2lycm6jR_gE3#<pg^-D$Ywe)^dW$s5ZKmMG2bvi*+s-*6uyI>;NUlM zF~_77m;{Bo3c_i@z#UNsvb-JAe<&7lSUzAQyAQ#jAfb2|%_0D(&B7+Grq<$wjdp;* z9c1|ff!3zY+hJc%64Geo2nPggMn*tE5!iSHUj+~pDJc{{6b)7ZSNRHqf-=6rph(wX zP;m$x7Xa~Vzx|AaBBG%1|3fI$w*%u*|DRtl8~FeFg51~to&12(fNduKPwD^P5nrPW z+2Fr^!Nd%iLH+UdZ(sQ1ul|K6UrGNV3;*u<Um)=(uK-zMN-9bUsIkAR1Ne}L99}>g z@;@o&KYav^EZ|JwB1H~T{Z|U`2?g{65D0+hf2bnlh5zJ&(#hb2$-`&(0Ix|3LxSHh zfIJ84TTY%iNdkBO^87!c`Qtl?>fw-Cj_}(rp4J4O0Zc21_~S964kCEY=2ZOnMOTIl zJYQEMK<VV<C~EW0wKGYFV_+<UfKa|)z#bK9lWqIj^N*3x)q|U?lM#Rpa=52>J{~_m zH$MmG*y6j4LBt>B!z7CoC3qc=UqoJ*$K&r9!FGe|V+4ZgiBPNoZ}3ZmgHZ9S3-kEp zc!nPgAXqn)@iTb7Oi%zkU&#?)A0w=(p30~VkB1|E@o-=-a-i${D!!H%p^Df5Iqi32 z<O+Uv1*j8VSOG@f1n&RmM)<0Fv78nBJRE3CI7k+ufnT1-_sYOf6mdKtzc-JtO(nt` z!UG;o8^+_?3;`(pPmF-59;Tvffv<rcoXGo?{2GN>{OAS3P!G;5=4`?*z=^&;KPMO| zTlAk80fYyy-(Uh>O;9~Swy*yItvURRDFVi$LLGmApCw5B;|+L@7~y3gD^%S7v?d@Y z-%8}I;un6X{wE6f`ISX86xjyU@h%|$lkjWrd^N%iBT{G<5jXj}7gB>+g5QGbSN^qh zpaFa>FPNcFCx4eb;RS*bGK9bgziF=i3NMr>V(r%7QT=xntl}4!=RGtZe?92<`{&<p z2u4`JKlfxr9OZ9bq$mO8gzeu`{Wk)@z$$(o{`_#fZ;!tI{Az?cP3V;fb@eYZL4;E8 zhkE||s{cl16~D9u+r$1Ld3X;h?ZN_nK8lLu-;7*-<_y|X;-jDOGf0E;jn?n}1TX(~ z3ia<kM;L&{0-9{X-iANZ__KSYK~2Md`CYgBH638@&pBM<U~XvyIYRfZR|6uF-j&}! zBmCF&{{o8y6)fTf2(ZmRlluEJX!cNy)BjSVe?$3i{0fcLss++teJAm!H%K~`2fx;r z{S7LA{OT$+P_PTsU#Ac0Q^KCde_Z6>dV)08QGbU%fUTfvuiJ&txBKh#kuH7H2p;Lq z*XM$!8ZQlX>Mz<KoP(IC3k<M+Dp*-19JuhOZujFM64@^Kvv&3Gs$~^FLH{>eU^piL zg;|A8_3zU8{r91tz(4#u%@5N4$%D<-=|VcG?7w4vqyb`@S+@oVaete?<Nn~NBt)H{ zwe`A|myaP)%O4*0Z|;yWEq47JU>QGztY!S`7vccY>m@(Z`e*zd^CJ^0V$_zgb!&kZ z@EQpHzcwHI`qn0*>+913z!+uqJv|i_62<*7W&9&s5U7(;QNncE6&Y6la}R_;8omd} z5tCCwRR7O8Kv*PQ<8+@?>w0y8tE)4SiX6ynkqq`A{u2&>JUJ5H*~n*{SU>X5MgLX; zXmR{bwxbZN%Oyr)G=EqZ$bd=G(+>H4$T!z<00N^_xSn5k6a*7M6zTUFAcC;Y4(%(? z;MJ9dSs3}R-?h3hJC7XV@H|sz$8TaMKRl5VMQK<L6X&J*xpkENyAUgL2n+M&+F<1$ zM1S0oqJ;96K=L`lz+>H7|26t+#jVUOEaPXB4nkx6FBcI?=Q+%H5K9q)9N+m~ubZ_} z7a=@!iw9Y*@iPZVnqFcCKZEFfohAR7eL~U8Gx+XZB#;mN=^`Q`rM!=y{vVS3*DS2U z%*yB2-7zBmVVLl&M|<}(vERK%0tdH|Mc_X!WX2(|Ud`R_68+VOOZdKDkq2LZ_2~aw z^pOtXDS}V?aUla<zW-hNKZwKKf9d~M|Nr$rq=WunxYp|bf9u~*8u)Mf^WXO8zwOU| z+n@i1))yJ${@;)P{$>0L5%1OiCHo^Y>)v0(UXbzcF^D()4^Dl4m=@wu%T2$Yf<kDB zWb+UbaQh$U0A}^eQ+QpV|MLhOnE<IRFR!K0f3UjVcZhT=3yb(`6p)VlssBT6iBQ(# z0ATo^n}HHkyD|^+-z&7pP6EHBPl8fxK!OhdE?D;|_?lT)=aEGEV@LAePQMAP0KRjN z7XmR^np*=}tgrT0=4Y2cvhHx$=k(XJzi)~_AT%5fWuqYd61=>g<d@gNKcA{xPW?#$ ziU45RE*n_)5ooWhU;YOQg96{x1<S+sB%}x);hV_6{s~|XLX478#xw8EI;MX>?VY)< z=V1>%08#xBd<<a)_yPzSVjZf(#-G-$Em+0}BRgXQj0hrpe<VCYf9)YL1tl^)e**mk zQWgIBwS;Gfs3R2;TK#kC1P&165K&UHOsuRAbtL^`L%NBeT%_!Of5EagN|f>Xgx`_= zb{<~=9n8P9cz?zS1uA!SZk^N*#eARvnf}g2L^-&Q0qA8sVJEP^$^g<GA6;Iz7%-B4 zcPD~Ho`0P_CCcOvVKsldKCC&wuRGj7Wd%vU#jhWIWWX~-{x{qY(SO5wxj#W&s|&DJ z>8~3A8i1$k*7_g}EaOlAX2kO+20$=<v}5a4`G7j&0Ls6PIR6QGpbl&1)~)d;(4WJ* z{T=%29F0a2;L(4FJ|h1*cK^@-ta|?)`ml-f=>MJl!8b@zx0e0{SBJRt+Vxl51m0O* z*#Em@&fj-KB>nD${{jv0zw3ej-E&|P;qVK-9hMmV<@Og2X(yp=`7P-6o5(-?gjCAx zcUbOEpZ|2b1^^s8_qUoKB>&Hnw)8XT_opJi-y*;k{GTBt5&a=h;AW-YSM(o#iZlVl zhBpBI`6os|s?}fvegQy|-&y+A4XAzvrV@j`d!a%9yBBO(z#8zH0Q&x2CxZ`X@sEX> zF5_Xs^t%kehX4g%%n$(p>|eM2S3Us(1E6;?0JS42(SI!;$j{)PoP?sU;un8U1Mrn) zP<@l`e+U4EUI5_Fo9*ra2mfjWD18q9@Dz%Yl7u=PV5q<4kf3@%p=0*00ige`_Thc# zu#rU%N3oyqi@$X;q(<Xwxu8u$krPwK5@4u5>j>@v_KMH{XDECy8nWm^uJkuBWDss~ z5uf{Y2>^^NycR(lKU9FI9;VqHX4L--0FTTTh$+ZW+t58fVS#}<42|)ro7P%%s4B!L z<4*|ue=U0QRrPO!VdD*CuJ^ZH?`K=Vmk~eYNtz`z25Z#|a_FNjB;O!K;HhLNx%>E~ z?}!QT`qexMa80On|A;!m31S3r1C4qx0zv@+mE+rFVb}9-WrL?upg8l8+J<zR&~e~z znQZu{s{gJ9f*+Eim@vbzz=VLI_>5)w6^aB{q(W_Qd;+u=<`$RnBf$q@2KP@@|D6Fu zPGkklnT*ef{y*j^5E_)9Gz+&dv*nHe4uHq&lJFcR(LcTLqpbhzZmlsORlw$D2g*_r zmOA~qbnrqj61PLzwG{nL>!$i2%o2<MK}#wGJ_OrW{F*wvhtw1#Z~zB+t*7dL;sEhO zQX*o~Kk#bch?o-2+kzc+*H!hu;sCb$MdBy_B0b?H_!K#b>wkzkkXWPp2h_hm|5w}m z5aFNR{aXy-zkT7Ka`4~p|5pR+sR0WkE?yMTPWmtfIf+dhc0==p+60H5!GIa5<PZr# zuzD99ubDz0u-`&dR6$ZybgzP=ovDSj2@1u#HAr>X?wJa$P?()kHl6TZ4T+HOn<c8s z+O-V3i*Aui#^;Pl(dB%2dU*dEex9&=28w4Nste>j{dmZiiA4HIXwIMBw~5@)vwyaw zQc^kOaDn7`&-d*#``E_FRA1J+7#>h=zc91d$v4b5A~2%+?3|#UMOEr9)zHN2#c2=s zUyRSAOGuXue_ZiIn&ip#4{{u_o%gpLZQU{VVDu$ZIA!Np?B`XvS(avxi055lzsR@P z?qKrXHNR2u-V>{8Y1(FrrFjb+`SU5piEeIE;_Jjo-j}zzb#)vNl-nmv74_)w=#C=F z2J+JlPfa;-26`krZ^yq>wPmRL#Wc2}D9*s~;Y-eF2i!3{&CyHF)1Pz#G?p&s)Ed>$ zgblIJsx*ZO_f<_ZPDq#PmDEZa_>#>>FFy7nc4JnY&X4m(4~<CZ=@roqkq?o1cG>4q z%Pv_uAM<3~S=KefI+}c&g}2YyY+FS(J!V{OzVfNj``Bx@l`UQvyl9p3E=bW!bx?a3 zIM`XCm2!`mCEB<-@BSMM1xC2CsNovf{m1+~C$7>>N~>Gh7U!QCC{EQ>q+U6mBA^?6 z`;blj#kK_I&dqf$nY%jaq;7S6VDl|9^)TBy@RY1RoqixDWAO1OH2F^Vr@{^VobSjP zpXoeNGOW&Ok$8XZ9E%(shha~?lt8vZ`tgMJMse=btjBK$2Hog1IQEPD<89W1?tIa& zI|3ui=^Ht&D&`1ul-M`lDbo;E?k8GiHmvx>#bCBQyOihYrB9U7t^BQ<$u>CJ@b5U> z?R{`&szKgag^piNVRBi-`(UWzgZ}Z|i}#~fgHubT*{50LA00cXJ+^%>#ddRNp2tFY zR#w8FHlMyrUO)d}tjWp>z3ecB9gMK);4ZbjRoyoKw4{t<*+z+2K;I)gG4t+(OB<CN z3zOglqHfkrqjoPe9}OrClx5|7T=09u!qzH$Tj<{7+Lw<CR<Ew++g{VVM*n13z%p=` zK<<9;!`|#G2fYt?bFRpQqc!V(S=q01u_^W_8DIT)V+QL}&k{X@?StVu<~>#!rw%B~ z-SvD!|2AQ{VY&P?Ln&>o-k$ipH;ogYsAlhPTw!Y5iQZ6QDO=^q@r88fNg7u2H1fV% zDmMeKqv<rCWyI$yao@i6bebj4<-+B+iQ#Vi>EQ>?hmA+bw|BfcL5xdpnAe?WE6pXD zS&iS$#n1o3=7<dI?Gvxk_#M>5rZ=E3J-V;sLq5Fus^oQ-Uhca))cZ>cN)AzZ-K{yU z(<2eG<NnDV58oc-cCBe_i^$sF6!1&b`!hpJO=2#C8*M&op9{ga35=?lYhT;$J+@`0 zdG|o@gq+vA6IUZBX6hPWjbxpFLmsQlUpl<R^g;U7AR5=@hM7}+c;K7>GtX{(G0$!R zy<hNjT_#h)nkWZ1YX<i1D3k~a_H|NmBl^@xb;VTGdBn5n!vp1>BKM;Q51Nva8H<zc z;M#o6p)E->J}<4Em-U00__KWv&pksQNNbn#lI-B_GLLi+A)-h)Q(B42ymBx+b)-N* ze)tJ~*mrDdFyfAM<eAq&_2VlK(tCA1$Ey0YJb9NcE1Pp)>i5@v(Lzj-p2~Po=+vdg zM<2;HAF)SmKC%--#;5V3MLC&-n*7C~=L^)bdM{f1i8NyT$Tpu2;w#lhrMIOuKbnTu z;niJ#`07QzD*+;QzONaEpOVnP8I$+J&t^`jnBF=2jGlKQ`?W}McaBn6^~K&I?IbJ~ zI~ddWa+6)@Bz**Ryx#$x63&z6ek4x3F${jy)!fk&>bmYG+TvFW+uCA;Llmi7ft7x~ zM~^*am*^AlcZQx(kAX14H~ge>w&gE8d6D6#d0vYkT{dIs5NF{^Ms{QUqe8OH%j}FA zJLmB`$T^HT?e+ags2PEOVhTFm(iRZ!$WI@opJUXhA)6QdD8qdL{c%$7E$#*B>>DrH zXLGj$O#PSk&D=YCikfkr$VtRiOJUhpbz%FiIQ)S=P3zS7foZ`nsHZ{o%EJ1YGVi^) z=0lWwl*{SZg+x6(Jq0!%WT$*M!)`yDsuymSBUStSjr#Szi`D_L)4}f>oYg#N>qJj0 zEWJFVSrk?+-M5|dg=nqPA)bUMg*dkf!Tw11&dX$N8QF}tB^u&Lo9pYZXYVU*t66=B zwH7m>wV}BeIU5xfHF=?C!IbQrozScLGyI<ERaH3GgGy{A*;HExg!?kzO`IuKIGXhA z-DQQG1!^_@qZR2b6U0UtBBuTu40<R-uJSlPDd!aw)H$3a)pP2)dQwTvN6pd1Vh#5d zGa=XRo65@ZEB6Z@G46aX?9rQ&H#|Jt?ey$`@G6dmQ@d%oy|-x2zvJ#NjHh05eLVLu zdYZiT`K)v-b(L1p^O(``(d%{tXvYqjqNc?>-_OqUUT;TTb!VS`9_*C6%-hwimajrT zGh^-BYm(&k`Ln=y%}CQy^9ipv@4K$fs~t&{s!B;oaqnJzA~AJKn+qjxtj_vDLUh+n zIC*2kXkTG*)AWv#fd;pk0sL~l{OS$qao-o2#l=HIg<aOhWP+)8Hu7#1PZS(0?8aqO zy4)AO%!_{U8aF)KBQVFr+Y+FaN~d0KSygcHj35t}aGdyFJ0A%NPqh-BfhWbm8%4(A zA~-(_zkWWY`@F*IExTR)6vM-TGAmb4wIkhh(Tfvj>xM4xW?(-(HyOdqJCY#lyZpX- z93mi#qtP-aQ}0WutE(G%SV|qN;#b)9awXOpzx|Mu@R18p&8S{fCTql;<39DuWOtR6 za(DMlu?RZVzQPM#&aG3$p32q6J(q-LCGg&*{6d=JOgqh0Mtfu|?|X>ksMM%fTIyb4 zOiMm^f=_7diR^Z>w1$_xi}MrX!(VzzyiCSdN$zVEY4x7(kJ+Iwa^HE3>dNYH^e=~4 zmFIE?^wgFrnwpvhBpG<ndTt-ymJIRmf02IXIwtt~r47xFI`YL!X*M>hJq0OB1=<^} zxp&`p)b{-Fw9Dvb_XFOdi7DZ^ZtbS&*yhEarKZNW5dyB`hwjers0w+MoUb-D%efQw zjq3A$D9|l0qAIUME4i4{ywk6IS-eW^`tU@!x{zmoH>by3$9T<BTeV>QXuRj_$pH_K z&hBpIpl$L7WrZe#oGe#3?C4rFa~`X4CU*90XJN6q>6qj8@zzXF!~@>9%0XdWuHNrX zWGwU+57tXJRGK(CmdjPu;NQ2}N3k9@&ps+EBXhFE=Yi8lvkccE>S(zh->C@K=kBYI zCd}0i(^>`uL@=c8sJat)#%<z?3F!vSEX9$WlT~45U*3J3dQeh$`t6ex>iSM!Wr3P; zobX~<^w`rzGkLKE*{WvoXCqH!(XHOhjQS(att-#?FteH@?zR5tvO>SwN{^f2AG<TY zM9w4)O}rkjooa7ivh{sa=4|CrXEl>15D{M`UOQB{Bm0FcyO)v=ZF7rG+u3{ttCQj7 zOmEYhnhKw*6)^D~Q+Yo5D5`>gi9&a(fI+w6eG0v<eIEyIi2o3aa@W99mVIcE7Mf={ z{Q26hyaPKkJJ}OCOVYe&`w!?%6q@0`(2ox-KI8Eni|QHZDs;BoP$Jke`E>rAB+r7F zz2Y-wt;O4){UkP)J@gRqI&xPefv&2mhuW%_UdUxUU?k0Zs9Vpw^_^^07fVPJA2;7A z78a$KQT~_NHfu=*Eg4k2kW?J@Cz|JRVJS}x=XxtK!G2%7;;^W~!U7IIz_6K9ca<J@ zx^n99;3Lb~+1Zmz5)yZp_PA#&d^WeD%Xy>Z!na@@l(i)Gc={||X3w?ZCs77!MSXV; zIaj*U*4NcvkNzZ}P-`=~l9b^x@NV?M5PEWD_<8x;V|E+eh_7^uRh(R5(4JcHQ)YgR zlj7<5T+aPrx24s~qUO~MJ=YrD<?A%Qlil=E@}mLLN#-hcrBoV)r#|}k3<?*fQ3XdE ziu1E{B|J>qqENweocp-a1)PU-X1SrsSm(1nABKeZSC%u}#;i&-dU{qT5;?S8s7eox zjo4C&?;SZa#51gSBi%oTZez>b(+`Q7?drsRL%q7!daQP|9k9{R^X%<;*ywgc_2JUQ zfzQuor=ppJdIyKQIqDUXjwVIic(%uyyWoUoS@zpT6Wt?o33|8PgfBfl%@S&YxtOJK zNcz<Nr~JIvG|%MYGIpKuTq&m5qsupB-tcj(c{(HaF!okowczxY(N}S&L|jCs=Qp>{ zJ<T4c-Y8W1>CvtIQhm9CO&<k@zTh{ed*0dM`$d9zX$dD-YGl?C{<d@XNgqoOsr|>^ zJB^lTJZjH)b%EBgU5Ng`9qucg_X^n9Zl#h01oX>{|H9jMq|&vwdA?;9Th%01vJjTk zWc)!Sv)0+o*x1b&t>RL1A#l%^%VcEEM|S#;m$}k|CT<-hz3YD@?5Olhse!a&TcMdJ zJ4(E6aIW+gEk&=s4Cn}v?+Vo!`|#;tZzbcSv1047SAK2NtBpZnWnpJ?igX0<=gkV| zPLb%x$luz#@l5Q==1Rp4nSGTOsU@tU`I<eI8W-u87Cjgw*m5JZtH-@os~$EkF5h|G zVf(Dg>|spr%^imfb;1`&F0L5sCohCHD2chU6$sCC3p>r&m#ru>FSZL`VB;@n6dcS6 zyK|`XVx-8m`fJ-vGT+!AR~j2Jcz~MdXpR)mz5k#su9Y>YsmCgnB1AlV#~|DLv5&<} z`MuI}dl+ixKSdmEc==Xc*y_zFZpZ`w<erSG=LVarcdBD{Kb9ZzUrOSI!O<$&=QjiG zHoRjkN!i9GE;xDNnS^R9z1i}<$RpZI>KV^H@Xou3sRzewupU{uDX}js{e}upF$Aqv zOL14(*|8Csv_A<J4#&RIzFUNnJ=BobB&8mFV<$0@)b@#nbB{J&eR4U!Cw%ZYS2xyU zCW@ju!{LGZNaGvz;R)*DhN%Yvd%De^_73)_(r@IrD~YGqnrk$pO4)k1<z!V?M}P1n zwVu5<v`MqGJS&6h<I59c+T(hs9}SmyZcj-hnelha3D^>Y*^|1nc(rrKP}6Qoc1i&~ zq0@2wMr<+pMg4c<<&H8kX6Pqo&#Ft0Y4Pv4n=_Eu7(zeji++Ez#H+vasQ0a0EDcQ> zZ_{Y|guNfDgqcLh>6G_ep=SauHSF;T$e1!?GB6?LJa%!nYUMFiv%Ki8oY|`kwl(w9 zBf9v^=KAqWy<L{HOQ#O^RL$r;t{dbb-pQ(3qmZ=4)k59#<BL}7I<0Qnn#-p&Rws=T z`VNldH*Y$-lWc73dwnjQUpAUNPUawGG!kIBoJdNXpOF2jYH9A19vWRYJCNbq!_M}3 zall58xffk?{kpOlxuyJ56%^~Nhu*-G;bFbr>)E3Zn<fkVMw&l$;Fr^w7dv^FnKP`X z=jJY&7M#*D^;uxcsTEPK?9XE!>*d$0i&6~`T|D&pbd@^8{)!I?iWeUBw+zhmD{h+b zj~Poa*dmqhVxj1&Zge%}RFgM){*5^P1-5y)TliSbNGk>IlYpDP%HAEN6bIRY@MLoj z9rRmK_ufiv)TE4f`1wRH*A5+=i|p7{YECWZo104J2TPclSD^hEa<`O_aFvyQ7^&$O zHF7@j5S>!A!ijR+sL%YpmjRlpyR-8fDpF=U&>9o0Ou=PJ`a2VjGP0d<OCi$G4D9$2 z8?xgOy6)-a#8%Cdk1}kYHR8(5jF$)Kb*4V$%zXL6X-;cx@2Jp?-kA8v8(%K3DXuv9 z%+B$=9&X-}UeD`G0d;Zh?CbH>M{vwfLFIk)N4l0L(~$=4<f~UVnNp0|S2&+p2y4kb zpFzzKOr$aSg2I`nyvcdA;^iZcDcLZ?6jPGpyvHeTZca;he(JQ^avRArPQj&yyv8@I z>bfp9LVRU5Zq|kT`SoO}n;zYm@LzOjr@!zDrXR^Wf-W4_c%69iqx$}3Rhx3vq4{bY zzWrrWD}LN*xPNuIuqf+MURPeGlkm1f_YERsWgn*0-Ia99d34W;Ve*+-Zh1;pM`dhB zmww>xmr-6e8x9{)c!+wk>FxpfR9dbUDo)~2&49Zem82522TRLy+h_b;hNTa%<(gK1 zdcJZG*Yt8E!>5bS%=<$G&+zeq!5+=WkLQ=FQBNW!NB8CCCNA1sS1T%LT6HcFm~tx{ zQ_g65%|Jgr?efqZJFHfuYQp%OZs%Ux#|OJM4o+~>be~?~^06)G<2lr<%BD{&+cHx$ z7=t}D91^S&Q@*#W?fesy6mB6YL8h^wa9bWB{$mx!OSjuQ^_IeugpF=oZL%4zS^C^~ zHQ-tJ<%biiEk|Ov;9jIplJBLb6yL!#+~YmJ8<)8I5|2%R;5Zp)&3ra{$!Z4k$~*7o z<=bVMO{-1msr$=RicUR}`H*#S$F3>1q>Id~i3#PT?~7F{K7PqcB|6Es@7jm!q&st5 z_<|HoZ#raaE);ES;W9Klk|3GFC|;wwjpQ|JtBj5`aeqKm`p`!`-&yKB9j~EUbv@4o z6TQVxBX;~(XDjc-d@(n$%so3CV6=7n-Qiw1k3M#?<gz=SLTDnc-sSUB{lj7Bhru@^ zl1lp&Vs)m1_ui5xrLGw84<;{@TrjCg5b<nN-??0w_RHZ8chu||k@y>J*SXUYKk4C) zG30n9Yi!uRY}mX?J5_!yAKN!8m48g}Adl@(wUJX}#b{57=gm$}dYt-arpJxMW3l!l zDji&RvHD@|#5wX7b1FP2N{s1KI)&kqUX?PB2mNLxUSpSrC-sDuZV%De3Zj>vM14+A z6@TI{_d4m+b7}S3D%Kpc#%NNuoXQyXdu)lH-<WxC>-|`kwTr>2D65&0pUa|~CUb5Q z6=biwb4#S8at8_5w&FlmfBSOZM=cuHF2CAI#4MWl@^Fz>W8LB$Zm{WNWVc-X>VR~{ zLe(X^MrS*Dc~`L$L~@%S_xkn_9e6vJ%Ni0#N3&67cur4vK9R=f6*K<R6mGbu%%dmO z+RO23`!*7?H%$!atgDrs;?k<M{Ie$+gIz+SxeZ%rCAkdVUl4joUucSl)6(U+Yivbb z&bq1`x%NUyQuTHDt^An#n8`{W1?%mKb=wsM6l~N!^Vz=%&l6nP#q->4#aR?L=rQH} zI$rrxO!b%BRi<Q5IUarSyjz!dndr*H8K=C86T?Hjxmz36_Pl4lmgf4Pe~i=XtrcvO z|KVfv;%%nk22-isz0U>*pL}o{BRjbv&SUn*&PCQ6iD$1`6dc`k)<UxPWcvNOn|0I* zf-d_nT`snieV~K#<9aof#dtT(lw|j<ocoezZma83a`S3hpgM0en`ANF-7Yu4(#Ocm z%vp4yw%lh*a99_8_d{Ou{7rS;*`iBL6G0M{kqhaj#BH(iODC8<TWIIRW5>OQ$MK(i zSK7^n7Fr(Y^i+9VbuhLre5%&vBvjmcF|YcX;K5T~tp>E_QAdvz#Gl_C%-%|bx$)2- zNJCsUBy)GaQW}XyxsQ>Hx#eAQ<?Wll?0;D?^mr53>D3mt=g&C~Ih$*#Slg8hR?WS5 zRYb9Q*#32=u1Bj_UPhgbo4NUTtWn3)E)G{`myZu*M{WHi-3xT~%gQr_T-#e?d5osW zzVjNkba~*qUBj2S6X{F-G%G!VbE}UHn5;)f$BH^d5^|ks(mlTvzGS`Nm>Ei^k)Zg2 zZZZ1`rK=dZ2#%zp^}($5;_X<OxtlZ9(cJ9ixfFC-MTV-ITl?fE(giiPo|WX<5;?23 zIgs&nO!}3qjWaJ4w3f8Cc8Z*0GbT;s)OkGrm<Km&%WE<ft>bwoXwLV8wBA7P;NW0x z)iQou29tR6wqEZo)5fby9zA-#Bc4MmAsLIGN`zfr=sVkgc~za+rO5QyB5Cr(oI>NG z*h;13^dYJ`LpuFeS_U_AjvwR*j;ntA;bmvbA)Sf{Yw?ggwL*;)j*CQ3dH8orAJi5o zkaRZEij;QKC*FVCy|H9(r@vUEAhxXV$^5&QMwcqmo79_UW`ud%>^oS7A1_c99YJ^W zQlj5UEwjw4ILYrI5gG9)xVOvkkhZ4syH|BpR@c>aeHI3+be&(<+X`|`w_f@@TrFw! zK`Uf)ow<#U;gqJ7iNh5CKIU3&+<Q|Ai|7ZES7t;mZ!SMsA?9Ik_VH1s^;s4TG0vMY z9&Y3>o*6hLFvnK!+u{?*wK2SH(P&poWE;yN$MId57C+JXoT%B@=Ul}7^X<kCJumcM zvujto6!yDKM(Cm6=4jj1zD=|lc+_n`#+)SjS@D2CP|<Qj)%i}c=w-VF?6CW|FTR7b zVdX{H>uwLTGtcJV7%K~`J`W~&KEwW|?u)jtL8SRr8WKs4FrM)0$aCp(yBBB!4|AV4 zDJ)mD>NO6q>NE9}+js|+Q1;~BzIHJY<-rX%sMRf_6wmBDI1~1nP9?%)yL4GaR%5l1 zal`V$Qnijts~COb^r=2Q&jx;>>aq7<wyUOd=vOEoH%P}U<-bawCT~g0r`}d9pviwv zx$i=Q=Gge>qs<FEK2v6M(?=FzF5~_FV;wE}N=Y<T=AMDB7uOY;bHo{nN+~a2q-!-w zP}5zln7F&sZ37LXD_Lb!;-nlCe~fCLv&uo=Wp$ICD@JeVH{Uso+lbxXIu%KL?113M zy)<qmc#hFG1=oBkAByjlEF8$cM4H1UuHXOS)w{I0q2X%lu{!$Yr*G+fN7(fi?gn^N zU(va%8o+vlecFhvy;J%)N6=wux=kv>(^11-;{bmtvJ((GuGAxQP4>jjJ@YU3v!ssm z=Ra^3b&|t*Mbdv*#=JeUx1GPZG>+Df!pR`O?e1f`Mh1@S_hrl?5=(9`R*saqz7O0a z@+6<#d7ksGBGGK*$&i~zS)Xp<V%V#BqFhPOEW|}xz;cd>VVBqZ{OwJ`Qv(c~0}Y1# z)z6w%X9SNAXr=AoE8%cy=Mc3Q>>rHpMQOZHqOp{cEK%D}i>;6oE?T{s)HFRQ`>^)& z4PS>o+)(M*MA?v-hc>pZ?qpF_mUu?;=My6oR4iQKwwYpE$--Wp=jGZ+ck;2;LZT3@ zbk+xS?-L!AMPgKLd+46<jhoB%+)SM8SWNe55v@vnrM-~l*<iO<va*f3<jSWB#hsVC zX^(!)qqjDHtnjL=|5f=-l71cSaXalM+Zz$OZapU2c8xQ=6sHENtk|y9$IE^)jMv<1 z<&$pe)h*!jy3yC8TYbpI5QfeYcT2irDSS564YEyMV|_|ICi8m7CDrqj_v5dGHk=mb zG&9;j*IJGvqP{0OU^B$VDD`>g&U*uiNAAeUyx)I?h(v9Ri>@s%)s2@TFM@JU50WOk zG+V`*5an@8?ACnkG-oT2)7!O@io>^!-o0Pe#X%!9J(2Bpe`$jSdnfV4+n!w`@ne&3 zPNKTZ(7#Y<WItgQEY>d3^?FIh?mJo3JX<U;R6ereIwpX2tbdR=_u&w?>~?9TbL?2s zr}aw*Ss(9Od@!JL_SX6PXO+X~jM*J13*VCZ<=U=r?S5QlU7L<!VA@k|Xn$*PgJHG- zO2$%Un~9?R$NQrSX}2q|o804C_9v&C?2XZVroTsl*oxSKzlDW~i8<pS*Y+B#(MB8g zK0CKo>XN!;KTh9;PMYc2S(gH=YGX+$FCX8{+rm@th8NT3R`1X^y^3wd<>6#0EK&z1 zrfx@1dJYq5ja^MUqZnwx)2=l_Npk5iWysO{ZQFQ`6dl)fP(NK@RnV37w)<l|k4cCn zwy-#O7q-kP%(0s4uvD7djqNm7_b3Itdvd_=x{}KIj!I|T6^$oUw+5mzyC!?HZama& zc6jZqp6=QE*@%MXwAZJ01yP&=pX~d3vcu6?R}Z9lD(%A5re$wca1u`MF6m1=qI<z( z$qxUSeRlfj!X+BtvCr2#PIfTA|6tpD3F}y;IHHys9Qrg(^mfrQH)<bO+=HEI3KRR! zQ8EfghffNg-N%xxoS2at*Xf+TGVd1<?xex?)*@yf<;GFZ8*woc9l^|<#E;|3V&%7@ zmos>ezaibVaIfdmjEwvX%cSeq-nQ^|`hAMB8|<rgyb+uPEta~lTemFFV4mSks-m&J zBF#a!(eZ{+n$`JS&gQpI&+lF^%RM!Tqpv)aWP0Wd^~uyNI$GlUa^6nwMtO|1#8KF# zMBflSA>!a=;FwTdmU7MK4u8F8dBp=ho@WBb-m29e9SI1yrF4|B3A_Di{t3Q0Y@0}& zyv;JJ+XLQ	~C@%*1_ZO|SjHeGS*L-s2(X2PS(PR$E9wQc!Kjrr$ZR*-y@7D$rY zahj^(a>!KEp>169W_<QpUAU{y1hBJ8`9Aln`fT=SR=ycrx~s$4?`oJ`hPJ<=*r%d5 zH_giKaa*qKw#>u3p~m?EMj`wfua8h&RP8()NE)=|)$6NIt+m=uSv``QEgw*Enb017 z;MU%!tlKq`Uy-0^w&CpVW2Eg{6=hd;k)=4i3C>iNmyt9ZO}KjCqFMV$OoLaN;uEfG znbOxayVykce!9P_G3@+Y55v;zXZEIL_lLVYXDtq_RGSL<vQ1UE)fK&V#lO$xY<$-e zn{`U?lL{QT{%G_L`$V^MCePWIcf=}rS=rMTr%s-YC1&zh3>G}05+hD>GAB;C<xoq3 zP*MLWrvfvZG@braeT{pc6~rg7D4$^TK{vg7dz6MaYQwWbSYyW*0lfOUTcS5UZkL<f zNbOA<lVV-I*jYYnSmxqo9a*vIVnpIJlg<g3=`?}yXN!3}z6<Q}TE`rU>+W1iC*7bI znd&$-So>wFcB`7WtZQRG%S`MqU)Tl)oQmrT=B|$Ve!{Qb6OCRO*e95*o|gK=V2`Y; zndy@bR*te=hxQXmhHVukO`vc*lCI>DY}9J-1lLd#DY6y)wyyB_yGZ_HkI%OxupKX- zy#1xH+)SOjxB~Tjcr(l1)5UsX-M9AfYRnl?CLDSlGohU1bDnW}@1w19hZb%d`-yK= z@KQ`;pa_apk8GK4KWA_Shg*1Btb^rQc`ko(Xf9Fjd6muhYB9smVpI-AG*i(G+WF$l zFElokAMIoB*0(hnE}tek%XmQcL7*7d<4hftQ)k^h*PM}{%)x~hO4>79dg5|AD`ZFX zV#d-g-wt+WQ0+L;v%iX+B8X<Ob(fdIiyCEpVb(WwsY^RC3O+W(k8Y6`nn+|~`!y1K zqM{;q^v=vB9Q|Zdzf|tbzB*-xza?NhRAJX#7wO$*s1qzQSeQB`g*ApFmY3q&K4eC3 zv+Bi;!f@PSLACGmA=gGv`Ao0RkJ?olOY)>?UhSB<*AR6-aTmpOUiX{xvXKp$rF0a| zM+!1>Blq2qs>tfzp>LV;pfC6n`_`aMQ(OG~%H=<(^<EV}#qdb{1&e^|M{idhEnlf! zijK4wd}QJkR~4q8GODod-0`uS#?PjU<o=c{{#_q#cf0I3B-L%HY4D1h^d9-a>ovL$ zuY2ECa<VqADRsZG`0j!C(&)pw_x_XBuMeaO%raf$WMDiJEf>k-ysUOm@s|N9ohRh0 zwLa<FJ`|kIX4_4=;P#Zy#KeH9lVL)q^vMV-W>)TK<3!via|v~qa}SkYn1?KEiQOwQ zag0Tw@+L{o-lxXojJZlvL}y!r6lpib=GszbWg71yds}(&uE&)EE#^JU*Du#wJFHZ` zd!xrqGqzNOU+HQdEaG9XIIh$}x%1-I2d_ID21#OcUl@l{r{tP9gyB}L?C@2sIr6^m z@C|udZX@X_w>EGLeH=_n6LY@UB+kOrU7Rf6<`yDMdqiD?_5p+4WUB===dhLh5}(&W zR{z6$S2|wqpba`6%a#$V6W8&iic2URyLppIU4J1hmE#d*t+!=jQVH+Rkho1TYXk*( zOvIyDUbHJxhV1yFk|7>95_>!_Ed}%L$(}Pa9R6(|bEGTE^6wPp)#sr#L_e0@`Ea&G z_g#L<RvfYBshU-DoST8i`K-ZY@g9>KLB}JG4oK7=Gfx(o+H1;{JK*rPR@Uv%MmGE1 zzHR%I_()n_cQf$V+}$uZ*uS-r`if}h0dDe4s*&pvqN3R~yGLSQp1USpYn;usXL^*g z*tko5|CboWE>8U}BNEoe{`_h)^zmoiM+6(~`X~FAU&%MQ)IGj7Jd;MjeB>kTK562+ z_pNyBHeqVy)EDmv%GIoV;#_XKDNsk}`<Z#qfJ3eBE!9!$3a%vQ66xdjsGU!WcQw-S zI@bj8dQp3BJ2$DwOC5P*+xDBU$r3jlAgWf9vTsZJls#E%e})M+4hJn&yqeDT>E1Qo z_Tb?Ll$ll_r^|dlje=`7@BY2dPd*OcyeUEA!^r%b6DFH8J_s*-$n!>t3j{W5^>{m{ z6`8#;Iy_iw?e2p1YAbr_?fv|44z11GJn2rFx0{4Sc-;9OT2o2}5Z~QpbXc1AW*QI0 z_;dbAuH{E#x2zp}?W)~wrWSVT-jNHndn^_`U3{YJ{i37C+wNlfW81TYVA-vF(m@&< z5ploe-PtJ}S{J`uIFl=S&Ux^-v3Nqyo;`a;>#QF7jh1-#UNoZ<mwR5m63e7~IZeMe zW{ddD)F*zuO{kS%(<I*h*-ks3sal$ujXsOLW6{Mr71o-nzYOOd;*ahu%g=h|v8^nz zJa{h)dZ8qzeNWDL3i4f4J0;GGCTnM1*p|&GzYQI@(M?=w59+a;Q+1tucwW_~r|rhM zt|9z1Ca#U!JRVY#M#~KB+(KHieBqE_ISGqdz+UFJiBubSv6IKVq#d_PNpiG>S#n#R z@OYQm)**#%$xU@0HMz7@`Cw-M&6y5S!ActIF7m_S)o+AODr!#bbBoUligi2fRcU9t zoA(Ch^qvFDuZXf8xeo=@y1%}oSu%^-)4f%H*7CH~w%w6bzE4HYzuaaTOWCF1<3@M4 z_~hzyJHxP+_A$Cbl6=OPRUSk8GQliw#v!Nuk{>_3Klr}qRyXeS^m{(e+Svs&7kRAr z1@SAb0b<<5eC6)%SeU1}KCD)5o(`KDx$JIg;y9SkJpZ^_Lfu-U*3$C)TxE|Zf6KVK ze7Ae}@p3v2nfYU{g5{IDE_HQC9UwBPlu&TWI+L;mJ-LN8Q#G~os+bft%hk6iC1W@4 z?amZMSsV-(9p$cE@weH<@ZPci3E2zLkMFVj11XOmRbNe>jNiM(f=GDW(klDFCb2sg z^`1RT=Xf6#g2l-3nV#4!Td!VpcXOny>6j8Xlk3SMTlSM#d-8QYiEXJqmVJK%Phmsk zE+Pr7iQ}z@H*-#+lk!~hUO#M$r8qJ!yH_}h_j)vX+C$2wtAnUw*T$U-(_})=kB#4W zxU^pl{YYx?Rc7ZK?{kORMf#R`4hYLT35xiO&hQ<*aPL*Zz~$bo!2$O7I~m_+EO#zd z>-i3y>RSot&8$^cW_B-CZe198_j+SXWa4e7Y}~5v%3W=rk9JKJujwfkmrU7A3&w0t zmmQ#rIeuqC!mNOT6-Bvia=X8O`62&<^*7SOCipq@x5~(KY(2c1AaN{AqH_yxnwL0w zM!1b$DyqeD>dedsS^oZQLp0ZBj<mhqDrrx|&P%#2M4oA@sB_`+IkSrywLzCRVcKLC zc5UmQh;MV-W5;ZC#XZL7dLrk;Y2v{`b(%g#wXM;qJDGdPirx{~sK?FibKIaLbTXdy z?n{)|+nQvO*;;3dk6$)jS#GaCxMhKF+)2ZpYv4g>uUMmZ{~dnRNe&X>UtXJ#(Dx+E zO+9s}A(5@)jiogBxVfO_@ewm#>=i54W2T0rk))iH+jbwH-tNdc6^i4wch0+VVRuIA zQCfkz2X$`u%bWY_oJXl_M4Uz>?>n04U*<Vl!)teY(^>b#JqE*-2Hw>(w;x%hE>08* z9n3s&%Atfwtj)jU{na7SvLi1tz0?$PGAn~KUx#H8O$y#s7GDV~AIT!R+ZsB;<oU9* zulbnr7MuLd^yhX?m)xwP+drn+*Mhm&f0q37G<Bx*$qi(`1fG8VXjB1B78l3BVNfN^ zz5L5_e`OCJPiZr~3f0a;la6TShl?hp!JRfjX}7-^nI53?s-oIs-gKo#T;SEB`}XdW zw>}*jC@yusGP(Qy6nF9grvX~7){e_&t$pV^7ZNg@F~iS^Zzi5Pr)_7~oQ`5V;XN^w zg?nFBcD3XjyVt~Rc}9=>JLk{;KLA8PyT3fz=Hyh~bda9f9Ror1L#t1eZR4ae&Uc$Q zs;%}4NJdIG8=6J!FHP^7oLN5A(fz_sJtLvJPaU9Ee^9}^a^k@Jaq0sY%n3DSF4bpW z_kz=EgUinu9T~~mbq`xdJP`yr1cFWs;UMmgwXbvp4pjWhw*Uf*0#gHd4kIASHz4H# zFSrpX!$FYpL!f|F%(#unN}}_~+5XY-Okc?Hu~sXC%O@PvWo;KSxz_YvxTr(dmdkJP zS>e@Oi~tn4yuuhpJ<*cYr>8O<@6ApO4eOzrW!XeeUp6*5sYjLdShC7}cN@$TwZnDM zX4;5Ra2otbw8AH7G7sb{-M`eHR@_P&JZt3}7UP3L37?c5I!udnN5{6a<vRPXTNZkH zvZ9@TEdk&qRNxa#^%BYXO#g+U@N`}2dEcvm8U!48@*jQbG&d>2sTRYyDqVnyhnW-> z?cCaBmeQlU6T9`Y*L4>>^NO?2I0N#k9GRBGPT<cQ$Ab^^>YPbl1PN{gE?kOEwH@ zb4wF2z4uKW<PK0LpcfIg45(unVe(r^%14@#00053_sd-n1&=f<1j4KevG4ilgQ8>b z>2KpwK<MOv42O|HB&!mhcJ06~((S(OkL}7T9TINs3D^h$8pK8&3Y!*a)sOl;{WqBM zq`i)(8Gz|fn5jRf{}9+|Df%LPfw-!Zh<%Iuv+@2#+0o&VjK_JcRN_-$rg9oZEd06j z+bEa;ra};cLt*WdhB8J;(>xa^+lpa8jKK9^tgO)HS)^01afnBHzhJgz#j5PM&QDB9 z(L9TTESPKzf=y%!Rq##aY%rNVh&1X9qex2x%z<!dlt&)t6$k@sUqQg!mqKc4=vP70 zFVW{wKgD=gf%>k}r9GAHM@~HBz@fuSm3%~LFh(K<)ckRIZ_W#fLx5y%b(*hNQ?IV2 z%a<R}^p<D6r330zHvW(hI-VcR3(HRf5u}*jW6@FG5Gag;)t7#z3}r3oDIHi4aMiyD zPzw{~StK|)42a=K$m`X3rzOgy<YGwoxAi`%Fhr&ep$u3&!mg(!M5;H1y}2g{<lHCy z5Kc;P<X0Z~&@rQX{QW&$S)2Hy7vN>}CCjp-%sxZ|ZzraGG5e99hwTdoZO+paMje8e zz(!l)4N77Dz!!eN!gKtDE6>kyQqBg&JQu9sqAqz%|J8^-jjYhjTaPBHI=jG94`o!@ z#QNZma75q9H<eL0G1Bu*LDMdpNW&SAVWP)kU&y6IUfy33r_6W%1S1rpNhI^_gZ-nU zYfe7xv_5dNG{BdO$|C$Df6a;hkta0oM15ouTI=VYdv5m9pZ?ji4<0$1b!&9hd->Jz zvs21kC=tkfhq<+`MIbCx>SPOStb2X8z#WV*AfO1l!iX7oD3^qc^jts?<UDLeK-huR z52MvCp`MiH_Vo8>{n`td<{ft`;~9r>O8Ig{r*(uG;Sn{3Z3N`|#G2ZPu`|5F<Xicb z$kF3&-RfhCI;Go=oom)-hsU+!ulli&2sx<rA7ZM2tG7=ZjLx*jSg1Hn#!;x1ZzTvk z0-zl^PJ>gAVc|pIG!Ajn=@D@m=%L?q1UXx)P0FsG-fT(>C4J_{6~agJTKo!PNuK4s zLPDUl)SpD7FTy9TPPS2Sp73BG^7j<vGm^Z&i2Ga?b+})}7nh-a<J7~}dh1iER2!)_ z+Wym<-+HEMzyMIwymPQ_UN{SwWGUTqozc7L+V>nec4k{gCsSW`YUrIbQmIJ_BNKEq zBR2WbScDZ}SBx?UB?{XTpy+s)QIF?>0SYU(@F7rnZ|6Ss`LE?$Sb`>%E$djTK4g(i z%MfT_6AeH|t30z2Og<$g70MXtJ-U0^&*olIH5T#up*&#?!dU3TSeah^mFW$**`RjP z5AY%qK&TBuRlwv&&|w<{<>dy*aLV^oS-u_hxIF0ro8uuphc!JE0A4@RaXC&JLz3h8 zDUWt_>d=qAxtL8V?Xb>EF#78bykNr^qhF6Rx+cH?>StOhmtZ3({<>e42dw(q3o?b> zX7Us!D+Y*wCn1bDG7|a5txKzZ;le!4RNAx04jw$u`5>ByE^%&NQJy$mXxH?z-yNpK zVkoqGQv#utHwvwea%ak<qi{?|t<ZV8;#U5a0ErK&BeD7p&k=|`9*Puo8DEI9>LV@v zNMle?oV^Eq+%r2Sg<Pt~a(O{$JmZcqhEk#`K7*gMi1a+o>wf0`SS2ZowF@|f8U0HN z>nj-9Vr}|OPK@h4dh4^jGny&zQBt*o*4sgng2W(`Fg^)+JOI-*<+*t-G+TzUxR$SQ zj>EolXY*UIsa|lx7rm@OGoq@d|2^4yol&TX?d1}OrQl0aN)>iH++Rs#p)D!6NuyGn z(ps?YZ<5HvkR;zcQJ8+$&*?;6pVF|<$st$F7{JM`K*G5zXgOEz=p4-B^U<Ge={%u6 z$sL<neuqEj`%^#8QE&;K5*g_^e1g4>^Y&PDIvjEEMR}=1i5ig@k%TFfdzLXkwuD45 z`Kr%wloxR=e8M}sk*Ew!!z*3gSxv&taaVBB7Q-t**tnIKANTcIU#fu4`{5p|g~A;C zu|bG+zuwxDt<+Bcj0{ZglELh#Mkc-v#7RWm9tE?0;IQZB5vG}WTI4960;Chp>1@FU zDnmIR9Kf{zACJ??005(33pS6dBA)c?Z12>FU&{9DtVCUm%$3!6DapSg@k4Bb)8Ne0 zQBs__>x?iWE=#BDhaA|r0}FDc1x-kV;w0(f`hf+;a*@J7sjQP#*W~nceh|oY&$ml( zY#vdq?yyq_=@vU<U+PE+k41tGb%#YK(Nn(P?9PoDf%6dvr_sStW)==nn9UD?LI5x- zAs`5bP8+E%exM3Ge!3jE6nDA+5YB3$oDFM-d*#w4ynip2CrsyYXdFsSP`+>XsW!6p zaYAJ)&oC?lfYF|Z0-W(*I<UyEAFF8NuQs?e8<7&V`<y!aBBIY_gG5^?l{XGl1+u9W z=S1oOHtKWRA}L@Mwxe7ghE8CdhVlkTD_c?WT>!Yqj(P>lorzO*rlX|0Bl;SMfjx>F z0)<NmL7_iS#g!I&HY5@bm{3@fWayJ@kVZUw!TBFd>CXzSeB(@Vqc9`B3eEnK(P%9# z6z}TjOdXgSHP5_xa~qKE%>@S@OZjUZ?VZy)@hXj!ApihDQCwZ<^&=s&>3I7J+W{L= z5S=UOwBV51>Tp9EmkmIxNbD&fI<C{W0v43HBS<;wMPPXVr=;6(`u<Q>ALj!@Ev!Ks z8baMter676z8~yi_*b$Gf<|*Iv(l))CS#&E7)x+D_pf*8t=o`2c4An{&vywh5UL*n zz^j0F)S(IDOkL!gO5ngs9@PuTVMUCBatdG=%xvIHrvs^6z`9Oji;^nJzmP_NuyYjP z&{D5HXxh=%ksZ|xW=wZVm=W-}HT~%-6pSXoGbtu*NjN+J04tZ8X&6J0fKipt-9Yvf zpn+s;0|EHTQp7Gmg_~OBlpb;cHl+b4ngW^~1sSjE%(%<W)62Y@0njb_q1h9%#D^sP zbdEFv%Z(LR97B+-cRnqoBlBOLhX8=gQ$l?Gd33RafMYgJQv48&+^{HU!3f`B=mA7O zgvL1tjRcLyfsfDV5mN034C+2I?+fr$6G0Oo>v;%bx8KjVBXIm2#}E)#Q<bK7So<00 zMH>C5_4)B$eMEED@ThkDb-GcYY<}8UKnlh1eWfCcv-3?Mu*!8<#Cz#tFx6v)30#q{ z3_0VZp$d>5brCm|J(J&p6$QXT2=t3c-oL3+blLiqtGs_PqbWBAolUuzK?xQk5R8|f ziz{_7I#V6yKI)A!gh`Kb?tj_`9!7A>1~W1N;p7oE?v&>+bt+E(xDMj}F|SaX_6Z7{ zTUfSqdmx&h*PNsCg?f%-LTjb3yR*4&aNrRRkLU!D)QdklH9Cq=?ko(7NH0Rc<*N&Q zrBew-N7KhBgRvwSMdU~$6`^Jn%;6|(;c|Xl^xU!PLU3}LsFyq$0qp}cHC2a}xodq! zAuBfT@{@8nkNLlT9-$zB^}I9$3VFfDGA$)WM|IL~^_uLkUUtGu55P-)KEsF(4$cG( z<VTwYs*tLn?i5L6f`NucddfF_sSFw5R#qTULX?d$*|QgC3AZxH%VDVvesdVAS07Jd z18`VvJ1Rrg#_qrBHjNZi$abbxjnb0T&i0uyU4u(080B22D<>4rA*DgK(Gb=z#tY?Q z1SDf&SOh^F*n~&@t}K81vDl;Rt>3uo9`XZ<(EM`DV&;?6a+v+|tZn$jiP}h3-Z-&j z<@I&F4?y>lV>yFn(j9p2$mn2t*jAs;cD|aej&ztS>4LF5D{Pf8nh+MB1E3sbfKxEK z9Uuue_4yacWTOfuC)ENB25eXl=B(<`?YiM%irO(U<}dOf?Ad^+QML>MX&45+1gKYg zWlI(>(nCh$S-;l&W4!}j_iI_?a#5$sxiNvCtEaHgI-6vrglrO>u1n&Ap>q0A-n`9l zB!|uObCd~{Vd1U$$kpW|1%u<=f6ajUbz<=uXP%XfYcuzdmH<X9f^y{quSf2jw~3c1 zVZIc}+v`50P8D`ds?_wkpOxl@k|&pBgCPAzT9j8nv=R>UtvqEqkAP_B0k4@xv$(3W z?ZjvP+xy?IuQ3g)U&Y?s#DR2vIP-aakQ$x9XsD@lV@UUkkL})hWTg~AJF)tfgdPME zh<l3$sk4}><#EY?Ws5X-uJcp2@&Jv|Ga~f06Uk6v){waZC@5S?*MCzPgaOa<nE^PP z#M~v};St<QXLmL&oSX`5Igj?j!I~9?hg$g>CSxx^ugT&7FOT#t>g!iX2aNP=!OY^p z?3fG*Z_UxW5rPhoich8onGAxJ7<AeYSXPsQ7*=86<RUe#u3cUkG)ZB8ZgGMI9$H&C zovusrBVAFKr(HP}p-8KA*Fp=S?10__fPu`7wENA#qB*aNeEqz{6CREmV+c$e{FOA* zAErq0{9qTY&ig#z15eZud2_>Yr+{=U2@(@(Le;cGpNea6@NDJa;vs!PjiU?Dl~bAf zB>%{}d1U}{ZmLVn<h4te40m_5H}se$!@C8Dj?S&S6@bo9d0`NQ#lj&tB!}*0L>I7y zL;}ScI7V~?SLv2sY9|lbmf*Q4l%#UN86RbV(FGVB!1^&j@O*hyYuqsbEz^T9+`{uT zOa_2apIHF-341_MOFbKqU)OS{TbpHFT{_mQ(X(syy6muy`F7|*6n(rj=og%oPSqAM zCU!|d6>i~FIJig!bHY%L(u?>Otn*0=+<Ccx6Rk8DClJbzuhL<-NNk0{NtCw5jAq@c zwOO%4A0~lE+NHD7DbIWt7WbX{gucm@SOHa_K2yI^lNs)O#pL^b5M}r?tm<_>R3RQQ z$5GJvId0$sxBOJr28nvqXSqR8dD-bk*5B1NA|6jCJfM#94$P0syfgrM9N3%0gZ(`R z^}^3l3BQh$>!zHgD|M>7|MC67)DS^H!CFpnRL+8u%Fy}z5M*H4J?0jnQz@!2D2&JW zfDW9(6!J&~kt82r<sf((Iofq9u&VO_oDA$@KOiZ84(E|yd9m}KW&lvBBgB1uUD=RE z{KeYz+pmXym=)C7@s|(17H#U%Pf<IR(mE>Nbtsj#M13h7kda2FXwt>046-?_6Sx?E z)EThCBRGC}9Z^YwC66+qmFYiUP1>+ppZ?M@?gLX3dSOaK>wnhPf)k(kL&<YTzj+s* zd=Te8?N&L!xws!G8qt7LS+C)NNH_xyKttL$kAPLPnJI+w<AX+jD(e|&xl-qYucxhF z|EON3IwG`s4y|NnC2Z6_FPzynFDMNn&17{Z2B5g4v-5%8EZd{^{;{^!XE5lbG(M>( zh(`xIU0ui=Ai{L1q#-puls3dYFQY7H10MnqJ!}jq(-|!s4v-X*qyUllg@IuYk5hq_ zY+RdpU5gg!K5~cO8^}FpkNQmeQPea8@Btv*<f!Tc8O#_)#>TS&J==doAT<vANIGpO zC?jR?2%IRgVtQ5~B}slLXW(yzS^Q8hGlo>Rx#$^0j#KRbzy88NDGs>)$f2BP3@$_7 zoH+ade}aQ0>}L%0Ey~(-ba|RxfBosz&E}nXC78T>V&sLduu~cOPn}|8L0X=U@7bJy zoNgqPA&w@C&&Gi?fQO_6oA7vM(Spy*#s+Ievn?$->#LV7&A#xlkKD8M-mPG1<KPw8 z%mYI6#LX)MkeFK-(_40Bmdo$^z5lm%_@VFYT&m8{7kG6rNG}Nz<JFzI=qDd}CW!c1 zFWoVQFsu*%2mmqm3<0=6qB3bjaT&^kQ$By<oSB#KyArBRWh0=7k>Q1+fPydIbZGPI z@Z@yXAqCJ!DWnjr-+@;JRz^{*bw9fVGkQ>lFZ=Mx?5?h!tfpIk`uL|`>!q)pL{ll} zQ5#>8q`ZoSBi~%Wb88ilZ&-6G;=0lX+DL23_p(H|y|eFjfDG>Bd4b2cR5;(vRJLdf zScs&JJhF|l@VN4+I<kCRZ91f%zThjIf|oM71n{CDl$QMn^@WFGQ>AqIQf4c>3reAl zBSvhjhZS2moUT0dALm(s(FkiQ1AT!r`GP}URD(iF<9M)wZ8~G2Hz=1^4i07$2lnsd zn+0w9vas*s7#B6nAD37%e+bSgRcAGMDf7C%-iIt0WVo-mB$q6Eni)ti^J%1ntkv;| zx{4AfkcaI@ULYpH`}zPIHXljQAy<u{5Hg;WB3MEpXbJ!!1>~j$$AY^SFY#!I(za#* zf+0*fzAW6SFBfBQ^ikiebCq7}rThJS#6s^y2)b3F70t>i!(oC%gyZ2SqQE={mellT zSc*j4%1j=(<j=*K<Mr)H<%P-uOWjew({xMI<-p<g1Re~>5<L}J)@JB9{DGhP!A~ol z`i*l8PB#}~)V48zgUZKo&HI)(BR3m_-Xu&gf!ACYywsWH0wKTsDCz|UWO;v5Z*FWn zXc(7am5gC(mb=Qu+M2}!d#G2?UXl`?Z*JZifSl1+oqz7vnciA>=n67C)uTrxlq4X- zI7TP^c`YfQJcNR)h1vp0B1%9p3MYq92$uZ<jsWKdLs*o~HLBscc2MRese?SJg&pPm zAP{#gG-ElYxAZPwvCN~QjRXqBsE)68A$yDUh2PP!iEPoD)p}LdcvhiZC={c-{5T%~ zywa_6qLOrF&rbaV&I+yakZGj^M=MTx#LYW}eI9|+ISTs@1xWQjyIdeE^1XI`9BjaW z(|D*$6*pwaPCaQ;R?<@Fh-L%e6<drJ{R~AED2<1gWaf@hpD<}HJ}aCMxHk<?|B@~+ zW)4<jqEXHpy{-`?l#1B|AsoI9fp8?>4cBYu>XS3o!n%Q;181DH@m^qcH^(0c5FDJD zS8l$Y1Aw{eL3gTTs@WJlacru&{*>2`%v9TSh(w>UwkQOYI!{q|V5FunDBM?wLn>gb z#BunH5)mWOcqGUcM#Y_z;~?UMC}|WaDd0k&kPgb{KE{NpZ%Ilpp%<I@ZiEi_;1IwW zO)ppIu+OmGk2k0fdW`4<Av1#fortN*&>SK{9B<;0!YS&Sl$I+sX3YXlJ5X92%4v%7 zG+G+Y>4wAf1-$c|7UhVWhsp+mcn%wNMLtG?{fe3n`|zH^Q%>ES4XN#iHH)!vNxXKC zfF$8_AGi|tNYJ0+(Wj|imCt!gdNLCR0UT$8g7J1l*Hi`ybCh`&TyS5LfCE;;zcw-J zWqpNe`RMU2pZoJa`{N_Wj_X??dgMwQ4>p7WJ#Vh=qj^JZ5Nb(e(~sz5+qMmzvwGFe ziE5Rv{L&GO?CL*vsXLJZ7HcJ;1i1r(&Ua@c0+A49fCZF}$4g;K1U@IEaGsCw2a=ZX zK!-r{y9nU)%P6$#-L6+(59w%d`=UYZhWBbSaLPufptbUpHvM#unY|5-Fxq(HIe!@f zeZ}1O`-2V;Yh<Sd%n0POxz<v6g_)MS&8nDukG3hzvjnBNp}^{ovVNN|Qwh<SPwPG7 z@T`OflbBtooJ%O|Sp;eE3rxBSCuy!(`1s(44sB&CSFX(Z^>UOUeKu`cb&w7^8$k10 zJX2blt&6#7t*&HdZ+@&>t%;ry8SZP+Bh8cv4jklp#;36NdysgADUur(7YCkz>WYWS zqAY3o5|ch{&~Gxtt9!a1df;K50@em5OR@Rt=A8jZiX~%im8>io=o{L!r0;g_i|bw> zHw2;+nS0ww{M^G55Q$85G8rjf9!iUlut$IpA+lCvSCL>12aa&8N5SBq%D7s^L)-(# zu##*9Egx|q#Uq7$K6lkF#Xcdxc0C)w%REsgeRxg}$aG{KG7$Q@dDgRfWp-Rse|_y( zM}W2NM_a7usx5`lAQUd2YKOuKPU!^+trbzYV`&lPfyHom2{9)OPEYrpme&<N^s)4C zIUPUd(PS$+^yue$nTDmf)9U&#s`$mZe_s1_(z*@V2`zn2sB8trRI`1{jUIwQ@JoL! zMW<?|(WT_)Fox5t!hIq9cFKp}p8nH2hF2cxin}jt0AP01<2?6g;07kj;Q=RK_1Hkk z*N#lKdHK?t^Ya@9n5UO{X8=NZ^x{iRB}@90%w1c)oqhBJe{j#n)vLWu<_kE$ppq>i zpaY{%(TBNO>~0gJ6hq0t$cHI_DdvzxKo{&hVabo{0EW2B%O^%Wu1-)yl%P<FfVpAn zDrt0|Qht|i?XmVpvAN&h+t-_&(6WGAeuuRF*C&vCcAk7jdCn7P=m|wso)u5&<nwDO zBXy%<`uFHgT)#Z*855aG6B2opC7-a;z(pDP9{H7L*c5j?DL;p0x1VrprU0#q>z!p@ z()8#hrNf#L&~6;PWtWsKPoW=dn8k3yC>*>;*O|^o=}>m~YrY#*z(;2&)p;tT^3+8+ z_ch3b3*4=E3fl-6Bjwrq$qE=~z0s+>rn`OeH{SfFEy#mrqCtkj^U=}vdFR~6qFT?q zd%=9^nWsItamCW<@u?|348m<TdX0ZOy!_t08=Pk--7;uc1VeuUo)t)n#|VXQbaV1s zBTX&>D1u5Lw1j}S@_?T_DobHkEG6SbAx*u&V@MURSS2H-Lq4lk>O&ry?)U4M^N5O6 zIV}h>_6JZTDOj%H&4$t#;iY6eAjECKrbgU6+|cPkeeF_4g|tX-YPQtSk2I&dEak(H zfU~L59b6nQ<{-D_{r~_#07*naRA&R=(H{Kqz><xb=z$g+5BXt;M6~HtoAKca?N_<e zPCv`vN;s%ne<U-i(lq#s5?c{Tk#fRE_$9E&*XZkMJm?I<#h}6KG#ki`Ej{KxfyJEx z0V^D{2qZy$gf&rJs>XQ)_;W&@$I@T)>wOEg(aFie#iwt6aK)m5qfn(I=-2^)x2B6k z=Z%|l7=7N*455|@38ufddHAs%Un`t+<~EI{=jv2kO+uxI<gIVfmx@R<qm+AE!bl$r z5m9`l$Y+Wu*%c__f#~AMPgTkbXp}$4=`a*23vu-bOFnT44nI4kIUi7kfn)sOZa|~h zoz?ZE;BvjzYf6gDSA{d}3yjDhVAS}gA8*gKf~kB?uh0l*F3i-TIuKk>X&g1Qa{x{; zf{+Cr5lA?ls4$==8zljRganhayq^Fi=znCpjDxfbI9+(Ye@f>THmqHpEz<q-qgwk< zsQ{`U<=_jY;JAE(6ilh+8T?S1=~a$fY~}&4bn_;-5~DX^a8N988P3Szz3PHbK&gSQ zA2^aobzKC6U!Y~J^{cf;t-rggJn`uEn~xnmI;z|b?f>!pa&@sQQE+~_d1(L=uM7Gl zxIXw>Du3$J|2T8~Sr^>bKQMT1b#kJqhc&Fl2n(`=^|q2)Rx}}2dUSn=7>de469kOA zST5s!q&x`-jD*Z-A%x&0oqUItN4}w~eC#6tB14es2S53gQE8Xw7;lFj>KQ(EMAQA1 zS%;qR+r4L3wrayk*}fA)e!icPlkW@QgEOg#X`;ruPDFUk4qoaoaw;G<>I&LZ%Mfb) zhf>p?95(!%!Z2I`OBybRb=#H12u_yy*Mflnm5|c1X{L8*Yac=%NnN|nZ$^H2=tMT7 z^fu+!1d49kCAvg%=q3#%l9V6xW-W27w26VEGK_9?0Dw-p&ZiB*b0=_7re-bli-N%N z;{pofSB7ksCov@GufRuLwFz6=ymn2t^>ZJ;_mSOubfmkZ$;K_Xl1zeWUb%T`0OoR7 zjOUC@_KK@6|MdNLedk8?9Y;LqH2sAj&_Ouh5So~DA{OCd6-PHK&r+at6{b^jnY2<! z7$_66mpWZ#tSHnWcszs%BLgfnw1kaJr8vj+1Pq&jo!T5bu2*^MXmhq)U&cM8M~0g^ zFF#Y0F-x$@60T4<aQaWt4t?#1QP#(TH4^Im2$4s9%J)c1S^gjnXTqQrnuuZ;1D2T$ zu%x*y22f0N^2bR=K0eA@hiY0jR9PypETP?$0UxmNLu;4O;mK@3pZwmu`Sk3FzFTly z<(c7F0Zores4V2tR1i?s9cKDw=}DRHD<~u$cto)}61t5<<rE4h#HPi3q(~TymR(VL zU{V>;(=^K^3kiYDD^vZ(WOb%;^5VV&YtK9PtDpMlM|d^3ddQCA^U}?G1E7)JtIR)t z-+S&@{;U^{?#i-W8YNLcRpcijQD?@CQJqYOD{kSZ!y{tBL4=|-J}@c|>|8j5P(u<d z`Hb?2975?ChT>kY3Wvl^f53up7M6O5YnaRm+6S1>yZlzI-<VYo?a!7;fq29>cWnG| zyQ!u-1T$J9%xL}2k=p8%_5idD<$He2a(K|DCZ$8^Jr$M|!w1(RFL;tiqm5BVa7sB) zWf!Ao@X*GPHj#<10H0#xrK7x~p{P3Bbz-qi#)yqrKJ|@3;uBvron2VB>6EOb7k`|X znewRb&JhmND181iIcBaZNwmp>Zzv<&<)GE9(F!`vU%})Cybe#zajs$h;wtkLS!RdZ zBv_K%XfcPn0>3CyU0gJyEa(_^y?@a_acajy_y5_S{Es~<QJI{YWC<!ZQEGm=SqYnG z^h^27_e!}`pRU&nBZm(j__1f4d*{19ee*RNmoKRfPfSS$ON;{m>OFFdPU>p+uo_F> z>W@C=!s$LnFF+6$Put;%1cdT2qN@ZTf??G0ZM2l{S8ypU(1Y2iNYRKH_p}kHs4tW( z#|1PW$0$mH4r^PZS6di+9^LNe1X`c+LSv|l%8gawl5R+q^(ZazoNlsdi+vS=P?Gec zXwa2}-thn=g*+nyRxyvPBnqGZAegBBz=er5Ig%oH#0wgyHPs)}xX7IZzXy>5GG5Po z?zK8HSI!QOYvWOQ%m8ZO0AFeo;Yh&Gr}fk&YFu}VN+3;B@HEt$u%Pu9R|7$9G&)Ko zT+tG6B>d2#MEFPxX;{bvFJaL;3T1G+^h&qOPhNlXpFX-%Gn-P}m5EB`?RDN7fDnkR zpp$X*Wyj7(9+|xT;~%|g<(kdc=x#t=XXPshAi_g8YaiRA2z`rq@E_Xh9(TuEIV}Vs z05PglJYZUWWE-z8&Tqk{xIpZ{>DhxT48>$*ZQ(M!gk4I(C&X%#wQQ)TKPzq6q`L#W zaasZ_<AAbxgwv>MUuKF?m$op9`Wbf~SdsIXFOrGTZk&ypp-~W;9yA0kK!gEIszicZ zz`AYlz^G6%%Cq|)O74wG;Zu_GSPE!%pqT-;&3IM$Qr*oc=n?2g^}&)!L7@C>oqP0G zJQNT7v_^Db>r$AyT8gPO_=ciG1hB2VL>~%FdQcfWuu?~nXp;&VMzG+~f4GF7WL)6T zE{AaIgW#prr9%CG{ox1xfjrR%^t^ZT)&RhHlpEpf?Ch$Y(DZp}v;OVEn$`6?@4LT! z$>PO&*~YXV;!<zN^q(^RscRY45T?8vl@T2plSW69BmiSW0xW_?x`87eN|c0-bdq)P z$OgR2DP8Vyu*xG2916vE@pyH3L(}K>Wy`g3W<+2L9N@-*4^MwCuefj5ahovFM*VEC zIj#$afG7%%i?w>tjG+jO0Y`og8|f%ann5YYED-;kCuQc3`;<O&FZxNxbg>uFsLW(1 zopMUn-rJKM(&nFe5=dc&DspLugAcSxg%h3jQ=72hZf`4BfH@DH7Jyt$Wa1N18v*k< zuM;05B!g-ISuf=i^U}>_i@F<HD|B~t)b<Sxm4D`<%kTKxKRvJuaD5xFrcG!S5k+(A zA#Xmpd2Im1X!o7u!nXrA4EEnv>1cbP+Gw1u<E460P*b-9W2OJNPI1Repw)3!Y-i4f z-Juqi7(sx^VG%$CB`*i8!}1v^END4Q?kgRoHL;XUu;8>psD8B}mK8evSI|1Su91_& zI4oPNpvw0i2DE}NIqIfPa05w>!wJMXmSDjH0QIs>m^;c713ycLq?ZX%7)07xR$UtO z1sk>H8-6(+sAbv=EK4E|YcXv;Sx0{l>Nen{(s-X9AN~kMhL4m6A5QV`oRTk@oJ)p? zgI3o8w^UeFB^=5~goj}iR`Lx42I>SB1ddtRW7a|jsxKJom%|4)`x#@CQ?(5%mY2Ww z(ZBxt2OfA}Qd6%^?Z5CUu=%b1YJg=z{=9QZ0p%5n<9bOZ4+6aFJ@1|AI=pYoGCgdf z4Yj6T6zEQ*afpD04gt{5>)X85>S=d9Kyw|!BdM|Sla55-`5J!CKm-k(bBzaZjsvfJ zU@c(ZRljOcSqVSenHn{lS_%~P+&N)J)i{P4!t7Dd_>9sd8K)|9`=F8b2-n=W(=6?w z2rdX5@ClZ7qT#+rE+4wQhk(}WpZy4M5~f_MUg(jt`3d%NM9wsvv~I0$a~{&+BHEES zE$F1|@;%~;C)8(c28SWIxE4bbB!&?{VTt8+I>S&(CSn*aqRY5Ro0G0!-~l}FfJ-J! zZ4@m^(}ttI{#D6FC#Tv@TE4WotXaE%M7RCAI@+0=874f$Fv=)CuUsy_^M+`%S{Df* zKl-7`ha@Y!Y*WMN6{nxPwcWiR)(sIbm^+_dM+BY7wdH_QreQrQCjoa2%CvX_L`MVZ z4Ef+qu(?mZq{sq-U;t}E4eMH52CT&RcbSB@podMo?l&3?kj7dQ4O-#Ki#aW57O3mM zr<xpNgi}=M!3$s$9zav=ISmPc@loC*y?nPEApKI+j|-C)bV_-&2hgt9oo!yTIvdtq zju9CTnKZ$J0Nyy_@)1b}E>AaTRAe3!l(fbRK~c8A<$J(ZT2Q4nxtK2e1E_xrxUU?E zz6s+2E&(LmoL!KeGCYjt0YE-OcT!)^=(?p#_A4jr>g=@MXp>n7IrTF3aPU^BOc`MF z!nq+o%9JLC(uH<8x77(v{YvV9c5OJZ4_&Bgq}se}>EcUHUY`x?Ewj8d!{6akpRi-E zvhHll1K1D>(nEAeh<vBHx{#ebUlMLY=HPMp)aS;luxAX`5aDRSM*Sc_k@&+%uor<~ z=6Dp+p>s7y&j|Ph7eN)G4Ki}^9CE;Ts5$Z-B52$m&>dD(Ak;~DB2Fezfk^T#Hb5fV zFo3#wDUG~5O`riwAUP=H_8$*tt=H6lKrjB-t9KXrHCrkeeZWj097S1rfQYb3qmm?< z4D_xCko3oL38KtHTSFy~C}5`&1jdyF=M)PN`!1<$aa-l6!?jaR1TY&@C<+iLm220Y zwyE!mOE0|)JVQf6KK?sXt(9~Ow4+^?PM>7gVWBoP&sG31(Gbp&AJL1A@{byAX1{m` z2ay=wq$@>7Itpdo+|zWwA^|JvR}=GVOBM|@H*H+s_@h7hv*#^az4CV+J~q^I?}5Wb z9ii2%T6f4nlNy-|21@5tCn%G+1%R+S&%zy}#%!9%F|2O^f)iLS2>0V~MV-b8Tq3|A z3L93!8+GP5Ne`qx#h_bHOiI~prwZesDg`}yIoSm$WICXaQLI&;3qlJb9)65`Q33)e z<21v9J>}(PgwAbLa-IvQcjHr;Jl`b+M4vtLoU^mK*3dhq<1uG1yUc)SP6UHbW(0+; z-Ki}CKm@4Nw;Yw7&w$_)djV8$7+0(aFv)u4>CxAbM{cX1Fft@Vul(4<NpPx{!&NhS zj$*~4zQXPY9x5zZx$25@&OBq?kH6$4Cw4vh$nl0Y0`xk%+Ogv&^Z;i~-K0;xR4RV3 zQJahIN-wKKh#kcJh`F3A|KVhbLD1l7Jz<2B<Cl6CzBn;C*(OES7Prp0s8d*rzUt*K z&qhW@P9Cc_PkZ(2U;m8TAA02a$#T~@UwwE-`zpO7aI&W_8{&O!oTKNU3iCRY6!B11 z2(pzW)kWtcpuptyLlI$*=;SG!=g&>c@c`m*f(>Dfwzz$%exnKCR98X`RTjpmGaDbx z8ag?rqjs*^3Iu%!xJF6a1+xugPVy!ma_#m7q{943!1ZHvqeyNLJfd^4BQIbh6sav( zMV%`I`C%D_T&Ho0Af8vK>bZq=dUe_JFS#VUZ)_;ruhW9O_{7QpN~&{#sEedos=yr} zzRrOK&d&K<P-gg{c2T!{W>is{g2cJTnC^O=7O>DmHsx>zjRKYhzBk1ai;E>ckKFs6 z?8xwNbM5k_h1K01^+j22-?<ytZ&};b@x?!R|L;F=;rUOy@9r(%I(GLrzgehMDtg|k zDp4&~G(FI{ty*J7GoqGUSr`zNpfPIykGaCF|4<ja2*u}xktm{^ZgLm(1Z<rz0ag3^ z`kKoYFDmTbv$ygqzy9mz?jIg|Vegvt=N~Ipp1y7O{^bwvKadslez|6CrmpAB3)%}P zcI(MH-o5WrcADc^_yV^C2F52raUY~GH47$J=-ek6Ns5t#U>J!&lW@_Q;7^^J!xE>B zHW=WhPy%&%BX^REqgbr@8A0p18<35S>PWC|a%fE*mMhh#!c-UN6o~(b6HZ`>90P^` zDmVw0>SIKFJY7CW1Sqr`2Gp1y5TjD$%_<-YOdHvcnU=6$d--MAV!h4iuAw0vSdxk< z&m|K-TEb7FD+s*i+Z<RjDG7)X%!L&kM!*?(VZjYeDV#Sn<<kx?aSTHVa0&`~fa6av zfhO*f%!uy;x_vpbZ(p`^`=dOf-5eSj(Y&*+4X3u^jEwUlZPspHx3+%4N$Vb&+O^~E zzGCx>JMO>tv!DFLCyw^%t<Q%JAJGb;+@=|fDv%`!yX`|n>JL}l;spf%kR1g4&|S1! zeFDebd)`<nXd2bdv|ei|y*X;8aQUT|GzS+iTEFJx%@>|_*_BuS{a0_l`gozdepHKs zz5DmsuJ`tIS9?1<bv(VUCr%0_eI-o0&w8Gox3+fo#%?&ZpnQ2}!*};~j5~y_1oAzK z%*hW5kqp76GI^SN58QII%0(`)c!<@Ua&zi5EvX)4*vcemT;NJ!%>tU*dA1P{oE6Vd zaS0k`uhdPg_`%v}V{U*FyXO>EzCa<ZRRpS?7+|4e0g%I*X5b>=5t#e_(>evXYUPUT z`pYiM9-0`-cI#{cr!a#PiK0|jt3RMr1U#<YlyMUhu-lZ#7A$;C)J0BG{yAVEb(;)L z8KVNR|D6was5??-Wdu2>D!o(w)Q(59-A9gb_Fu~@Hk^HjLm#6k*R;pf&_hCP;}hdW zK6AEi$>OYgeCX&^XPt4&V_UxQ>Aep>@b#&wnaA$B`|g642kOSER<nA4b)_;rIXOwi zc4~XH*0kiQKX^aq;t#&2R72`y+N<4rZ9&L1GF8%YYG%cX<;|(FvFyiQ_@X7Jo^$SX z4;(mhUGFKUU3T+5TUQ?#9cy;=_UVfNH3p|zuRbWD?y6`brXZuC%^dD*Yri00@aq&^ zW!VZ@eWj{yZvrAT@gJRTo+AfoN*I0MO(`py;`uaQKsFM@VVaKy(^=rBeDa9{JJ+{x ztBiF8ViHU~+9|~}Cf?-P@`a0+W=fHox~I-z9|Sg91QkJ(>jR1L;_F}agaSn}6~H)e zxCtab2$UD0_^b=uc|436wVHS(!-I&MMkVur5dFzi_nM0@&ep75n|=Mn(M%t0RArP) zWig8I2O{OWJh@I&AcdiT_HaTH&}d`Om9y6<<Kk@SgD&dJd2N~<(K0}&s2SkgH%49D z&xt1Td>d8mSt_1?`_8-l0#l_aONXWOz6qp_4Q7^;?b@)FPS^FkKy7Sdvc!WBRVjDB zo*}sO%u^0bJo4~uClB;|ZvUg(KlAy|e)ecrUw`x9!Gi@h54E(F@ahc=Ob)z%C`#t= z0&;(lj`shsoccN%rxBi=;x@e^3O%c_K7aNVm-k<B_4BUm-FWiLK7IQ=&p%#jTe|z$ zalII0G+VNC=}cFptQmf_(qI!n-M~BY5gu>0s25Oh2{m1*-jf&*(s%O;dH}_pNrGJ7 z@di*CQe*U|B!Z)|bbx%rx)eZ>W_U$gFyH_-<p&)307W|aq#HMNfGWq^%8LY-%k$)W z3adwiJqw7FXPyNB0uC7HZ_+4|pJ1~RKz&Y^U>MOnNGgqTs6f!5Yk-<Y%HS;O(Fn&~ zMsTrLqQGpb%h89L8vEGqORjlNwtajodsI_sP6V=L9{d6{DkBb-z&nSB#v2#YD4<qt zDIDceYM$vL5#hK49Y9rF5{m<oDs<h>Bq{hnG!H`+uR3dQuVnSdc4vF`?Dg6IP|R2c zCGHtZdOA{j(*>Ry6!Y}u&{C;7qudk6huS(iJF+!;&qL3|@X_lpJpZQp!99O>^FMz2 zOSgaH?jatek}Gv~bm*(_4V`QcxhC<4VF;qPsqF{plF;!s+mg<^YMNN+?Ch-d_w+R1 z^0v2bc;wL0pPU|Cal?IwkDa}B$79Xjfq{Z{QEI(iU3EQ8R+*ZdD)Qu+z6BDUC)UI} z<X}>WY%T|Gkm{oY3(OLhERzIk<iu_WxHZMMSP5EbF<Pih5{8f%F~r$($_SP`>S%RN zE?rI}JCq)FhQbGI%Lsrr!Q@JrqYxyyfgc1o;Vnq<b+RebuCtesk?~#Egaq7Hbc#Z6 z!e*?(mFH1az8MPX)|o^Xm`S4yJOPXOmePrnYkpBio3aQ#@BF*wvP-iK>(*soKYlEm zQGY{&jfqJKT)AC=htxy6^N>5#DO_C0#N_-2-u35s5lgVjBwqm3;o4dSQU-LVdgHl; zITT0`m>F^6aY9R%)%tY#qxXC(J3ca&b?8h3${KwqT(nz%%&78V2fC#DzUveZLg@pr zo$Y!>O}#ocIZ@J<V0mnKsCnAz6@_z_ExNzs$o@~9zH0f0fA9C+yK`uCyr3lkhM=h< z#+qCp*g>n%{=i(c{s)9UH9(%G`<frpG1?KWKkb}zvP&<&{Gv@4Ui|vcZ2is+yQk{? zyAB-6db&HS{oOqp>8C5Ok!Q{8dUqUCO9`X-?9oJ2yMyCm>McTInEJ$dNEY{=i_2GK zx<O0Nq)sCrpd<*Ck;@sLBCY(~V6cYv6MypQXxfI$%gyz{O|H`nr7-X+>-1Kd6idj! z7uUdPIKflibaIGB2B5A@CuRb&gf8KcEY(GM?|>&100jT7+J=upaB{ZBJPm&?K0~;E z(nHvz2`VqXM@wi^Y*=c~#-A>G@zu}CcIm$VL%Q{+oi9Iw07*7HvIM4y%HTz4soO|A z=ONjSJCMS(6PO^v`8hM81q$u(!0QSH28q-aXaYw9@omfiAlJ$tPyW@iHhr?KaQINB z+kaVuQJqa#>c+_n9;(*VhM>Te=U|?QXdqIP^O-@tS#E2uj_9>w<74BM^{bX=>&n^i z^G`qd6T80ojsN!5uYGOHx3+F&X`l-E^4oMEgt#A&OD%fhvD0c8&&Efs(O@8NEL$>I zf6a}reOhD5@?X7oX!3<$-g<v$dv9;E+-y`e8_<3IT6s#(yBGDXc<y~Oy=UkV9<!dS zIbwE%FoaMrLMbn?$(=1&Uay_$%R5EAgpyIpcNmfo{S#pWo;<OF4zmpD;*M3Kk|4wZ z!z5TwiAkp%AiCrVGdD38P?vQEb%EXO(^X;B$7q=<YpvJadR{%Dk7zdZ(35VBgkS^e z3Kd8)0xY!SXb0_dSQm$!A8E#`e7DhbC;D?(myAo`ObVzZ(+!-;W1y#G0G@rx#o6Xf zo3gJSIjryfG5W_&Lrz;FaSql*sJ!4tWVL9XL%(xW7bU109vP0Z^ixvg;Qt)FvxK(# z#`Gi*`ZTb{m3PTa>jfu$8Z>H;?#v#1bXTT_f%F~*ZY9%;=9cNmxd3lK2fw2w5Ew4+ z4biF>3uuO+nT2#gGp0&ybbL&Y8Wq}Rw9I|>>6^yRU)24#os*;g<z4T7&!Zz_W7<h5 zYeJzjm6}zkd`@wW`U&x$@Pk0X1dg#6wT5bE)Gun(uf66~uUzx$H~#YPeColSe{}QC z{ZHGz?_g>5^5s?OH+!NbeQ;4<TGrD$F>Q1otJyk->9@28hs6Ri@;+tsbX-2{aTk(c z>+b|5vJ~ixG6;=AC>mgtRt@&ucTQ8P;i9WuvEmp9JHiU2n1zb;NQ=CL97MCq=rXh7 z17y$;g{c#=NyC`gCC@_5DK{B3?+NIDP!7U0KBO-dq1nR4MoIhun%71B(cWC1qPWr& zaCN>YoHsB4Xv*9Q3=9s|{>;=C>%`wx7hRa`(kAW!9og`ML#oU203Y}hjvNihf|A5b z!=x$*>(`<&70Pjeh&(47Czm+{=V@Y&d70wSz(4$SVQ_dd6$xR?HQUm$@@^^W_U}BH zX}jKoM;xvaM**drXviCY3=wx0iSDpyi&+rRPS6WmG%09uQnIAIuu`XtXHQ@M%mW7w zx8J$v;Q9S4R=w(swX3U3db+={<FUsyf^qiE-yWHRCE<PoyeHfMKoiX9?C30MO;dRK zdFR$&|E4$Jc;9sPk^g=7z0ci0HdXHH?9x=ft28=3UWQlc1rZ*+baW3snwhzRN7tqf zPyI}Ps~_w<ayz0<aGGF=iw@pwTWr@8c6us}Wq><Q*j<@>kjfw;@FN5kJo!NgIO+J= zxP_0nexLx()kf5D(u7G$jSz;58la8(Rl<ej2{`C>AteI|hH&7)3{tPYOz%4av<2Y~ zMF3I!T82s~#^5?qMTQ}DZk#Z+<+!L#rYHwdAowdVCkis<k<QtTnd)?Q$<xo*X6=&f zzLBBW`B$F#N*UnAD;J}BtQOh&^Hq89sKsN2Z4BYBehJE9Wkop>2>}zK1e<uLWY-rJ z8O9gUg)---2!qB}4G>`iP&jlbJ96}xms_+mY6+ZSpy?%yb?%@u(sEdG@>Kks12joL z*>b(*Nizd2pGpJWU0HiqXKl;w13gEJ?blxW+^a9{m>S=5<nZA`ngVbPR(pgraW3|} z?(g4!!VEwnjPuZJmXve`y#CS`zj*oDi!S}kTaS$X`nS}u#eIGC_OiaJSgV$GyGT!3 zm77xXXc2xs1gbrG=h;9gk_!mw7IKwxK?F@MpWZvqtX8_1Rn+Lj)T^kw0pwZ8D3f{t zy4}I}!sFX}DIAI!u<9<?VI>qCwE}M%bg{3v>6D*4D`{#CibH*#7|REL(4Dt8N`VV@ zL|bx9s$a7s&uEwlXsKi<2yrOUkoXaznDT_sGY1jiwgRs-)8n!UiNOOV8Wid5Er?tt z<#70n{(7sArv6KG=HiMAFU)pppJJchXv8DGv=Lr}T+kLr5}$H>K?k_N&Yvq%ymj<f zIppzgFh_~Vr8LUr7!2ylA{%_>r8AVqOp3B9K%0Ov8kOM-MSQ7fc}IJ;XWK*BgiexH zbbFaT51{bCh#Y~$rRU}=8Q!~=Jl(Yf`G~k>geH2skoP7On>svI(7iwzg6`&&z6SHv zhaWp-aO250zT=I*aCFCm58Si=;K35lzi`Vtcq&9sfP2CWKu(M9(lNEEzvuUU@3NWo zr+)fFU%m4Z9fYV3baxh~rf0OMk&5XFD>XuI^NR^M45I^sMR9E@l9=dza&|ykshqA- z?no(BVm2Piin9VC05DC5g8YyT<>)-aC!cPV08om$Qs07Nw(cC%sk0ft=Ota<c%2xK z0%!?ns@HWyuCE@&NlXrSpIdNQH&H3nq6Fv{T!TFUZ!;;Pib+H6t=NP~ArYcdn_J4C zVDo%%<EX*+SW^Z~!MQ&29FN4<6xCUIEk`bS#s%3jec<%lCr)Gy%?Lbxr|MleAu%~- zE=Y-)%5()N$R&sTm=UPHRHn6D6D{sT!vPBj7yeUgQW?sEFZe<T7qG#}$YUv^BPRO% zdS_NWa3DLXxBlu(uUH(%uvKLglOM`I*VyNnjNE(*E=4@QQu`bVgff+rg{6MAL3Ukt z#dV-<QD1L;*T{I=Hy+#jqBq?5%BB0aKm3I~`}Q^2KgjP!<aqx*{u5;Y+%74;2K937 z{U7|`^KaRI{L>%$>=&1;UA2OZdk*Y)U%>2EyK|wpbrk>#A1+3YP%0P%>Xc?d4yZ_t z{G5@b89qs_iPFWN#?nr1p|eY<LZHaAkx4-ITt4Aff(1|ll=?mdK-obX0C@qzq6Jt5 z=T0vZDac{VQ7os~6q84y9B?V<mWNW)PUsE%K(I-wcT!Wr#)7f{0nbbdI_yM%M<a$F zxw*I_q7>-HQz6qyB!vS_Pz%3^(`OvVs7m<<HTpkW2Y((N8_5o6wx#hB>XI=Mw9!W| zx;_Y0B`xC&PLM`L5sq4-EeTeo1ml)OzsweSJg%tF7#QuN&Zs{O%4|XEO_X_6q7yk; zC+*t1H#?v+C>?qhh4s2&U<ov^r-Y9q;6%s%NqP$oAV=oN62&QN90`dG0WzfY=H$#w zv9GhEIMHZM-u}q$OMdyauUdLw$HV`)@4x}Q=Ax{9gnT(0b$`FtC&~b@vsu)%zW#yt z|G~zu9v=SG$8W!T@o5`3)P{yfbwrmta%w4aNxKl}5Q3ZsOd2EXkt*>74#OzKDvE|N zu*3o{VFalW1H!17YRU6#WU%CY0|6^0x6nI9F&M9Mq~o(2Zv&w?E}@+Db3m1dj-+sI zycDDWXk9wLP>3`-SveFTA(9<%p3|aml&6h^NDC!^Ms2+d4|fE>r(FG7G!rpm83=_u zLy{l(A`AW)GoW&kedB;%nxsX$$WT1*6N5_lSo=?_{wt;YgIfE4TW9_oATUOG&}4cO z-A+=Ne<6Wp90G5K+jojUR8q-qDHXcSP@1>SR0oe;59R(3b8i~t`ElO&{pOy%Pb}^m z;04|wD1aAWlHegrvR$%MmJ*k(_$WmwR~#pC^v*AmD#b}EsaRFX3x%;IGA`M)$XGEY z(=tWTmPnDf2m%C%YZu327klqwcXsEVd_Lc&`#%F#-Vif1-827RcR&5y{dE8OcY~IV zzJMtF&C^6?0ed_CNS^GG2aPuE<_5FppLjAS|2$)#b3#Q42j$9zL?LplV~{H+V<tH1 zTPh-Itf^&9i&#<(ZiPCrn45U&m6L_@92U%Q_rS`;`207YJ$&!q|IhyB@rS?pCl8-J zf1YRDCYb~J6B|YKX11G}0ODh`XGUUgusr#p58ku7aMiV+`<+Lg{NPPjA6h(f{(@_Q zIvgAg{unqiwSrKaD|ijI44zn1UMr`Sn?fx(zM@bl$-6ts=Y^D5u!B7e;7vQO0%}>; z7Q682ZtuA=s$7AljItHoQkJNKCIJk74=jVhj_mXr(*sAE=+*=US7Tus8ignz@=Jed zE7_KY%EAkMxHmu@q8H6U0aZC0v?#fOH9t4L4k@W1VM`wQ>S@hCc}dvh6XjmvS>&dq zYp=O_c;LQ!hZj8a@3B8za(;t6bj3RQMaK?BX!KKPOYxDuikPDAaWJxjHp>8fK!d-1 z8gOE09TNRy7nU+HjWW2ma;Hrdppr7knbc-E_P=uY@NoLnX;?SjV07B@%?3Y>_$v%f z_(?nKWLEjkL%F216<TafAgtFLQe}d<-Pl`ac$9E#`}EYr`T3=>6KBr;)cdbL^u@;> z`|eo}6PVOp*EKChq(4$Ye{3Sf)86*Toi@YL&TFpw^b_Z<{JHJCFp--WxX8g(z?D^Y zCOE-Um@c1EE@$a5uK>85bp}kC68A(FUckUdbilz)JvboigYcG5(N%i|v*oM+xOTqE z8S1p*Ghup8briGiMQbM8gF$1?izjF+Ld7Zi3L)tmT{1RdEC<T45v<GvlX;0KJ1qmz zH>1BI3!z$6AOQrYCLOwt$!wKZR{4-w$txe{{(129P3+W1DT}9{t<$dS(q@&b3igBi zZ6J@|#8unSZ0HN{-~XO>=gq}0&dueJfL3UmCzG+^KQ@Igt@tuHfzvDsKM}ictU5iL z*MLePbxI{gB5fcKo(+_NBngwJf67md3B!rn0Ux2V2t6;Aq|Hlzr+Bhd><I^`{7s2b zVvAz>P>eLAqd4)Q`sy>CT6lpA6FF_RhcGKLcSJ^3Xp&cZV6<?o&y%g=-WfQyYi4Tk zsdE<(?Z4x#zoH)8TeHcr3lq|&RshiR)?JSUm!~*su{<2Q{+Ev~EPrI%%rvj+U-c1i zorYgpXQoIQpiYVN`b-#g$~mJ>3tiE69wTQeTxW(^Ik@A5m4a>Wc+TituA1-(!FFe0 z4I~v*A2;e&0Tt4eZIxHDrhCy8gl!>*Pj4}><XY;nL~Oee^&j<|^71EDSyq=m8?6Ew zZwHrj>Jgrx7|1zU$enlYvC7^Jv<5EK#-jAo4pEY*SXYk}t(fdG%3+0u1~p~p2TxXc z*Wa}~@BfL9d~|q<FBqSINpABDsg^Vm(yIW(`n9i)inlNc5bqolv`$H-$kIMS1egIE zqomP$WrBzy`C*tqTGH1TDMgoJ?wNl-wz6Z#wqc$Vf3Lmt5>NVaC5!VJJwD<exkC^c z>f4jP6KZqH)u5C*>UHv_)@XHf*V??+q0rbKHfrThmX*`*qOS6?+ljfe=XM`lng2gt zJ8_b8+T23tPEW!&nMSerCh6BaZX(SeI&}5y1E2lr`+Pwsk4sM0lWQ1|-fc#C9NzXW zUeDIhya-bx`YfvxY3qCQ_`r5OC=Ge75S%%|&EBuz!EHF%W62Yo%&^ik!>^t{iw@~8 zHAz|Rq6@WXD&OYQ;1oizf>4`Qq_H78gcIC?<U!q+Y8I<jFHy8_U?(SOqJ<mmO*8x` z6i;!=7Wd$FF9Aq=P?T5KvI_76R-$xY;2&whWgA*=XDyvtT^*aAPB8XCCKToKb48H5 z`HC?!fG7Ei=Y4m7V3>#Z%N&B_IZWYA*X&`b$0lgY76D3!C;lo=SBuBsDZwE5XhT8Y zs$=tU&qXwNl_`!gRWpflWHcIaMXPP`5;wdk_$^7!QV&;-9UFYDoHJckqsYzPpDgjG z-<v<<S8+|j!-LlSx6W%rMa_yeH09IqX}-0egBv~}EIAYl&;D2)^V4g5b!pNM#U6Oe z+irRAvp@Ylq^@|QUF3t_@*g?#p5sj=3{W_?s9%{rcI?&NliWqck~GVHmj8JK)nHHe zfT?d{9OZ;VYs<_|+2o!gcoH^PFZ9cGj$ZrMfO4;C?!U=dRr(QtQUaNL^}_jK{J<fW zu0B}QFhH)rDnKkkJN1ll@-wKY3lSDdWi(x_7u+@#qtT3Z=^T2s2k*L7087`o)*(>U z0Fp|d9>+c2Y{8O<a02#|TPs|%UURnTeu?gQI8IVG_)<3Dw7YoQE-PSBxwVTYT)oNF z+n0RuVvFGl6Z~zr-8S6L@4Kf@4GWwPVEP%nD<OQFjEI1?VDi!(Lff{A<tC6)EhWHN zPw~0B_)BWK0?;1?wycd+YaWdL8m0~<K?dL`%#!jP)cA0kZ!y05>T%8k%;t98dhP>f zDnq<Z6#9)mT<4sL4?UVu*-=GQ*TFV5k)JGKZ%V(|2g(w_#wPvlCA7r%^2!*8)O5$# z&XZ@(UJV%4SDgSvdDCgr6F`@Y?tG|b+?VjFSOQI-)snW3YT`_+(`EgfVAZf0)9gY` zPtb^$PE|sqAs;zOW<+UC2!$(o_Kb0~6-d>=%)J`H%BkyNg;l@=U*cW!8})gQfKovu zNmBA#?+8>*a@*}dal}`yTXEc!EZ;n%OdAD@<5~6KHsnrIyg*XuMrI@AqU(H=Z;EeV zlD!TSz&Q7l=k;MM(S_B(*M>+6RSl-*tFTdKVJI$@@K#?X>F=^3y3wy50^D==-NR+} zO78u+O*Pl0!=)P~U9&fOgcID`KnPm+LuExLM8m$N+CXK8aI^tt+>}P0rg_9FM8S(K zlz|l(D6q0Ajls3PfUgd0pB|1s^K2n|TrP66J2G+O`r%896nV$Jk$_xN4dN;h^8mAp zhF79V8ekQVmeC6V=7EJn!CS-y?j=9@bAQm<jfW16uN~j%Q`Y#SWLti-Y10!xzr4gv zKEv5dmvgsTE&rVax^v8Hc&CF>(<FZl2PfpLZiD4eVbm_3j;p+fbq^>zE51NpUZ)k7 zNCGjEX-ucG7c-5WJ2R~Du7G~sD_0NX!CzFCuGA8npITSZ4pd&Mm4QORfR_WbT~BGV z@{n2h7iq{s(qzg{plC9tzA+E`g4o!^OH%>QLsP@BhfAD1EL4X8=+JodAd{`MnIJ79 zE7YxztSiFI6i>m!<5*vO;cM6DIoELKTi-U^cI&Ofw~ikjmRS*StQTA!g(p>@=hzoc zrCrGkb5Tf&j2{)KL@Huewb7|dcnV%`uZgAlsWpdJQ8m7v>_g}9?$ojmtf0|@!$)4) zH>`5Y?}d{m(F;F1dFHQpm1Ml3(gu`C#WKlKju<wyYm-$?(J8faYPtZcb}-!8HRDRB zP!)_~O$HPcgB;ndaQM29$J=MPW%$C<f}oK-mfvjJ^aOwwk?o+LpP1r<7QB@oWrb$1 zM{d~;avoFjaw8Bcp)U+qGtO#uK&ACk^SK1!VSBC<#}&}D4wpKfBTJLqS~)p;{J}Tu za40awlY$=Cs+-uQ3jC?2-1G<^0EO4`)Ro1r#YZ|W!Cc@r@7Hl4OdO1+k|r6v1f`8S zGkuai2>&*aTiv$sNL|SuSm0NDKel~)y%&*p2)d-riYJnaW)yJUrUbB>=pSv8x!&t` zMy;6Vxd5M?_b#-L+<WhEn$MUY<CvL~P+5O^BCRjMo&3TNhK?D}59D2Z89*_h1_Et0 z8I=Q+KibPi6&d)CK5amw9=yd|_lw8a&Qi*EwaGOnmfkW5S_(A@3M!zuzVVkc)qIF` ze7N+=E4+ASZrI`b|5z1r3TtG8v=z4shld&clsJtX`w+inbb}Bn&5N}2?c`c{P_9;T z)nGEI-Yb7g5ro>Xg(tST;_@88uE}k~_T9UNS1&INJC(ad$(Y?-(jz1l<@v>7**EZb zVi2Wc3q~Ypojq}8emao4j;za2wpDx8>vEO2-smE(1GR7p&j5ep&%l!}p$gw>WA8-W zfb=K5GE+azj1R1|S1sB%3|`^(sY4?Aiz!avX`oc~04Y`{rV!i=ZmTjw?NMrctalpq zO>_Y(e>J^>q@4A7>=aK|@YnSk-^)ih-TgWt#5UW?W)IEEKP=;wB|Uk5@*q_^WpHz{ zi*_d$9^YW^e|dPvUGEsKyZ-v&X<qih3m(Edg9?(mJxMOe&qPvXC1q@MX9TP-8!Gs^ z$5bU6@{eV`q3b7-_Q9*K{_?SqCSR7BgcH>zLs;i*9vmhVC)-KR_D}Ns!imF&dH#Qf z=Ngu>WM4Jr#3Xi&pY)v*4KVk}rXEN7SO4cwOd89rUj8iH!mHThBpD_cSNgx&%}4d{ z;DjqCcr(%z`d+nn&#=rxZRh=D+{iCcWmB8YPXJB4vvf|JaGbqLAiA7d^|4i*LJ;NV z8-tK?oMfIr!x=bLhh~tAqmxrN$5Afb&4b?@)@V9y0+x0=)~f_XkND6Oy*xZyo&e=# zn*$%K^xpN*R$P_7h*j@6S{3LWJIuf6Zd*FZYLG_(6G}QZ*gr&*38&#_Zyz3Dwmdph zu4NxGnjB?nXUTMMsva^Z#5Y#C5y$%i>J@11ia<Y}Rht&5@=8z>gy8{SVFqR8rH^g? z9B->$CS!$h-@W$@N4e$qHGJrof1yA}&>WEDCQCi23~C`BVrfl7rtCNlFnu9b+Q@9{ z$F>=SC7}8O8hzlQV!+ZhzR{qu3^+|<@e`iCbbzVre^)dMT=u)fI~Jm|KE)qd@x(6< zQ2n4!Y_pF1<k$dA8%MDXP5ey0kxu&1Nh=Lk2omp|7gmQq^$z#L_CEOI?Z}7r?;W;t z$a<W9NPM>$V14QwS^OgxHh%~(5{Yr7bh>+o16K`WoNQa=8;UMTGf*`Y<;RT(`vymb zDjgJZ;F!fv-&6pwypwM>_^->5UWe%n0wQo(bXf2bb~0*kieU_ACa1Ntyt0{NXSkH! zVIn^Y;<cn~kLPNsXF!Bu_IhGTKf>>1jowajz}27tv$u!NAS(Jy4ozMLT}Mp2$l6*t zj>~^h0u&ctu8y<U;IL+u&v55uDB)MO6)jq5hiufDl0G)Z1*&7~5fIRuiPvl5m$}pL zLk~PK>^pF9c<iMk^e101cA$h4MB!szC3%Fif&vTsNR*`afz6qW-hh{0PYe`6F^D@F zp4vxJ>!<#?um-MJ!->XRCCbubD8ny%`6X7YJ2@fz{Btj)&B5%u{StfbaM+QBnqqtu ziE<NK@{4=(Z-b3g41VF2U!`s7jmA_=0F&1HIeh-W&tUM9oMA7o7N6L$V|bMZm3TgY zm3GCGoT?8S&o`NEdIH#JaC8u$0Sx-_tF9Tw-OFA)S3bkII5QEqu5o{vr4T#QU`^lJ zYjy@%Tv@#+`wBkc1iqt)B90^%hj#0x(77>znt{OEUAU$-ta37N?5eAWab6gbSv-P3 zB1tmpCzMIKHS~Zmpp;xTm23k#vdJxFFCkq^>ey2s2%UK-Xx6@w49#zWZdRJLOd0$P z)oATI1Gz6?oS<1f`5I3@a)FLOay6Da33W~5VNW<5lob9<$~8R7bMBFH{K+8M%L706 ze(<M;7n#sc<8NN?mJ@@0FD}d0HQC$uV|!sd@EQFg7Fnggvh-J^k6^Z?e?%^V^|tgY zz?Q$^d;wUd(3(5q^i9pARJu2P)}Qwm@FeBVox6s)r@lX2;6|otPOR}t-wZzK#IBta zzLAeI)h(P<nsV1K1!JHv5)JZzrf{${^db~oO#j0hu*AiIm)$bRx3MzW!3$P+H|8+8 zd(ZId0*59Z3NU^~F<xX+Zz^qi0(gV;@&W@Aa~NYD7L2jinBbGw4z@MUQs*A)bYgrE zXV;z;PC95sZ^+1YJ0k_Rshej!u<7D*=%B-UBY6f92<ZfK>HHD%8H6h6$;y+*2fp|a z!~{+T9Ef(%sH4-Zjm|b2`MEbiQUWgn%8AXU(we*ljkutycWB8(33ZzcW0UycR`4(Y z!3c*YPeI`+AMGdabcuCWR0MZUZZh%uD)F2XV0j;%T;?}FIRK-M+bCDo6cjb#<vsu0 z(mmYA13xnin5T}sF!;sgoOG0rBMt?!im_PL@a+S@$*KIYaSN{2cRMggePobHQU8n* za$+QHkqI9Kk=A{cTIB00x%;oLodo0=3hCLQjC1?+3@g)Dxb&BgmUuX73bA_d-vg+@ zLr>WrK-uCS1A^cNIkm4>Jr5<MiSGK>6aYF!$81<=IGOTd5Oi>W@7uX!*v%pIBzyg3 z4!cf3>ud6MdyWD;$4XDdq1WDAzUc|z4N7$70Qy2s{h{p>1kZ%`t$Q#2g|i7#b}w|8 z4kP9GQ~&5*|Ef#_e?l!)>gMaj!fS2FPJlGWrxQR3emV@^67>dG7Npg)r-$)Fyf_qx zCpc)&F*t;^%q_WD#y6N;OLplh+bkbJRbH(E)V%ap!yHC5`OyQK;6*_&XsaSLmc^yR z%}m1TQCnnC7HnIByVW(#HwRC!qM6_jZ28rfK%k2g%<=~z|D{)10Uui;$4&XkTfF&l z#c<sXHw^E2|NDm@oH{XFWH3$RH&2nNK&?#Fj&hM^GA!Lo);jNXZ%8f!+fsry*XU!A z8qf!pN$IZO^?IkFPGfx8@Ir|qMOy7*8<x2pSB7Xm#n+ctUU*?R#k&iq**UFnIG9)r zq4edMY>g|Z;@hU53^V;B!o7Rb2&|In1R;iPb%^KW3WR>}Pv5$5mFJSTr&Hg}%5CTF z-NQ7?eqUZQ$F~N~yP|7*e*KYiY)+MBpvG)EZF&MI<I9+Q{Rjgch?%Jz;FMQ%1jmx& zyrO%ICCw^(r<K<^G;nX_UnT<wo`X^s!PS|Yzj9fHigw$X!W|szokle?z1o1}R#wP$ z&*C)Gm!-8N1;B}{H4X#3F=+YJ@nLGmo#43$_QF*OYC9erUL9yBWN_LJ???jHN(faR zdzj?n&}N3X?BU3(^PI`4$blKM=nJ>(1qNSDfFQqE*3DC<;L;#G^^3USe`Ri%+{ZT& znB4rRNLF2n;^(rStoTY}(plQ0EOYw-e|p09BlrKAJSg)lHyTZN(+{|!(Oi7YLskV@ zX2}b%bOaJ$q?XResE!0j>kBcebZ=N$Ujb2R`h}H^vV~<Wuk}PxI(Td4MxJ(BptbKj zn|>M6t0^D({u6C=gsmE&x6R;Ns}{<QfB4vD3XXm*`4;qjm*rj$i^9iMMCM+V2BwC* zFNaU3ajDVOF=%_aw6~2f3Qe;L9h==gEORH~87A5JD@+XXp})KbKo-j6e>6GDb+c*H z6Tll4(D@jK(y^RIoo~?jtT-+n##sqWV(0_`>WaX-^1Or1y{~WV5nn4aTV@m&4-Ge! z6LcmbGK~iOh7&%9gFTQlvE)?`L=MFSIecZPRx0e>R#^p%<NTZpNWiFVp_|Fea}{mP zf*x&&u0m-y5ajKDqcsCoXZ0JrMN5%M3tj8kOcH`HuG=Qd!eL8UYx?BS+iZwvbN$Dp zw#GXUz1wm51zu|nhnfVNEL|LChGa|874G<Cf+g}iPx#$&*E@%|-F4USt)njwiyZg! z=m`@5yp$0=*<erI<tU)Qw#ivjgD090>gwrWOuIOtVnaj03ZjhQQO%HQ`q~<uVIEh8 zUOt_ZHWpJ?pqcm?g??+%<LjL)v9CP)>~P+1_OVl1%`3JT^4JzK?HO@XVRbL5C50^l z+HN9kqh)!}<U;|O75mtMZ`D~D^L+1-?^kla%=ECIkJxhkk>&obVG&)fFm_(&9Sfef znQ{n0mqUq>4)BccqG=hq$?cX+0689P%A_mpZFdvo)^&jsgEwk8D|%*gf@7R1&Jis0 zki)W*!Nm)#3S5qX>y-oW?Mx>Jotof|40y;oJxxIzH^C>j+)@T5bvr4S^MGeomI4p+ z&~@Idv-;YxVYuxMCI!AlpnUL(KimjT*8nPG=WAL9oN|OkmTg)YP}(U4KY8cZ5mZ9l zwvmfG6J#<{j_t`Q8w}!-yjLPVqOIsR<OZ_vxl6+ouR|Z_B`7PNe{r>wNK^>+!908V zNTDghU@k+J#NN~Kz$ZRAoZ<Ta%k%7w*!$-alnQ`Ua%Dxy3iNs{gSPQXlX7B%mNnGC zijOo}+E|Qu35cI<gPx4GhD}4iG;4#}WDtTAeHxAOO^F+A#|P8weNR61)UZfD&%)Og zO-~V#>CzHOUlLO_)3oy_i3H?F<A$ccQ!hHt)Vrtmew0P7+j9?pe7BS3{q8;2@bK0) zzFoPW0Z;7l3bOOW!W>T@E;Bj!K1Ji$^DHKZkauEgxgylInU(g<ZnkU!u(Ry3EXmN? znX48<s7}2P-UO}=5m#dftVvb{QwI;ST)o0XaBf&WcQzlv@OZZ4cY0$XC;gySmT*Ce z&pifqz7^Xmi^pp3EG&%#Rj1LVbSNhS$N84vz%gN-Fx2zu*v1R|(Iq>1hk4=1GBdSO zi8=>sl4bCsiTIg$q%AGNLd4Vy<^VD!cqwjN#RxO-oS5WMds68G&7P~n)(ECm1M0dP zc>szNf}CfGr*w`#eW$FLP<`bMFca*VE^{~G2Os$OaKkOP41e(4v-vPaf800Z5V@CZ z#8slI?cV#I$&zx|2d)tH3<YpxTea^3({?{1V!&5_2BAnoTCpS(f#oZ0NTbLp7N0^A z)^w03_e4x^?7#N%i^FT&`8VsafA;?B5RF3yRa3QO<UWf4-Sm!Cg)&IJea6Im*_a2- z72g#e&f3mXntR;Qu^Kyg_0_{Fcgc=>m4=n(S;+ai=x~7vqTf$2!?@r%e;GuV$N*1C zH3?{v03lnGHa!7!Rg$yO5p*McQ%mMPa0T1p)xkOn$GgX7#$zGQo_K1QnB6u^ap_~` zx*LX7Za7)F@cOXCs=%L@0}Z~o8b>j!q!Tjeb$Wt=0`T>?P$<07OWI0Z<5t7jV|2tS zS149a92+KXy`vlqK@GOT>w_iEH-OuoBb`KlRoKGYG6K_u1Va3goM7}1lz!GcNCv6x zs*0$7XpzaHAZ#6Qv;_~WLabnbFwZ}vz3YK=a8_7VjUVJv>>&;Xj=spNoBTqOR|5L* zRj9$=c))9g^D=w6>EwR){?Bu_<O%#U%_@mc+)D<gg4~c%anBoj&1uLEKqF~WXD{m1 z#7Tv6Q$6;|BQ$Jj0^e3kmCIY7dGgEt&4k}_{Vt}P^e=eDrN~Ds0qId>VVQ@1z<uS> zN7JuP2-@C#i)%}A!~?ZMWEFWZAkQ-wP^g`UweIB|>>gSeANt9!Q}1BV-^l0bmsoM^ zX2&+po2V9OTjjFsW%%-e@#wsSucx`)uios%w*ov2hIe*q-M&(yCRQ4iU7Dt_>CL7m zfO1o*<kBa{|522(P87j_qn!5w3ZR_sOF!dSCjx$+>d=wn%+y{rnC7J6jAueQ8|~r2 z0xN@MPHK7bFt7Nc16;z(FGECG&^u84OJEp<Mye_Ds+ekdGo7rCt0!LNxcM4h7{aT= z2oSlJifsK4KAcmqLWc?0B;_^{HF&K!5yaBa6s~8p&YJ)LKmbWZK~w}bHEh=227W(J zP!I9ogV09H@DbY+jCpD@flCm!sO>cB>s^hd34@R2?%1UZ!^Ab$bE1>icHlRCW#CsI zly(_rPK4ZbHa~Y|_~g(2dG0&kJv{N;Gr)LQ#^oseQ<ESvG^DA9NX=w$H2bYIn1#Ck zpa8KSI`1Nk>f}LY>x3D9gVax=#;-u5W%LHe*g=L>Db&R62u{uaKxy<+rnmUcGANgx ze{MK?^k_~<8$UA9CUr5XgMDF-)$PDSxpzQ?`S-CW@s-8r>zEX|BND&t=QiCXc<kQ0 zf7o;A5MR5U<fJmU#N$sVf%C{8pPe4g&9NeLjK~8i9vZAT5k-nV1Zw|veH2SsbK)Nx z>OVAFvDx$luu%#3=9#7ASX#*IXO?bC-4lg&ZjO~K>kbUd6J<ChlK}ubdV*!sq?fhW zEA77V=DY)MnP<0`S*9*=W_tM|D+L05lyI;!vy%$K@LU@Z@Y0dIUjeXQQ~?2Y2<~+@ z=MZG&__1N~wmX?*>QhkF8|oq%IkY+6ga*|skcG>Vjdr?RGih=5ey#3atRF_G0u=4f zqUDldi^towH${%k{v4$GRDDBF?mx8R$b)Kf%Ldd64?Rs@yK9)d;ih5f*{7K>y*Y@< z&9!O?EWPpj0`}i<+ik-=ANla`=+Re(OThS?N+#w$kfUWrW;CJ|KGCUc57Y2f4GO(Y zy;?aTufnZ4-9e@7W$>jf(?NWw40|yHL|eP+GO+&u=mQ(fOtP?_t@~`sEGIWle(!P4 zz%O&7&2+wGoS1~he(g#B8JAw4S0CRDw8%LS`8n7D4U6={f&C2jgI5i6ln-5V?Xc$R zmC5oltd`j+Ef5^1IFmnx4h!%fV`80UGRU(oG664_jw$OW<r*&vQlHdSOWnlDpVjmL z4O^48bOMNXRF<EE!+H&N_i|bW5Lk+oX^j=>K<TK(yaYN+EILkJ8Qyfr66h10K$+UJ zpTNXLbj%tzbgb||$0Bc~U1Z6-%*QiVnGjZ3Iml2Rc@F?5T&zbg3ndJP8d@X<MeZCs zeS8?Z_Ie(6;gM_fP#-ljNYyqov^Ll=Msn*cr?LDCCuOp*EG~Q`cJRwlKH|D5yatf1 zxJrb!+C2GWYJsY6Y-_mYxy@Rp?#e=Erc8WH;4gDIaFWA-mDi4Q<%PR43B<@rA4pbT z#PxmiAOGyn3>Vq6J<9|;&0efuBhO%tzIsC&$dQ>z4J9mVk9wkD+Jo73O|yCf71psK zsX1BfP{)RF2(B<{nkErHJ(TPEl%q=~fzGh<@UpYLs=*R`_3-n<vFDx}rubC%l5a8M z+*5P`eSM0BFEZV;uPkw83LkERcF&&O9Gi2(o>jzkx7?D!J;e!ZuV`%p-*XGccocqe zoIO6aT_7$!nU~k)5sTBrF0)Eb3L<V~yF)}hP4;OSm=RF*SO=JXP5i|u>f&xu+S&;K z({yTgY;_%5JCdJPR2vh5)dtrbonc4RM3KgrsIeY<<q=nw2z)BA?uf!U6FWG8=#3NH z|GtxxU0Diq)_Rc#eO9=CeUUTaSt(HF%j@Mbqo~QwD!~Z?{&u!+yjkMGkQq)0PTqJc zuMi|qoP;<wlO}zHTstEbvJBEx0fJ+XrZZcc0O#`@&jy9M^dkCeWe1Y)d&x52fX)DJ zyl6uzxJ)0B0TC)?kjqLYOh)=D!O?JB#;VlXMa~86+A~bveEYEY_(Q;)RL}{#z2AS5 zJ>nHs3h%n_L&ICS?DwyJ@B{W}90sxXQ?3&i$VyQmw<*WYX0z==3(Gxn4JP$zB+*@( zhN^1CQ!0`C4;wdO*Z3*Eb9U-!c*<+2@o(cHf<<F$o}7zq!z+(G!qT6mITJfa;2Gq( zqmecrXKrkAB5x0S_k-75Gq~R$XP_Ut=DJ~#K|H~devKUoFX`mb>utjvtBJE-A<_2? z@FiCYFq(D1lib5kfbWX1;+RIt{**@vJ^S8Y3KEVBE*RdkB39XG3|MuWlC@2zEt>#T zHLFUrbrv=0RxkTmwVX+STs%|kOB?MV)n81e+!AoVAEwK6R%XpC#p*C3!`c~=hrn%f zW}oB%pBaSgWF}wbEGq|W!!qX)Jej!2;e&?`E1bA-rQmg7AGu6``4AJlS5Kc9X0PYC z*^cDGxAwSnOSiQS$a#kJLro6p6N~B#uC}DJ#OD`V-Fr8)vgf3{j?2&o2}xm<fg-6m z289DwKGJ6uV4>=LkU2!eadHSHMPbsfaI@3&O}7ohO}BEgla&CM`CRqT8{xA3szbwr z9Q!|i>hy3N{dZtHFMG}4D0X313SnakEqCxL*08U=xjqwxO+z&Z)Fm2;+-bu$o=vNp z_$s-4D_&ybhy!er;^pYyA<ENUSAI+M@ea;qTzT@z;n?%f4=cdt*;D%#qaEB2Fyo$G zIZS}p-+c41gJ&o%W2|=vZfD2xI=g+J802M~!!h0$FizdWgNxuSzRt~7l-)tNa)L`v z0;=ce5KtRqUvmR(=^x<YnX(nG;&xp81U&7=3q9X(yDN(*<eT1X*#uCUU<L+wi7%5e z4$5TU9^8l!&d;R5F<S>Ya!m%3!&sb#H_B-iKZh6MwgG9-^{WY9zt{OW=E|hN8*8@n zDdsU&3Hx||=Gt|`ZdiNrY?)=?GB>-da8hxRz5X(H&n;2+5aJSdD(>Po(Y1ZtPRlj% z*kC7MLk1>tN<}*|i~ne62d3i)7?Wi?*p-QpK7a#l`n#vsE|AN9^7u|#T?IHiZ6CEk zqYl{N-vmuLP-r;1QyR%-kO@rtxF5ik&5D-?(b4PFKJ7Qhg!tfR{_L=adosTE)RV&u zFUIgqxw&rx4(gqoppX;gS~fZ#qLS#7X4<?)pK~3_?K7Hz2O+q{v(t?B{_@SQIB9`l zqgjcYDx@y6#86-o**8Gh<V3W6z=S@{;o<8~Juw`-_L||UYp)xYnAqkCxC1-{w(G!N z>KvCtJHyK05<7#-oUj|?^4%#Wzmpud`>sPjf6lw_nNY0NiN9Hn^A)Y1qa$&f6ME_a zR&CT$q|!hAXd5XL0knw=eTTlFk=mBF>@cnB16vfB)bm!|M7E_9Ksp*@3^@Mti}u;e z#4V|Ml1|5DU~ra}QsLXBMDMzJGNGQV=-np3#YITXj&XAagp4v^d5ML44?ej#EW*%h z^U|72Kec`5Ftu~fz?WBs?Ev^<X;uTi&B&DjBY(J-6FYNU&-Iwl0bwWE$)2Ed`Itik zd3Jj#M?R9&NFQj7UCSAbR03C@7>P0rVk>p_UKFqaS7!qk&tM=kXOp(DZg71N+gf`~ zz@ZSm28B1BoH@mVPkV+5f`8@c%efP7ftP$<d;JYO>woX?2-nCjGa+n8rzLG_G7ZE& zpiwr#JDP~qrx~jF_#!eD4F_%GPkTg5jdJ>Q1dE!XjiuG$0a}-5StA2W)%O7^g1_RR z!j+WggG)P^)aN*-^TB&RJY42@{&fy(_7P;B*uTh9{^Uh&4yNqejr=gE%lc(bhI$fk zih-})bp%)s>u7`i7N*S7P5H91k1gl`Ew%5}6)ReuO4{PTFiU55Q_9Z71a!n%b~u_G zv!O+B#fE}5pSE-Y=qLQN+@+v1qnp0>FMz>-(M|$7K({5zDQ78A-Kl962RPEbtj*v{ zk!7Z(?i9+IQ3c^>om@+6AA^-pF~CAns|4>oxa`u64tK<PhIe9|H^lJNmER8VBo1F? zANF&PwiAlBIOsDOaAL{B20te03SkKzo-Ff`QeNE1xdU$Jgl9T0daiQZi3;czb$T#p zV^nMU2S-&^n1oIu$jd;?YC#47GcYX0UXiGzX`NTe3Q~Bj^3srH4sRw8T|cbwR-Z9+ zHcUV9sZR|T(fb+RBd~1`m$aAwoupw7aZjxrc}+jceefsdqjv><)S*2C#5`=e?y72k z00*&~s}bSTL>4x9)D>I9tM{WwkrHf6VI&@i9vWUv;gusV@*cfi!)XT2iBr7$kK^=3 zm^t8cw<&mD!dqQlNI&yR`(YY|9N$j#>RI{~%n7^0N<YM^97ypuI$1TAJ)fh_JtoT# zID@<KaxDP<Bodh)!IoR&16^MkL{5c7P`6^UWfMSCznP-b;wE$~({xsTqfNK9w-jd0 zn9??U>8+6BSMs<^Sb5r}q+FhBW%syoogE_#+^})-Avsyml=}$6k9My%EO_FJfi0DT zK6b#svcWOMN026`W;x#TDn;$roj@|U6{JqoJuX~fVsJ2d$Jw$u$D}Jf+r8x5du%6| zeA>%n`qjK82H9<eVSCQhm+~r-NgzgO1Hr95{<1d_FVTiI0%>tD6%x3V$9QMs8kbF1 zxkY&Prdx*#-+N?u_dOpR-ul+J4qxHf_%V)qJ!@VkMJ0eYo19$jJYnQti*^x`Y9gSR zCOt|LH+^Jzgi0Cj0<Qt1r)82}D0bokl1C;(DwY!m!bMLi8hf-!j1N4qxt;6oSB{?; zUVP=)aQ(Gc568}27_I>4qcz$4hd+K-?|i`~t5VFjLH-D=7^ZuuCl+i{5t8~xrZxsv zMBz(an{r~ZN|eh=yC}xBOj0NKCem8k#nZ0p<pSF#{~(iXMcT3nAU?2T@l-lZWerkb zI!||%kyPB%OCWv-%h`5DJ@N>?e54V_l4M$(I$3k5Jm27v;B{Gr7h-wIN!g90)8?iR z_@>3(hr+}LK^*r~o-SMBj1h}t0sLwradp64!0Lg?0G;`$BldE}n3G2nGh_MMY$ggw zg2S>>_6Di1Oj~8LS!K{W5qQnn+`AiBID@}NJvh`|anxZ4Wod=+Gdk6dFEQ0##X7%S z0f>qOmxc(BT})2g6g0s-75i>~%kasMe{y){1b6&_vV#fD6^>V3wA<w1@BZjO`II+p zQhwFbuInu5Bk+=?ufQ<}Ruf9&;b`vYBT>@I27G?Tk5h6wL~v-N2d*yA)g%Be0zG`$ zhd-Ww;Rp}jaH)>VnWs4Ux1E!H+Gjt=G%HDP<0j;oDt1$3qkQ-`T}p<Ph9`+X5u~?? zAFfWZd!~?RBgJ=2JjGNpy=Q~6$Yn*dMK^VLXWZJ<nA^5RY0D-6)yw5Nl|<VNCbks- zfC6AcTa0c4F?(&>fcuxukX}5E#484XZmPf&wRrUUh$raMH$R4_b;y$<OZ9ZN@>Gs; zO$yc7g4`oV21Rk@-}i#f$eGv*oX+;t&=Lb#yVllNR?8EZhc@Z7l$##%lCP@?CW|~4 z$_XW(z?<ZH@&woDoiMzE&8H)^y+vr#rP+u4vU5}@0qWJ9-lbPn|7k8K{ulsPm|Wg> z{R6xfdv<vA@C$h)bro0!K+|6%;t%!Zhjl6RNx^!#r)lCy9AP3|bO_@EeIpZS9C+p( zo&nz5!=h-bk0KRxnek8NptLMVl}xfU{(P~<4(`35Kl<u$=Ir_5j+<{Bj(Z1Q+UQp< zCA)KxY}7ZD8=K_mV@gC`^jA>DntC;TFs$r>3&gfNa?`u<gSx6!=PVxO<`h>Nr3ENz zA5>$AV#>68JG~s_&o8T!jVvYIWZJq30L8R7Hru1@oYJwHX#uOuVrw7#T8cyX&}nao zIXV-2D+Q-@6<(;p*S*wmfE&0Q2RoWn2kJRfIt9Mg!@p=!wOKt?C%9}x%Vq-&$a1SQ z_n=T0U%A>=K@twZbD-E}$_d1lM-|Q}&)e?qLTq`n5^(ZS%9@7+1eB8nYlb#~>O;zk z;Afk475CBCToI|J=#^V`Y17@YPkotKmKf;QbIa;m4jvf3!ObyC+#EBF+!Yk_peB9* zSGD?t5Ze?b*gm7t02ep9lPjajk%sM+$M@=?ji8qS>t##A>qKL?FiE&KR{>mNCTlDH zH{GHqbaf(_1~67Ib|;51PdxYhu%F9(3#_=j=iV<^C&5b(JIH%dwkbBMV|+}zyW$Q0 zP_xj|E{*-K|Aj?sWXBR4!@fAjZVm7smc7|Hu#L4|(6iG~WXP27bYi<no!Nq~ysb)G zHvyngf+eF|-Ej;yBtR)^f7>JvZakt<tqBx6wXP8uT$xW}Zur;^vT&0QL;%24%ja#Y ztOSav-CrBz6bBqnK|bk3EAa0fowg0+)}x>V>JeFNrB9pij#7g^onPt&JDn&l%=Ce) zQEkfJgTd)U5q^_$r_4m)4JA$#qpJ|Wd{)6jhde{zAp}caCl9Yuc!J4u2)4^N%h)K! znQ<oo9$5Lg58OSxdgjb<n9HF%IPvHG@*cv(elzt$t=O5eephXk7tRj^eI<N!m0*Nx zOZirGamAJ}e8We(`Ip`%Qu@q%L%T(3GVCZvbZ{FjEuLuBuH8&#=MNtlE^=x2&YNx= zUYqBAdg=te14%hfl$o4_>wEI>Y-J_Xq+{nOmlPZ-BKji%qSz43Qm=+?M@R4V(77=+ zx$&`8<jcc)U=lZhS`b;KjSX9pwsZo(gv_k&88jqrr;yn;mSGOLcEwIM29CYb2X)QN zMIS72z|OHy=h5hkiGeA%;wj7l71@CT4@?;i-aEP}lE5xzL4Jd*bczhx{>(^h^a*6j zHCTX;^r*5O+I7psWnDcPpyt`Z*sbzou;ws>dImeNc&e=saz<JrQl6QJ&pd=cFQeM8 zVZd;L&&6dDQAX|rL>_<M$mCsce!TUgAH8q5`KFtOFF)Zm|6N@6tZV+I9I8Y%f-ta& zB!`Q7nh@szO)aqUZO7FQg<Cj<TXxn22se;x5LzyJoD~=9ozY>2{QXB}1d3CVvo(Hv z;&1{#jd3z&mU|qY<JkWodw*ZBv9Pi@%y2$NpYrWGXzC}k^q+RvZ`$l0oIL#*abg#K z-%=GdJ}}Qj725KfU7`MDLDGXAClF;hK_|6|M*BKU`H@-M;-gIJ${q184x8QDA6u8Y zwt9ho_u86cN2|NbR8s{(YflGgEJ?CPE2R2G4%Da=4tX2_KM{(o+EQzLbt=tvlE3hl zr}c(cL~?J5g6-)rWl~PyQC3#BBXpgp>D7ZM+?&v#q~oBE67p}hMo!d%UD;Q%D%6@A zqL{Ifi4t0QI+&dh+{@>>uzP!co<#JDg9F;D4j$9{^AaUQJfnVjIKT@h?`QA-9gh1i zPVtr>q#KUaLllr<|MYr}W7QdFXrmgG*PAWcucLrw;*WiWs{?~843t_81~Ya{G&=1L zp7r3CgiHi*wlVfA1Dp(>M&n-HL!?C}&|TcaaOMT>W#DG6{XABFihDTnG7fcSsRiq- z0MbX$Nt<MYwkei8iOE2jS}a5q{?mVj09+kHTHbO;C3ei9ZG9q;vLzUWkJScFy~*wI zma04yoYax&`!=x`r`G%?vn`we2pk=P=KZIKoK?#<8V#+gWUn5bZKqa)*-Ljit|g3@ zst^9rAQLED=QMr|Le^$gWv5xC?7-HMRSmlBHdb(1tRN^{I}@6Qqe!%@dV0xL8q+R3 z1sT2}NoR|>sn;!gjGqn`p^?|#mkLg(v-#@1-qm>oxFKU<@olt5Y59u2pffDTCb05M z1CzjK9{3nHyDSXPT$&qZxX-=L`YQpE7^`U+=ux=fvWcrz+A<sUEH{*J+jDllnG$l# z`n2aFK^tBma3qtY@5;)mhi_vby?x+d?dLR{NHC>nqZ}(A_VQCa^Ks<JOT*O%_6-*} zDXZYH3Bxcby@kqG+LkJ|suHi-H&jc$ehs_SC65hhcO%_MSP4zF_{Z#^R6i<LlA0hK zH(d|pbUF-7>@~sR(fu^S?{qSMb7{*a0G*ajWI*e!DmN#qXM<IdZR*0ye=6dyx0}cL z;>B><%&Dh0TDv`=GmEnFbS&`o4lX@<&?rRb8nB>2UmQ{ii|U}J3<$OZgHGIvr-X^v z0!OJZN7XbLNdDAc9rBQe`oTy$^WcwsH}HvqwCR)5&vt(XHhg46p7R61oGh$U2#&ZW z@x7JxGS5QX^^Ug>Z@KNZ;hQhN!ZrULxe2QFjP@3?LSm^U*)<>O_Rcf7ps0O(;l}nx z7C7?d+9yV7#1SbxDfU&4bb4I*_HS&aJbEvH?a=BsMaelhl+72heJ>~ZUVHY1oD12t zWA|{5o3SQ1B=7`VgtASp&|a)knAapEuF1UXp)_mmD0+L<-L9va6axb-evwj|pt+HY zpo)WB0c!Q?+v4B%`te}=xPgWI3T<8VCQABmOOiU-N!eK7C#)P{$6-8R^9*8I>++jK zWm7#kR6!Gd4c>WnSUI(vX<JH>?VxJhlok4dRnYWu1(I%!bahf6NliMPpLP9ho(Usm zY68Q(8VWPm33ywr6<!5t51x`EhDm*Z6f$KFGUP2RdF>^Fz_{;0nnQxfA03o5UStdg z*=bqyU_$n$Bws}N=?{Noc>2|&!)fgG^;21GD6Uj*dX$`iFglY0__4@L?p<eS3s3m^ z03Njq4QbJITzy%dN5>7k$`2AX#*Jt1V^;vNisr-wH4lZRcuH^V%-P|U7hmS;#=+rS zp8TvyBDCt?c*Y*e1(FfTHq!bI0}%DxV^9r2>HQQC8~ZXThBf*QBDZLhh2W+VicEg> zfLXPtDSmD=l$*7&IrNQpaoC#emQ4WVM9hF=H{8kA1%9kW-;G9cP!>GR5U%qzIf2jd zn#-c#cRD($CJy-9);g`i9VGXB;b6IWiacClR5=n-PLC+9go`H#z9uvE$@OOT-JanW zw~lp-XAld!NiCTpts}dz`ef3@2^HJDvwT%IztS?csY#aPtueZ~mv<s?@d(@|FDr!^ z1HqGi#k2G0mRAP4udMp`M?b=S22;ahocYh&aXj(Y?S+M0Yek}F(pwLh5`_Y%CAdHZ zif3E-ukvcQOe+o#{fK8MLK!-AkdsN=bwLdpkn)R88e_`I%i#5CzP-fDi%<VxnB_L^ zN$&T*z}=SK$Db=CojY>!4gm#uK0rzKvGtx?Hbp1p@uOUhPD9iyTcvC|s$2AwCveOB z%=#o^Sz@WO<cB5_$VaJ_gDcPcic%diHbm|u4Sz)cCJI|N0mK0ge$Mn|FzZAQ2T0LZ z1RNi8vJ5N3GSGsjJHQ1`*L0eVtAsFP6TITYws`{{N=pnync^RsI10R=x}mL@q}kq+ zBmv)@+GuhPql;)Vi-;{aHuYZ*U|ARY)@dMgoZgY?+{Q@U4p*$WeTiQltYyEWKN3Mm z5Q3azaRz>PG^vqIo5%fEI3f1dJMS3Y%kuwEIPtg2(myXf)zA4gU18{iW6iBeU#3i< z#%2xHOiUe1g~f|dh~Qy4z927L8%@<#?Nr6BEHvV-PX`-$maY*5tK6?Z40+SfEVukF z9)E2(b>h@;h&Sz?@%j9|%(qjcU)iMG_!F3Ub|U(Ka$-PSQU+RRi+r?WuuYbYt%Myn z%XZ*lCY#1fQ1mvFkd%{;@OM?{h|mjNhWx?{yqen;67^6KT-tLO7*3ntRD5lo4;(bk z!Eea{RmN(VLo<D%V+1!x1R3kxvnCkj5W1qJTF&Vn5I_RGv8c|A3w2y;ix3?JFSb<W zr&e77c_=r^z)V_NWgM936^fy!s@_s3WzS7X9Qkx`FHleCb%IU{ZZVN-;|y$c38+aZ zZD21G_WF|5%|{em1^7QYT&M?ya#g@%gQiV_h59z`^!w}s4-AL7-Io`i53^hf6jwjz zuw<muy1lv}rqEBiBo+0fXv$t)9mETwuxd*tZs5|FkIJ6{i)R8}9zTQ|Df+d^DX#J_ zKSYV9mp6s&;nv<G-+y}8#l+?(%jdWX;vJR_qWAy?>pi5-rLcOY|HZSs0dGVX)Yc9` zc#26`99iWT`W9WG0YFklCJ0KA7ifSsL>J+vOhzeK;YUMTr=$XU`rL+%_DHgsw1pD@ zdOOPTh@GDsV>G1IwW^lT0x<))C70P%w(jB<!#8xExbbodRqih6PHppf_(h)HYWy>% zb)Fstmeiats8CB66%U4}AZo*Cq7cy^$+qC7R-1HxYfn%IM}A6Prww-F^+q_|8usEA zPbUKR`6J#qr|c=7*;BwP!9(t!dik8cdw<_t^YIUTI7{R2oa7}Z43cFA2)oDx^Ts|> zM(k3yDs)=_Mh?C+AjRqvcJQn#TYtwX*#K?&pl}AA{P-W?+8&<TT7J^F?t}87IFc1^ z$&LEFxu<UVJ<rpA=gwakuHwx9Ngm_Pi#C-NW#DH{y;N)Q1q_V*ly0(KNL4F8H(2b; z?hSxE#lbJ3s>2as)ekhZc5y6*cXI8kXccB#Xc~U?GeBEVz`5R}ITp3T@;XP$n@d|Z z0mK+|u`5T<1Zaq<d#u$ndukH!YAS>6Y$*&310d9`95!xD(j~VTidta^3tM32so;h$ zn>f-<=NTrF=vCp8wVZl_0H7ypN@5YDBSImaN!-p1Sd$$P)jIK1yfc{K7CDW)nNX}o zd-&2SGa}c^oEW>F$uk)ggY5m)pCtc0+s@a4?zr{V;qG_6bNKd)FAi%w>6aUj^c^y) z4`f=p)cFo<jTvnG_ox1#fmHzb>kYLjpP-FAfdr-bPYUb7ia+20vp3+<YF&TT>#r!w zsQI$%sQ;87Hk3R(@<pH9xvA;!)6Wjq?BC0y-5e6cu857!$`6kif{ri<A4F8#q##;! z=xvd&9{xzxkHKnyK+~*$O1orMqG#vdZD_0%T=GO@qAuB1oKOm@R%ZHiL>1lb2jj*N z*{ZZ<6MzcE*l?@>({auB>F9L6$NSpVIzA(pdIAMlby7o-sl6_)#g>bs4|INfLG!v( z1UC872E)1p1hWOe(Y5C^1hu%0m`d${=*MZJ{s0y|MIcoWXhCYFrwsXd5~v2fvTHDP z{X!>>dNe)l;8;hVLx3pDXcviJCXN^@9XP>9E_q3Z6M;3&+kZcM|Hp=xc(?z{+#5fg zulm-~U(Awch(&m-mwqKb?6T4CvKL-qS$PI@#HLZEqdpQ`{-{E5J4<zLJmqTV)H@+S z2rFS7xp>Ar{m0MSo%ix&-|?q@kjJfe@x95@T;}wIrxRtYk{;yvv-zfLKjMsBQ?}7Z z$_CJYmeNnQ7kYA8S{1EUwpErSa1hLU->2VfY`R#ipiBuqtPI%EnAW#U5M2+L$)m?w zQEh&^r4vA3ifdRO>^Zi^73GvtSfk2uLM!O11XNmJ(mQxewIy$Kwh0Zqd8iNQ0BMj% zJLMS6@B}w`w#txurEs&c$=CCJvM52cHCa-W4h6F;X|<OOS&xpfWdK61)l<kxoW`p< zTbKwHG#TjO7^1)v$dO@CKqW4}?EO6nh=|(z*V6y~`|cff@@lV#Po5lRx!u=y6J+#A z*X&l)@<H`i1uKpIi=_BeDYSZkF;!jpqdf%j3Z&}lCOn>zykYe|EV684#|T%N&Qtk~ zwgGdU-|y;;b2Z~-mjBmYb=7c&=NQzp?Rz3DEL6c1hGlmL1rBrT_FwcZbz0d9+KWK@ zXaL6&K~C)8G@8=0Dt)pmp2a8e*<^JcdJZ^A|D|7}RXhh=D0)Vbj`+ir4gMywEt>$M zQrU{a<p?u<A5+Ymv~mUjX6OW(28sw1whcysdLL-%B%-HSh$W5q>y9c1hOCI$n)ICx zj4mp=L00%gunmP*h>b=$8=YTREoiC8YeNeA4ft7ZXQ>At@UqtqjddXWXHZmQ$?5=g z=I0JSCxqlHo-lZt`xD(|v3o$z`rm%@t-}Z3{jT9p4<8;Dc^-b8+kxXh^+a9CEJ&A9 zcu<L3$s1h#qDpWngWP?dO4>)g4M@V$Sv-kD6~ahVT=7YB2?{Qlg<J9^39l+ptO?n7 z813f<pBJBag6sdh^O2LB7x<uNPW(aPq}{YYJRGSPi_R#F1G6Pi9kQXhe1$%tj~Xpx zw5{o{K9LkHA&>T9o)e#x`jTD@^;fT+dO21rhX%L8tF6mwij5jNW#_cHe9I;P)rhKg zfQ9aO@@jE^Y+Kc9;Fqy}P$Vg|y~7%aEFBUDGV2yNvUG(@bUBt#Ao4E-Dznx9$n9w2 zQHH05lGyO<2El3RL0KImEHte>IP$Oq!>jWQVg`F?*uXs-_2@k6at`zkX5^~2tj9Gf zY=M#2B%q8M^x{M#<%W{F1^9T@|EIa#_oXwZhod0Q_!11@J`oq@MNHX3r2^rF))pN_ zmIONCs$?>_MT>sPtd;K3D!5)@Xau$blTTI{FtbUXl^6e50%Ewun8FjDfyfzupLN)d zee*B9Je=Ut-*r6Be2S(2=(1naL&@n6j~7}B%U&T@PTv-OtErnUAS4&9Dcg0HHa==h z(=Q<Bh+d+W>U|JZ>EP=7>NolMv-4sj92^P8WBCjp=o5aS53&UQwkB=a1keps`51(L z&VVtpKtR%(j<>5vF@k}mNVR9_uTxqF+L=8NmE#gi-f>p^p#a%SkFzMp(SYJfa}&6w zPq+j>dUSsxCpRdG<bU|dqUk4|yp>{^l&tBOvcgFY>9QsyGO5db48};OZoB%LBGQQf zcmj!hbQy?&A0L1kyJ&M+5E%5X1}1rth-dvD;N_m%cqH~A&ic=A*5B8V`3?Z-lvF-P zgZhUDI#BM{;DZBh{3O0I`OA5bh9{&Z)NWxchz#MLwCmUZW1j+G)caWB@+|Aozv~j; z6)w$bj{@-zk2*66?8Khu9)Duk%W?lA?~$12(8gD_)yk@NGT{#|ZK<hMjnzp({77y` z@uxmE#aPNB2New|rz(LzlK_*s$nL-Zb3ly0^kaY)Ly;IwJ2(ZY6^dxpcjA_w!o*3k zZz<%&a+r!kD>8~x!`p(a`eX|jg@wk%pmIi-2i6u#v5GeGjR7RM9`<O8q$3Q%kxSx` zz8A__;W(!7tMe$w(KJAo89IfALz^VxCN<XOWZW7WHKt%&kS#R2MwGq<=G@c=No<jU zGB)IO5l<fLEQ@XNEPO>NUzmTzhuMOl=I8ofrNhQeYZnt5Un1hmE?oNGdE4#7-F(>N z+poMltnxBb-x<(vzEUnE{==feD1)O%c*LmxI-;he=j<>mq`qgjDx|BX-qq_s8_&)< zgz5C6iI1$yL7l=xo#aT}rru7`54bFOJ2Q9so%;S$!|Ocsb8!E@;RJ8|o#JguzFSfJ z*h4XVn#%n=5D0AoQbMJ58zfSZct3X30F|%*!ubOy6R`S`a`I0-gVuNmmlweBh#kd4 zn$VjAw>>{6e({@}I;ki>fA&F|OCG3+31M51wrm1GPt-SI2!$Gen53c2xHsGx7;_~G z^5|_gVId>oJyGub&0D+#CW@HV>D5t%ZLn5r(E{x}11PE@?yjeS|4uKpsMQfRtm_nc zw%SP@XM>*63Pn3-@tQ=629va&(6d}Dl$K?(0ZrL91H_3WxWJ1}c%2ONlB+9#?R?DQ zGxvXVc%H8s9fNk76+zw;h){WU5s?L~270t?v5%%88H%~yE`j!Fv-Hw53n-HM3dMHo z;s%^@P+{m`NRWf%0J2<uBoBd%g_$X#;AJPQ82r8?(a)Aoojp4o{=qZD^_=)SdxclH zhE?^JqBDJm7quU1vt2tz@+||(Pd$QA@~yf~gGDf+3w0-bWhkON8lsdlpwmwg9m?3* z?2W0GrSCp1toT^TbX17dOw`c8J?DGCRS%!?WI`;#jeaxPmQ4T}<xCy7Y9PrQgUV#! zzzi-^KFOuqfK|K3#sz7Q11!NtcskAszi`Ggf=xOp9W(+on$|`w9TvjY0mVcFIgpAq zS?QC!cNWdjq3I#XdJt4w9osfr8l8BuO|>>!T%Fi;Ee!nPz^}<5!Nv7IuNc&2K={C{ zs~U#z(`L^h_ywE=mc^gsK_9<(^BCVq^d*=pym{Dn3yPnBLl?{HP8PpKKkDHxkd%{X z7HKSt><v?4>+c-IklRuNie}|Bx?~{MO<vT3Tl~^rQraE@;GoE>&Ymk(8sY`I3HbWG zy}i7<;N?fZ%b^Z0{opa?3mop`vL8WZoF%rPsU428N~bEc)d8R!252j|=~wYe;z+KO ztwXHTL$fdwi(lw$gI>MaI0>ge8e+2``0K>6D$*pZJ~7f{+S>YPM1H|-;|IJZ(XlaK z=eE4eb=@sWUF4?O(FvT(^R+Z6Tk2cjr=!i<63n`uYtAbCLM`VuYVqXsL%8CHuTF%q zofKzUmqNbM=s5-39->BPIk>G(Ip|<H2z5vulNPOwagunQL>Bx^>Swz)jmiyPj5}t; zMi*yvb!BQd*2v{S9UgM_%7G~oK}c|gKgi<n^R2-i_g~?aUhjO{+lF`Ce*5qzFTI!> zetd&)f;;@mhw{?1=?lxU(J>_|PRb#casaz@P8iw_K-*+zn`QGNmTOBejg%l#qOKeT ziPHyM$+iuse8ZsOf>)v8z~UPY?EPn0-7FqHG8}v5mEqc}uO43GV;(v27u_U=f8qr| zU;zQMXY{nX6yw}wO0lC+j9yW}iV5V_1vW;{QV~9(EFIOm;tfwJK=F-HkA*m`xW)&q z2w0uetayp%k$`m|<T7jWR0jU|VvLpE%C22Ie1p9*3*E|_Oo{C`NgJ{lPKmS4%X|0k zy^`Q|LhL6-q9O)ijKw%e2UFHp{xa~%HMm=(1Cw-Y+!1QZ&BHoL`)Lm@d8e)5Hz*2S znKeL*mn@p=Lz4xS&Tc$Pwsr6}@QprEqe}{;Y!MG|HN(B@?+DM&#v060rC9+`q!V<A z#7+tp==9Da-ApAmhz5?&lCvim_VFFW2S4<o;pr2{hSNOl=a*<@m6LY*h(A05q_)MQ z!4VS;N{xJCtf3+vz4*lksxA&mZvK~U@ag5AE0Ho;aEq=OL@Gu1!rEk;sQyg7F0DUt zmRMEp;iaC>Kl=EvZ||Pr3VvDekiZjvAmtceJt67mClVI&2qXB!&(@Wp&~;x3>#-I+ z%COJ`3t;t#3TXkEd?akRfn}pz6q<~H8lE(XFWQAm+sH?`21_43-11*I41V@b+}=HQ zk*A(6o;mY$Sgfx0l|Wbu`%%-Io&dU2S<WkbYS-?abJtvT;OQk_E;%u|oJ%7f0?>gv zGR9}5m3g_z2Ey<esjmYyq2Y`?B!?iot)!D1odMrdIk22qvv~1p971DRQh&0kB|PN- zIwzf9d`1ECL+!=cz_T-Hgh6s5Ic>t~KTLZ7)D1#)ico|s|AScc&KJU?r99j<1SB)c z{N&}Up+5c5j}CJj0zAoyv284kSA4I3sP!T|(53u<9N_8&m+B8nfeEloV^j`8;iU<< zzDZnzpk}=sJFVF6pLrk2;Eu}rrqLNO4n+MrnqcFzQb2MK6PH-&?&pfe>F+%;T;ltM z2lgEp&iHXp2R}x|2da+2u&fltU_c%jKzkd|ByCI**VOY??#<@i?liRq>Fwt_OrWAH z5!{Z-R<)Vb__tmRJaKPZ5?CS@d9_D~AfB(q-lh5ZmEFANY}>_i-~IBJzkC!2O>xyn zD%@!H=F*#<04m_e#ytKUpPZWf?i1f1{_vlC{u?*la6?`^>3i<$&Nmd(&-@ftzUW<1 zc6XQ^FJ9cX!I2|p#awXAQ<k6tp$2Jnx^0O;ngefieZ^qMRIrlM*7_$bYg6p2Gu1{p zq=*~U5(I*45H(&gz<q{E+`><=8?-`uhml)Umk_u@puP4urF-ZkViHKkpzt&1^IZSF z`#tX&Zocl?;X8cocZ#pz`lVwh+>)&v{Sg68M%m(49h95N0>;q+G5SIdBfk_mE%FnA zcJ&rOx%g10tP$?r*DnETeGvseGQonmEj1uY4+R#_@|f>9oZuaQ<0nrIFFg4aOaDW| z86NggLI1KRR{`ZBJa*Js-|)%dOf)K#(#~yIRG#gI_7(`u6k3~IF;1Bhl*}HJnZR_6 zU=7g5?w`UAteUhHJmnNg@;DuUZNVdtZ{*3JCv*8U`PvGfy?@vKUB8h*tIRD(;q_+u zlo>o?IyFhp48uEjZTn{*zV-UY&t96F-LY+!w>0yX_I{j#(NQ^0Zpt@@M}Dl=;XM?A zHk$H(xu@J@TXPt!s-^L#N$!1+WpIiRSje)cD@b)})28$jk6)1>BaLiyc*?~n{LwF~ zheqL^w!<^=z{R?x8Pws?0-bVj$mLOZB`*UkyKUMqAm51-kIQ<VaPmF(*YUO6kG}uz z;jyDfhdK6=wF=QbgrR)pDpdNagzna^ESt$qHjk3%{IU`NF|1l{A4u;sWP1fWIJUze zgOXf5YRxCGaaVSb8Zy}O&Vn!+(H<Vk<UIyd{0PQ=4rh)$^vE#FL@>ceQ_l0Of8Ft? zj3UThnBvC4S=y8=`6i*f1FsJr)oI$bKHM;|MOP3s7_8W+!lq7Sk+OcS0WF?@lIV7$ zY)O?Zt}Kj#^t(uXg=e|(mkoYoPG1_^y?u86*r`*~fAeGa{<A;&(m($aA;Ekw#bce} z*C?$0=xI|EK!P0|eBT^<rOD6zpTBYOwi8GGi+kRB$K3H#r^k2i+_^T70ZamYml%iX zByElJ)VVn=@OTwib9mud7f*GoL#QNJI%y)z&HzuCj_ze?)m3-`87{*5Nh)PnZ``d( z04Ob0k06jt@+WKdM~?UzbmW#zo~2JI%XYcdkCsBoG~elj!Zm#4?|@I3MDM^;_e-`@ zEdB2vj$b%G9OjL`GYpP=51>YrjQnS#qHt1KatE*Q_@b4?)K9`k!2p4<-k|BJ1FHc} zn<+lA4Zi9PD6%N~*X4^^d+abRT=lXV$!^t+fsGBmsC4`G+2P`I&kU!I9~-XbHD9lB z2;en;jx7;ewn*(f+4uHnGU6G1x<8^n+z}X;#~^J4*2<xUU)kO4kAgjpO1~JX)}d{7 ziKp>yLK6h^3NUhnE89VzI04tzl);Nl%^$*9J+Cb+FOBcnwR7>vvDapQ@xFVWdhx6O z@85g!>8HKgv*uf#^uKy+CXM=h6HL@#j5E)kkeK@K{_fxT#=Z0Be&vqquNyyg=Irvm z-Md#8S65k_X?Z!M3$36iBf<m*BUr=LsnuyV>b%U1Wq2F_*d~6SSLkIS2}bD6b#NNN zGpR{`$)tQu!6T2B;2Z3LXJffK&3xo|!0L=N3WZ;}W%QMbVkpTC*gPKqZbG8aX!i;P zmIki3Y%q~i_T*}g1-blnKX?1>;vWCU&z&2l+k-x?3`A96bTN0ZjQGf^c+~)E<w%y$ zo3TpYRM>QD!vbExk}rky36NTK1JJ+z<HY#AIde3~<X2)^7&MwvnAYms3@om0?Br43 z7an<hILKRmE^@cu5{}E|W60Ff7|MAh<RX@ziV364uVTS|v28t#${Hapd0~l3lAf&Z z&9%DP;n`4%rxL-eO3^f)4OG6TVtnZH9#4?~ZpBTcW@4~ijTTq@^2;!`d)xMf!>=Bn z{`q^}dt~L?U;oRW|NL*g#C~>yRe|nDEhTL(^|81)F4%}F+DKQ8P5t_>{@1_tv6b`x z$z6Bca^<C0kB#q~ompbm;&JpG$Ex*6^8^co|G!Dc1r>Dv?HphRNvDvs53nBip^60X z)U1^yssT}4N5)4!)FX#hd3^?lP6gS>DtOT3SXmfA^%B8$OVLq<X&li|?gJt{C>^a% z1g;gF93UwE(gmM^>G3ef_VZlwd)r&?9Nu}y9mBVdzC0}XdN1eQ7}DwFSw4bQ`3yb6 z3w65xau|TlN{|1L<@@!cLbeh|o3Pj8y_LfHvju7_-{@<(_{lVXw#6)J7J@5Z`87Iy zhb*t>FLS)Rk1zNhd-ySeX=&KWdkjupyu{<plQl>hoqFo8(L|sOcQdqm?xUoNrA}=p zVkI_LZq<6>rlJ~=GlBt--W0Y<5J?a=Cy&fgH;6i-p_F>zVsqrHC#3c-CHe-|tQT1+ zGDgOBZktuq(kmxV&iu-QAA5N6;eY$t-~PfEp4hf++Z6lR+%&6*V!XNSXbfzQ4aTsZ z)*ilYyR<wuKKbjv`uG0HgDV$*?&m*x-{Di2E=|qN%`I)4nc*OIe2j-v^n^xYM7N^_ zL{min>Y$qH*45PKaeC{Npo?q@t76%k(|NsJ6gxmB255q`(>b6UqRrqbzmmAroxnm{ zZ5gmZaSv@l2c$zo){lF_waK)>jy8z0BnMtk3<`jjU&%oS<armIdoyNzE`#kGKK@hp z4Nvok?>Sz6=_S9~Ya;<~f|fXg3sR_?`=5x7N)_CtP;kX7vx8mw2UVovlXuuPyJKcr zN=jiArh8xOSP=WHlomqQ%XWOnw4@?lv-eBMQ{3*m#(9kwpMO5zFFbK^E-yH#H~?2# ze)dmR_>|R2+l?rj6`qO6A`P0K)q<_c5=VRb&pN4iu+p$#8wPAF>*KO1=tUrwhj`VL z2IWaz42xIdF1WM+;$MUaanOrAGdZ=!Vb1cgQ)j$0cItonOF#3u;oD#T<p2GfzxnLW z9XrOaT)DCogBts=*yP5~q-|-+EI=5u_nds_55IQgXWw@F7jL`$j;rT)?ta&i<F8H5 za*1%q_HAp6%ge5)@Bkg;WMEIVl)=_qRC}swC=`9xJebZTaH&RaIxemHGwx*@Dd{*R zD73X1!dW^uxoL!F$uBQUBF7Amk%|@kqY1+33|8fxkL@1wF+0#ej-paVjp#0nHX_&{ zt|caQ!NSD`FVi0<0DtBapWua<W5ahZy`DGw=A#~M)ODRzF*eI2lKK{IX%kF==E5ac zuf$@J=yT<YpAVCQTs+r#(Nx?mG+yq<thyQHsv!t~7R5#@Jw=IHP5D{x1IYcs*S<b% zXM!6z`FECY{LSz(lW4$QkFFB@n5=m{EQWUiGv^17KG<_3Q0fR%C(26pN=X#zb#a8N zQ#;R;cI!~Yx7sFge&wHvO*9Klv6Mo;iG~xyQ{IUc>cU;9xWnKFcx`Ow?Ck2|!ou?0 z!s6Kc{QSg!`rreH-*@HgFaP@A{oDV;w;y_#`~Fr~4e`FCTG}*^Dq!<z%O?PxtYJnl zx2aD2!N30M+?D5^`kfosmLGc0eII_;@r9-9j-5O?zGug_r3pF~oN@1P^6-FVuHKCA zvcW!YC`xP!)^sz<2ncFi46G08c(_=kBl^Gqp~%HWJ%h2rK_?dDY$K;S3e=X$=hkar zR7+H)Qze(XShnZTz<Sz>R~XUh;%JX;6%_2{J092dsW2I|6#{#IKWjaIWp4P;2R<;| z&iDMj$-Vw#T=HAva-he=;TPs*kM;PVHq}zoY|0~>D3o7oVEVXlXd6~_Ls?bcE=fY- zBE1I>RnHtmZs6C4H{q?IHWDnBc2HAM?x??L@vgo_f_(S(ZNr5}9~+Ld0yxCii(kF) zIw$@-GeQhx&{m#4r7p~0Ch-V_S@0C%5C4$$0Z%dQ>38AQ!An1MdXc(*Hj4yIn#2rv z1qyJ43l_M-!W}q$-O92wVKWzWR=vY}Y-(b1Y>N8i<oJ>&%x89NpM3xI*IfEbw_fwV z9sA1f{H@>lt$+NT*G`}2lLu2Pi%W}5i&D9`ZOyjpwl&<|$c1k;a&MNmFY&)PKfnCf zf9aRD-TvvH{aa5@@A^Am`@yrf%yU_1c6@AwW1E#pP7++6Ul?1ze;rz#y~bLCj?CH9 z@Yl%>o(iUsNF&h%O`_7=1l%sklCaUZcQt4-@S0D94X(%i21Gh9dv18h%jLL5d74^1 zyKbsApw|a;=?jIsc6E@aH0H<;KF7N$gOi7QZ09F$PU{oDW5dGbIlgg!GY|TFY<T3@ zvEdY#{OWstu3li>G>W-VP@h@o344s<-qyk98Us9gzs4(rK``|e${j7p@nxhUXPre{ zM75F)Erkzt2T$qSTUxHavDLl(9^Ufv&{uwcxbB)m!+8#Q=6KP^q<1!|3$Hk1rr<Zh z7-t1QnYe<fKlb3{Yrtp)M*{Lp0Pt6^a^fVxt?#M#K?*bqi4vc79|nK{o!0&nH|XVo z^rgJC5>WgJxAa8yKdqkMSRQ6)IK)|AUc7W^ZhXmixWMPbcieLR)`g4z^!PXb=zsma zFMa8m%ZrPXzVe)J8*n_$ZQVbHJ%8_on9(a+o!0<f%R?%Blw#`2+~w7)4_&qLXCD02 zp}YU1|M;&xxitRQA31U6EoWc9FkG3NTf64KfyITT<taLMe3hWkVeaJ^tab;w>UwA5 z%JED(re(cqABdb^x+?>}pmvt=U_fSe2fMhL(|NR;C&{=a`AHiHc?PuY{%4P^dTIt| z<A8G7*yLSr?)~|By3b?&40LdOgRkHFtI0uHc+mOUxw5=C?BYK7zxbKY49B?B?`ght zJ3G5AFUF|7Kf(<y^-7LN)S!rb3u;TQBH;*LFWKB`J*#;l4KgUoVm2B)odaybI^4l! zIEGF51JpG#=sbNn24*IOrT8GZ^581baF7R?p8x%SH7u~?-^Cqoukxnf8Q%C~9E@=S zkh{&u9qcvm9q>*DnFt*0fjj6G>dJr#fnp{G^#Pu%2&!d0)|nSTe*?Db+C(+-PV_9a z(%C}{=_-~AW_uU_ln=M=vZ`eThwkhMU9qk5*!I$iGiRq}W@g9t@k#b~?%jFpuIaTe zJn=8S^qYV3jjuoT+KCh5PfbrxuP$)spQ{BD9Gl}JWNSC-`eRL*1au8n%*@R2G}AH{ zGA34-&sTr(um05?*WGj9&pdKz@fU_$?)doE9)5J!9xiL~DVsIsi^Ux~c1$cREln;k z3+5Z|_`#zldHR>I$K7@OTBbM{S`X8ibTeQ(J8*LUh3HaYHE_VN+}q{hPrBe*mriie zW};{joepxqizG}OexbGQpten(mMsz-b;8eOKQQq8`I&Gh1NB*D0{n9y|HQCu*N)-a z=g$q3KIO-m@hpcyjk>Ylq7u4&X;PvPY~)8?gS4Q5w|26|3-J`Q2aDt2XikbR$-74i z%4AHza^@QHL_Z?R?;GIaG+_0Y6EWBI>02*pE<FCd;rkCgI^1^ijl;`4(I^A`WO6Vw zGGcd40uKB(0WjFJYIMLm3Ah@NHs=Yn1f75>yUq=$qwUnuT(4ERY_H?_60H2-#5iL} zT706<!?~$h9qQ_l2Ke#ws>STo)G{Z(SLPQNr^cqH$1hyCFnsa@?^{@T@r8f)-knqb z^z`>0`{Eb=@jrT<mB1R~g7>ygay!Qghy0xB2`d@@cvJP`k5@*xYY~p2kH)#lWBbIV zOP4q}nBbD<%J7c2zhk)P!B4&SgFpWZf8qC^Kk^rkE)Q?Jcx7Sy_=(qsy*suq@7}&$ zr{siz9x-S<XCSZiWeeGLZ&}*dVb$q&PIGK^eK|P+93|~MDfK&TNe)KJIhhAwoO&DT z74+04;`zJ`;L!Gdb5d|%^QXR<6l`<JOPjEoFq{Bt&}-Wy^1RjeBX_?)m;C<t)QMqn z`;LK=B^Bfw^+TsjV#vtgjM`eE35mzR)vyMqgQ42>k-BZ9vkb_l!26+B_gnd;Xd+~t zLpX&F{lcQlmnDFx*2}hG^C|=70LS_dedQ~B+2`OehmAh!o6maVqv*qZ0a^ODNnn+J zCwAzJHVIHS7W}qk&Ie?`(}oNhGAZEc^%VeI;{g>?5At$}fEFW>j2$3$|27L^hhX|I z4{mz%k}qX(QfJ4o;-&fv7w4wV5#u*pdoAZSW>;>Q7!H5>&fEU^qhI>%-~G-X{+mah zc=E|5Z6N-qcWmFW##5b3i3c@`-<160Pg?x%Eom4j69G=bQaWd1Vw&><tJ`L0miM#R zFs-xz06+jqL_t*d-+k!n*<bo^e)U6NKXUZXU-#kr@BiM5N8k0#tH;K+acy{PWqA#% zWpG!gre`LZH7B^5(4x!0W^Oh%=|sI(-Kj@6nAqH!wrtjM?d^1S_dR*%QISx%eJ?Lp z2Q@ukIyAcM&7CHscL|F&xl9ON@D2P8gP#f$0fz$)egf9Pf9K6N4WHzOpT~K(-zlDj z_vydJz6^^=8x1p%U5X<Xi6i@h_roM=R9M|lQjM^h(SdYEaV!;qCW@{K=#NZ@1$rY7 z^=+&|(l=sFGH4d?%^@!Pz3_Wq9WHVhc-6s!!;5Fn@%18JX3~tU34p;&y!2&%mi`QW zm;Vm%2`30U8J<oGo;Y?wh^n3|u&w>nCy9CnJ{k(Mmn2XB2oZmj@K&28s&9?8wSmia zEKDX?lr6cZpWs+`(odex(SLW{eB;{Px8D5ZtAG4Q-+17ToBp4F^gsWDZ=ODS^vVSe zacG~Io}HcKP;XIz9_Op15~)V*k?0?DVWX8lW>M?xwN*QDBU_eBzUFyiVu~AGm=Cfl z7(002z}f>3KDhhj@^H^z_}l;GC%^IBk)J!ZHh$;)+W6GTGp7iciyj}Z?%Y1R$kJ|t zfMG)5*#kO0J=(eB&I)&&Yri5-7suVr*QJH+rBM)2S9lU|1G3{KXV0D!cOuZ1J@|$) zKsz(X`wspL69&03adVD<XfbzH;SDeb;4-&(IuZUXC;g7|agXQNtJJ5i2+<yt<glTx z?54Lx>i`2*wuPz{t#cAE;RdupT)B8A?G>RF1zBd3xNJ>n4r=+!6Q{M<7Ps-RXac$G z8h<F4LFs)BtOSRZC!ZLe{Px4ct(@q5r7iu#zo?`47z5l7fp{oTOMmz3t_o_P=Omx2 z0s1~CcXcF_K-DQzw{O+aJPrtd%lQwSVsy1V_KG8&H1;R`=rKJf?zoj@ZTbA%+|(ro z^R8XH)~>(i>aod-7cSkgXU9{Yy6f$~_uK!=|M>5&ni_xP-+c9}7hXGgk|URiHCC~V z`&lP{?&RfNjU|UH@^sw4_oQV%(WLbW3^Kpy%0Q!UCns<=r$85%c+2hTUha6?z5l?> zum0LUc*nnd=)0d@z4rR|?tbe#-uKL_$8S6Q+DQ(am_#_sw37*e*?1zC(d^mLWI#U} z`R;+SR--LtfZMr7D5<wuPMfgSCeC_URt!i80;@u3tlK7j(YSZ7vU~m9+@o}N6%1~L zx^&E;f`c7>ewx8Q%_Xr%=Po7irOU*oVxv?+UHe}K1dN<!lDbXg!W%Gy-*OAMfGzh_ z9P|hO>)_5+!nC<bGj(Z9r9t`Cav^rDidit#N&j#OcprE8J@mW(lFxeW9~PiE!|lH_ z4E9X6;VT_Km;NrX=}(u<Ig1aT$No9)&q|WAdwz9vqDYP`^OQ>~%UzG2$4iP5AUc2H z1Fq*`(x04Da30~&>$Qc|wecBbzvG7MSKfWgO@~i@_u+?coLK(Wk#GO$?|$hEpFjGx zJ8oZj=I{|u@Q(8;GoD^%9mpMg@LcoVhQtVJ!7Rap%%5P=?4Ni_C*k+zkMxTHKf7() z*y7UCG<!uNW>|9e<rsPFJ@0<k+Pgk*&sG2S@h9H#3;)%Bd)MXddp`T!V<$fR?Ades zwsDr6_YpA5GN{<Adc8bG8Uz;1TS|XBV6C$;G%}Wx2Wlq;TLlbUsjJ-Sq_I=w0n7pe zo<)D~bM638pA>vir)BXn8Bor|K;1X^K5)+mh8uar_qz=KIrnJtt6&-Ft_}`C_06g! zb>dz*8|?$JsuUU@P=g(xgReoZ0yI36q;>vmpqNq$Lc-r%d>a9nvysO3P*G4nsY^?7 zDtR*Z3QOLrSo**C)jt?6o;yDr<YAu|&zu{!aV22I!zt2;&Oz<qXW;w#Gainw$uL(0 zoD3MOZSU`d@4$^ugsCR5?j!j+NklbxseexTnbQ_p%I;9SI^)X5dsR3goxbvX)m?`U zuDt)6{eQf3;qsUMuV4G`zjyz8-u?Z@zVoN2zVql~W1I)5<vbTPIh8*)Gd;C<`SKOI zyKK^|7VC7sKK{w4bl*>2jW=qbm*O70q{DI<#lGaO2?o@p$I5ixqF%iDhU<n?r_YZ6 z@4xXIw|)9A|KjKV{^!5=u|InL$jbaUmsq!NUmM@Home6$=)6AQa@mgH%s{1085ODq z2!UXS38Rzz>7?Y8YdH^Xk+bKk!AwJN*oa*C4d!G(WCJIt_>J*V`@m?=bMMIVxc|Lx zy>ocq+uuGs!IN+2xB-Tx%o~C?dUk!FQHcx`$~8C(rZ<Hr1;hq~!fkoA#`fsjc*wKH zH#FK3IYQ-Gspbm@TKOgfHgy>zGVPSEeCg8PzT@i7u*x(3kALgi!)>?RlpB7S7Rv_l zBf9Z+ATyz7`Ol!wp+J`YF8SMJAb|s#!EVtz1uZ*(ognm^JCwePQYZb+E+TEY&jh-3 zJNOLVVGnOtngZt{Ph9R~(mpsjw)PKy`InX+`q#hzEC2c5_#2-)uz%mg3$Gll)AeIx z)7;0xLXM|+*z*{#ZBHKour?kP`yX85K<Yod)SYF=k;ZVQ&SP4pM;J=ebPf(5<L<GU zmyRCeMDpasU;8V6<@s-1ckQoD9((1Z&wu%gV>jG#^KglywHdCrj_uqvjPD}nUGn2x zSNE7Q(QIJIShn^)xl8}P7cJ>5108gMSHMV|J-mb8K?-g7z$=3$!7N6pT`L00^6|Jo z?f+kU?*V7|QQi6eZ};sy)01<aQ5fYBNJ3f27^5XT3t1q`V1td3v0?3J@M3%Yz<}50 z@iD>d0}QN<c}p~412$n{K_H==!)THwYV!1S&fPcc@B2ITzujQ%J`DJ+uI5(v{r@YR zI(4e*oKv~}B<bCcnbv%>^=kFEoN;D$SmXX7F}Q_a=t8g&h7ckr0rB9%4_qW$^HVys za`u^t6Y&Iv^va-Og#xgUU-D;vVI_bh5Fmp@TCxTVfV1%nmwO-JQb<&rZ2*RmP-qbB z4LxlqPiFVu|3J24`I4+(2b?D4-zMRvyqsPwZ;A>H`k8D{LL0PVmth%_o&hijI~YQN zF+~uqy;And(Ik-sM~|YY4LNP}E(lY-&yjs`r+OONcy(N#9AjcmB3+$0e!MU=JyqI0 zHeMWf`HS!S&|iJv(;E9XO;#$}qf~6}>}c0WRU3J=auH>vRczI(=)u6sIjKSLGwk_{ zQ~-GyrJ_q!P2Ew%Sz$`oj_F75fXfl9x+t+aq*n7&U-)8aZ=qwVxudg<4J6g!p=^4v zKNwjvwp4sU+P#T8^Yv@eWLu%VQysRptVs;Pn=WJCO?TG~AvME^=`8FBQQoD48O4C2 zi>_;ki%EnmNYxA2c+ao`UCcP-qpe=qLT&B6Twn3+o1V%Jh#9SLoK>)p9*iw~FnM6Z z^&=+tNoffdpIk9{^HCBAE2Jn(K>!ta;Z&!WFq0NEQ|?aRkn)2LU>yb!GZDZMQIJLn z9i%S-leH-OlmM1#2JOka?(robE!yvYR6~Gvt#a`7BB&rLCX}b@LLT@rxradKLjm>> zSW%OhgtbIVUy(qg45Z*a#UjO`?xR-;+S^;QMXGz<tCNlEW})%^-fXEFl6KWYf6s}m zR|l-dln!;z4psJ^(2G#6vW4@zv*QCp+1Ky7SAEbXF-kV6_vE;Smzw=Y%2h<<*VM;j zrm_Y8%r(zw1@NQAmdexx93`&WQL&GXjkV}qdU)%$bt4N`v~{(#=q`onwx-rr?FV7% z1t_)1Y@*Tbx{9t=svgm`YE&5AOL_(TG=HFr^|EH!d29HPRmG&NJ4dT(o`BzDI6==r ztV-{}6I)Ucq(hGYgQD;pfSjhC^a$4vr9n5eMa+-zPbe$9bkk2sX(6<5J()wQYQjhS zS?=5)d=^sBI}&LJ0;fwHmz2st-jWsLN4hw+kvp+i;1aB&$phF(7c0i)X-h(bnB;+p z2B?N61d;8$%=*vO#Ae?kk7g%y&DTaPa~{-gKf23|xh1xgq?1DllYfk7^|4EEr=`@b zl$+^EFdMIKx>k_5BCUluWQ_EMZ-E4UfdsrNr8?MmG8^ja%_?b*p`u-tqy2r^F5!zj zqBw#M(ry-<POb`3Ri~{>*@Rku-EfuN^XOw|?>~5Gfv6c8pPWQ?q$NaiwDef(&eW9x zm|ePJY_mn1w7TvkoIX!q#JS?%z2pV|`Ey^&)~;Gr80M=nY7I2)Dy9-Un(M_NYDv5^ ztcV?k5mTw#t!BZ33<s7NB8U-aO;8Y;jkIzoXbGoDc5P`C18QQ3@hRg{;q<UVt()f; zqyVf0)Iastd0=hG^-p0E{JizLM4O=I>dgE0=}CS1O6&cihgJuH<&7YlObC<7h1~*T zNfeB^*rA38H-$r7?9pQZr!krgqZ1HV`MK92TMb5jkejD%j3NrUf|39bcKgXCg_?Q- zvfCfpRgNg$qV{pLtLy*B!;kuYzdp6XT>9Cfazv<6r6|P`H0xL}86YiMdb;*4#kOp& zCJx)%B=o8i;;@u9F+7-c3-^5SfhHKTarFdy)S~xE;V_g!88Ghv?0}F`0<0u3&euF$ zWKwBUUpk*-H;UPt&E(X80ThLf*4F852M%?=`H%nPvfqE>Z>yum-~(_<x_(XFDgYHZ z6~O5#NnutR92s7@ZSR3!=u+#g*1rX2GJnIt`T-m*GHy9!Jo`=K4vZKvfE?g(Ze8ZW zjp~%z=fOTj5RdVo&eci~$NSV}Z)$E;3lqy#Ub3QRfdW$NR9mW2G%=G~n3Bef=WX1W ztzW(@+a>$3{7s+9OKCu-t>guO$VV`p><FX*QW*J24C$x{V4(0jRtW&f{o@T@_c{!l zaFEuFHK7GwX*xdPGj>IlnxjP}694*>l?hed6P+!VV%w>%{~RspwyS5=quY$MY^%Cb z8LOPo&)f&FP)c@=1e%+FU9k%1%DLhGlR_px2`)SDs!}TIt7j#(=Eo$kN0mO4d6czR z3q<FnNfDjkQd&~uktflFkc&*`g~ZXN?yZ4GI4DNdp2NwneAL_*vWIp)`Espfe4eGs zXM<4@)vbYcab%%IUHRz`|Lxzs<ei`V?AJ73SW<VcNO#gEF{ByO4512E0M%!|fU<`R zgGX+G!DaXMQh9rnYDtl&7}{U%5hL(t$rcPJ(%dl9djOAGb(0{bvRz$PTIMYmJ}29> z>5S|twfsk6KyZ*4ad<glFcUV*r2H7h-Ug0H`4hTRObe?(lBfqZhl`v96=(nw4dB<m zf@BpI(~-R7M|kus@B=V6ks@B?A5fP3XwkbRw8Qt@lO5i@JKLaDn~|xKCjE5n*MfPP zc4^J}_wLV*9XqB?P?On|y5+6vRn_W7h?p<oBAgPvHPI6je^Oe_F|Xs<edvOAnV3UK z)TO-S!c91|r3S)zAy2iuQwI7)dHGqbXoH#VC@dX4-c!8(vgd5y&{Vnb-S2tNlr}O| z$Fz5WbSdY0H1*sAaCuYsRPNo6Jo<}O?GCG!G}kL8i7KULqzY;kgntM}t<uf0s&m04 zs~H63K$@A=V!$?LFq&`xX(jaHZJa7ery8NgfuJxy063SWHEFy*rTK>ytJi01R%`id zd?Y(8K|ou93xOjgT521jLVyt@7;u754_i%O<O%P5XaR)TnDQ}nL^I6^NBAfF@^kzY zW_$QJ;hYLHdIUxuBa-can_OIKjajs5QtxQ|k%zJ!ciow-T(vUWqfdKJF!olyS4eo; zS1ips=FiPad-r5xf=6laraGKQS!mHUpQFuQ47C*COrVfM*x5*BJ}?0gLD`V|zyT@? zX?nX}AklONEb~F&bD{ce7dBU`c53SK`(pLb;OOb4{-amQ|GOH7F!#jmyd)9H$x=^- zURJ#twpTJ1Y(9PC#>!B0%UgAQ)LPvhqosNs8ITbl=uiJ<YO_J)HMmqQAVNG-Z+R`k zEH%3k1v1w$VfxL)k`4SY9K8bUfa6ZEC@A);Gp?Mscu98o&%H1k*X;Bmm{~N;Fr8xt ze~ZZ#-K^!_fanaWfH5V>t@H#3D9?NhZvyd$21206Fac{nJ>0?rXQ-4$4u~J|6*uy% zw}p?`4l?P`>2ws&<tY!2IG0pE%O=LM<M-U1b?c)ZUF!bxQP27M!jIO`vrf4ewsmCl z*REFAzC9aKFQCA1O7ST#&-^3&6p_+HsL{Xv<+&ko6a&8?BxsgB&pWgdKd&3?_5mg@ z7uit)hSQUdUX%%MC9Q)$>X}TAjE%L<&#Dg|J+SXyeUZ6MX{eKvG?MYw*Mof4ol&8~ zfz{TwHUxe8rPtqZ&XU#Z&l%NKS(+6t>OduVQr*HWnpEShUoZf60%<{Vf4~8eo41s| zyNuy9Jn;z*hDo?!{2V4RoVX4Q#)Fz*atRo^v2B__eBPDM&kCBzI;hmS>6X?D=#+F4 zL;Hk3IBJQ2Ho_tmg*irehXMjuzyONfKcdQjidZ&!fyd~9lPf|3f+wils~|*uZ?n34 zRp3cRo=!8-NuP)hda~?x?Ed>bc1Gxr>L5(BuKOO4B0M}gp6%`*${sp=G&^*(C(G8Z z%vPLvMpn`ioR{$^8^-z~kllX>I6MA$a|XcUblDm6N0|qmxzN{W6N%8~x>w!UpG;x& zCd{ir*yUw7EOyI6IQil1f_A1JK6)&>=$dOTz3{><V3=kS8t7n2to3E;vj>n$TXoZ> z9zdyoY~s3stne#Z44Be*P)p8I$(lN*O3~suQ@~AT0SjpoR0KD#GwjKczwt=yQVTOz z!gs_|pvkEr31m2H!fCvP?9yvr;2yw}8uyPw3rv=e|AAK|r)D|>L$uJc(<61bUMU|T zm_a`@qRpKqQDyw9WhA+cWLBO76b@DhF(S8iiM~LkrxS?x?AWu=8xw-5N!W}n*`+6R z(C5DUvjsZkcS!5#<Jtk~O*mSfqlIS$fYp>?3H^MntaPqkp0#S#rnl#$CJJ?P4#OwG zL4}tCS#42*E+^BgJV8ME1+8R3F@V#XFvH*tTrE%XKsf^^YbbWTflEIWL%6LR3eA;r zlN3&&G(I+W*8}%_PPh6D3zXfdMj?CM8F;4tjLKUlFV&@<)>hK>+4HWs`mCp(I+V@n z?5IcwSYt;u25+$amO5gT$J<(-YIaS#a#hjcZ>Ezy;Nu-Fq>4%WNL71sj1~$9hByBF zj5JW=?};$cdEup3ND!80JI98zQ8BV_34%ElJsM70qCf=-<2F9oNedwTJIoOjSNJ16 zw1Z&4rZ9rdxOx!9^zoKSP|4v?!_1V4{Djx(gU*oxE+MPMHA#^Ga^@dPam^Cu?t$KH z``veEIwhycJMEm&uU)M_8*|uKL94E_n-U+juKGQ7av+-=8P67+yE$9GVQn_18UCgg zDFIRgj<V9r+k0iPFsJe}h#rQugN%m@`pFCL$fG?17@{$=!o8mZcZwhNP+{8<+j}*Q z(_B8-)4TrVH@;#eQPV0E*19zHsQ^@EY7wZt34IWA&YXoyU#MGG)J0V5uL&kgfXCy^ z8pk%>TJ5OPVGRq91xb!1%m~L189B`eIWweifd|7U;Cv_nR|T^PK&=a#OQy8P;M|KY z%~q^km+jGbcuczu)sh4zfdS8OBZNsFHndD&i*UlM9OUD)ltm9wU~6cjNwgt-ge1J3 zJ$d9UU&INVq-%fT5eXxjlTGOdPJC*9w8(PUhqpi|AH<7M0bOMsa?KVhf7`!%tJm7w zb&<(2UG3eb*?zC_7g!#RJrvQ6*P6VP0b4px42|m^!0D`O^O@Squ{s;4PQ4<aK-XI+ zOz1Iv^0Pva8^4^Holk|ibvJzx9>Oe0!b~+0>EcIuf`hz7or`yzU-GOx3MuD6v{j&@ zT|n8A)oWiUaHq?=UQIm?0nC}IOzqI6N(;+-%h{i5`KXnVVX6r8J`Ab4&U??bI->Ha zY;i*JgCTy{;O1wBkR{kW*k(3to}d!~8m1Igba4^>P3LaO&N%1X?1*{+1KP;atQl?u zloa`hCWJyGiSdFiJ53-q!Xw0)BGf?1&tVbA&xm3ij+{SII(dF_@7h~<92I=}4~2s@ z@<fsrczl2juuvk@f{K1ht^Y!u@gKbF?(ERMec8G-tFuEo@~aQor9(XG`m=w6_>A2p z_$=YEk&4YZ<J#?~yR+2mZ^~M<GSH$qgCVUHa0---Lb=dKc?9LAInM-wDm%R{a|Utb z=k$2bG9LE>O)xL=lfxkRxf?$;z6{mHxI`-$%_Ap{j~#w;=jWM(R*)hPqy9{df9s8O zRf%bT+dKdK+}`1lIok27?c}Zp>fROW7j-#HlT%lD%Lj9t0eI*a0v08a^8zmHGqnpW ze(8-peDsu1Yws(|R?`yx)tk=D&OCoh)+@&Dmk?-h94)sZm_dn{5QDDfG$DAXCm>&7 z3F85H*a<gCjTStJI+KqXsu9@0LZrY6O6&-T-}Z?3^fh7!AwfY$3QpxIf2fgg_%xk_ zze5{*3VU{EJ05>b%baVn9!>Po{f~S6(#9x|q#*#4dDz(q#C2Y+TE;!0O+QmQJW$jb zjjq!+WcoIqCQIW!1fdFAdCSzwB^(YT$H*&h8<dSBDk=PxU(fcF@6>bh$_Ztnzr4(i z#4u56;47E)9me+d!b$CDT(N$`nSbz>w{R|?#OX#Eu~jWq+;w5<R{@AAI2>}|=;5om zO-Dsfb@@ppQ|XMI^{g>KRAs;fXoSx&60k&^@ppVPM$RC4xG)HR0`(gOM7N(^ev4PF z&Ca>_dD(~<`>0wtCdTNIV0b!(lvdzKcyUN+Mb|t0LQxR|((p?NW-J6a+=0%#ffFor z5}sOl+lZ3l)ZVES<yJ`;dms(}K%1wN;=}an@|V@)nKRIrJ^H=x>wA8Sydi2xdDcoz zjP)(-n#Gr})B1Y^r*erIekS>JZa}E?;TYY3Jeo~R7qZTI3$jI<Hf5dKJjKpCU}o|e z<(RkH3W=~B#(Bu|4bADN*X;U6;4SQ`yExAgU4O$+F8ZMer36(VQj5COmLbdGzQJ|9 z1N|%oXlJ+Xs|;f@lD#fob*liRZFS8`CA;t8$2MB9T)#hD$*v96FTPZA?Gs$`p;Ze5 zvqwd{zU4Wi1muvX<0G~J*Z?n!y=38S;n%4)ja%m}TAE#O*_9j_%MK|WmH@@}8dJhd zfuA&t4m>FZgwCYs0UU<mgaws1n!%A!4>Gi1au>v#<R)OT5axui=obb&5tQdC4+*Gz zxiN4HuY`#>r~(Uw-b&FJNfA4(scyB+mT9bh;0L#RSktZ3jYkHDL--}^MXvOgV0&vc zI8gvn1m5Q_cSVYT(HjB|eeGHqIG`)vhBb58C1tYW%+s<~h2_J5nes@v6AjR8+GMBj zpfp;12$rAzT|NL|sQ>hn$m3!DaH9bV6aw+&?=rwGmk)61dhemp@s1~U?mkUk%oWt* zP#V%}^CosY(;umeRn;|NR7&NQH{O_a%$v7%Kv!n#_7$|VD~Sphzvx9JN9Dr+7+3>; z@32c196S+~4ZJJdPU6Nda0!7J0l!=*oQ`@RtWoP@?pc?<-?v4d?k?$0`~9Ma-Easq z%tt)lW<-cFqY_9^qzhAqa!7Olr!c1%QEbQ0Kly>r3Ijhf$_txeY%%N%41P`?uoPB{ z6!Gj$x`BtXui52C=L&(<wa!_$>Z9*IZS_5TBwMep|8aHwn>F9zmYxDa_<8ehdmNyu zun|hi06bB*(KDD<8FXru=dk7g1|}<6hn5l7Y(7Jiry;6}W#hSsWG6p}vBR7dJ@WF9 zf7Ge+lMA-XhO!n3ls}Wl@}rzx{(4jADE4?0rZ4wu$#QO2S9z~?E?#lf)oahx$69sJ zsEJ#HT;4f7b@Hya9)Rmt$3LOFv~JU;^=)(JuIHqej+{2rE{4{2jk|Kq3wdS8;R>ha zgo9PVdgw3SIT&wzNh}x&ym_d70DvJpQ_Nu#PQ0~gEV$*$=VxWjc<*DpZ$!aJW~>@M zSzy4_BQP={^w?BE(bk}yQ(E$K>!&#S+=NLFc29H*%nU9#5_SK;_~p(~<N}C)GUPFL z+BZ1>%?<t*PKDVncPP-f*i&D*$eQ==&bH~4-`dryvt9|vgnB&8gXmC(*ZC#kZuK># z&+<)D49eZCggh@JcfQQWib1Q&^_XVd2Pd@QLp^~FXPwDF+#Mg2C>Y*Wu2`U-pA39p ze|raCgn*Lg5PWAya0q!VE^Y#5DT@5e2Y9*ZM|b`ghK7c+h0B(mvqU>PWpscvIsvou zM8GrM)SCiud1_adOZ%}Wwyi&LvS*>L4CgL3v6c*bfM5cCGQk&7!7xAs5e}0WzV=2T zz#I;Q4S)v+;C?tl4F}ypHmK0^D5@1a|BB~l+AfwoCAW_V`}Us{U$__o(8Yv44@baD z8n|V5ORn@%0%puS+){6N0AzBz$xSK)zZ8f!xd*5IYdG!A1OKEQA`V{3CIv}oLN?={ z;+e@c>8EBdTdch>Puy{*_Bbr`3CRH|01o&twr8uhq+FVealh>J^y%(1A7J6<t)F@U zm{{43-T-h=!wKDE`b5}}ZVhc&xG>wOB|_aEVuc73kiUO1H<0H8q!#4J8@a;mvecWp zh%P@RK{G)8<0lxhZ+q^Rhw7U&b!e%HU7cH>+_S!?r$?I`IN6MfCJI#7kBO46A9_ux zD&2IS?CYODIySC388%}f1g>H;j)gmF(E<lUTS0(9l~j{w)thh2alPd*AwG!<6f@w7 z=buq1Juxn~#&Wj&{41}`bU$?Vl-yOixo)Y5M{NC>F~Ca;P8%J6dYK{f`2oWjHW z$He%U^hIy-1A{%lh2oMwCE&aR<1zuBpnx_q!^xlchD&b=rEG?^CE4vqM8T2+3SU>N zWb-8`JHPW?ukSCFa30g-oxc90R-7(B!p~Sg9fy{B);10MfeHmcZy>t=Lanldl-#&S z09i_>Ss6H{!&F0MEf?wx!N#-BurTJdP)6i2eh79d3(7=>NxaCb9C+1~a1KZLIWgxk zZ$NTo4PiB$qDU9bHnG$=GB&<gv2>*r(Sj$j*ORF$1>j0j>FQ{xWx01?XyK67nKk~> zm)E%XgPNiuqhhh=!UA)^P5~k?|CtXR1-O6>7@%Pq{xFd?>?lJQmlli`L1Vvjuec^_ z>7JV%)H0D4wB@fa7YQsBOW-s998V(Ct&!7pfLk-SNJ4FOMi_X27gIYAvYTMP$r0|H zzIfwDJU}1><$#s=<ilx1Br++_^pju^$--hU0x<C=E{w15H)iuS#vgd_{_L2((XeL4 za^3EuU9noP=gKa(=;{(%s0AO}cp3N8{TFsA2K>x?@=K*^g+TAZaL^%p7%2g{d#1|S zNJTdR>Dz&u)Dz&2LDQr#>YO1IS#a;de&O%(kUPft)Qs$elP}5!ezDTvEkFNe`4Mh7 z-2qA()7lZJydFMsbZ&27A4`GM-3+mK)QPDZ1&}j?CjcdYmtJyl_J%jTapS>#`*g{~ z9KN(5zKd=nW$)@pbrO}0XH<9y0=y3+L`~%a6T%^vE1f_XF|{DL5Jb}9EhaeU@@ulT z1q-r+TI=`6DxxcBq&1dMB2Jn&AuzTX3V(MzEr`&=zlR5!loHz|LC!_QXq7kc7?Ypm z&%K|VX3*f5XNqX@b8muZ3IMmuC8r4($kNNXm4EWGC$N++CmOlbqwwUeY}eK&vUQsD z8<xPZotG}Zh1(N-Oz5fW@8v(SnbLHtPOpIUm6nGC5Gg+rcfH^wZQv6D@m7G!yhmpR zMyjn@Q9Xf8ni$j)OU#cbK4pm#h`K{)Wk;APOTE=!bDo@UVdu@y>5)hj$`ARQAB;y` zMd6`t)ZH)Wv+dQszWzn$pMU-wkZL7B1lFIa8wHSxmMX)lj{udkv8n0JFpnyc+IPkI zohp|ag(+Yxn1{FRdbrYI4k|Z)$xbcKW)R>)DG(qILHLz6!hg1ezhm*D>>xs~Zg1^m zpYXycq-k8ZQ#x*?@E1C0nVlBt5Q1M$2dx&chQmMMfwA*EnDgxKSU-%@aY-wcoZZR? z^w~~YPC<#J^0C{2DP8#^km}iRscP%7BiTcD+>tF@y2Rzc2R-z4ceUUMyvhMG5Nef` z$MRARD1v-d0Ke!Jkf4C|<K>p0sHCNL6hd;7KY*nCQ369cir*q7uwF`lZzeLV!uWDl zmxbW@S6NeU&Ob<j<Cpv?2f%swsy6$pXTe)($unS?&!Nmz5!ADenw7>TC)(cl?|;`z zf$}BSb!X~E0Z>O6SC;BopJVILWuU9fJo<_dEnprP+ylcCE9wQ_5rCLXe(=C7gcdt_ z<TzLsiq?QA0ceJxv=9O@`{v88&bpQ@mGJB6F|C}K(2#mKWyOQfd@H7WEXMfh2O0~n zAxR<$bM7xjqqWw*jg^*c(12I&Pf8f#`<?LNkC)Rh5pu}GO39$P$Wvy@Dt`WjC0{?U zc~f>uds>3KK-YNhy8ZU7MVDlD&*{z%4~@jQpYc5kKn0BwpiDeWLJ6QWsR#ar19ae4 z$3BYL^t<%s7ql_i7Cy3IM=3Z{lpZ~SQZ}fbK${fs+A~krt;2ECvQjp!dCP5V&Io0v zALXE*%h!CMKns1!t(5~Xf>ptAjl1g>7?iQ=Kz6-L3fsMR@7W|-uZGgB4@2c+lBU)A zdduY4<Qx=$v_CwRcv#GjE!8I${-|(wfmL@f1&4)sBU~^<2#X+z>bN|Bm7(j$*j2*c ztiwE;pLbQ(wPIOzP<I8=YPsbA(t@i5WP%1GPdGuWFpvw*%nU7f>kmKdy;W3PTemHY zOCU&acMBfe9YS!oKq0~1ox(K%65N9YhXi*G?(XjHQc!Z)-#PpIZ~txg{nX2<wpLZ2 zW6m~aUp8j%y<jF*lRLtnqsj`RGec%blK5+TeNTH65#$n3$7p+zOE8fuIuiwy3!YTa znDIt|#>KlwbKSz_?83j+tm?MLs8jTGTCQ9r^SZ{zO>JjH8JG!DFlA-?HjRf9!3^K@ zOfQ`fe5394xl;(!>;s`!zX134K6v|*qtiU(zPUPzYRIrom1Sq&+F@iRSzHD`t!$Jh zMZlNN;)$l)Pa!Z$5>LK@GB#MS+<D%&8>Jnh{%Tm_BO8?}75JWOpI*aAf|GUZnMThu zDSAG=qO53HA0N(>ECFpYqI^K+1}&B5L+_6j!v2cbwiqY*I}x>>pF8l5Lb`Ff@9G*( zj1b5;J4NkhaTn=UE?D`e8Q*b7OBOS1eO?tU#MX-A@;d(GMa6PZCW%e^2Hs4-ICeaf zrvpDKi>n`(!zaxvxykjrA_J~V$hSQM1yrIL<e-rO=+*+Dh$JXg66AB<k;?H$QOmjC zvW@TYdVKNbpd0dN+4gujn-;fdKPm1_dKDw#2|`vT;XaOXjZ65zMOpj_TT&LSopDW- zuBC%T={E;Mv}Xo0SH!N@=N5>nQ)l6jcu1(tsY&Z+q6FPKs2Hk8OeqKDciMsryGX(3 z5Nf>#!QToQ?-<`OqxOwR2k#!SFWE?5^$jBxb$W8~jejs*&urC#`z?SHq{&KqTqv!% zU*2oV(+BsHIz7&t7o#1*Dd8{7cA3n`NfXH}S+SsoS*_M}w9$&Z+#1I*8vC5M?}{#A zkL9|LW{c$BhMez7hud$N!FoV_=hbC+tWayk(d#Nx(?Qc6D?`cOo8NSdgLCG98)xH` z5i&#&NutdaqUMWZJaG0)H$7X*{_QUPl1Ys2jdITq=A0D9^QIk4nYaf*Z7-+EM)3#z zMneEsX0jyqX}fq<F!7YSJoy1lhu~9TKAg7xRgxw(=Grf;wwb9u16{vnbOwp*3EP-} z;QnG7$zITRzy<o=ul!GX3JWbh28|#07u~ib7bXQz)m2F|=P?o3celyWOY-d1y!_N! zuA<Bn^T5|}xdiy(KcXq&htlaw0eB5sfV(zAzSQi6AIWwm*(apRm_H5~bh1r))b+o( zF=BANPZusSv{W0@tMK?{(Ng9W&vBy<YiF&UX}>rtYE8c;pyo!zq?08SEwPTeqA7o) z$eyS*pwwl`^@5|38+k{^9NioeCTVJZ33peVE+ue$=!17F9d{h_bv|)b(VUTX2JQKy z&cN{%?OW~^q}ECkH7S|gizKn-MpUYyR2!v>?CO?f#c%+s2k%na)#0fBJHN|FycD!X zBs`6Xo+EgD)B7*KBgG3CeQ2JTI}AJb{yJIG7)skB83%a(w9+K@-B;>h;$<UYtGCbV z{^79w>)Y}VhB!}Jtqw%|_xqI`9a<VWPsw!1X+eZe1CMTn<kGlBE-l8B$rxVPZ*LTP zV^vuv&apFZ$mf_VF_hNt;7pOylZu%$3dDbLH@bmhA<J`53@5)%KC8=R4QMNtqk7x^ zX>RD2;ojm^lo}%cD%%VT+ur+1NMhRBNvakba!_TMR<&5xX~zBd`#pe)oGainFKru6 zCVxMA<#o{u37!e{g4(s|Li3i^b>hd658Fd`W?X*ZB5Y<d>E>TmTYJkS42_euDNzAJ z<cKRQG*9?L%mM)^xp_P;MHZXXau4BJ&FwQis$FH*4p~-U5K6Cf&V)!QwlnYW1T+YP z13^9qC&~nFF!w4c%LN}j9KCK+R5>Ku47(hyalC_InVE;Az07;JE<udk)LAH_#G-WP z67%&6wZJ#7uGso2<>=t-DWA?SjuQU1MUatk9g+I*#yyQ{-?pE*UJ+eTxpR)wi#ST^ zjWe`TRA+F1<_;ocaQ|fWQ&&wMTxnOTy;4urHa9Kiyc-{;09aa>DZuL~rcF}*@H<xp z4XwT4&8yz&Hs;h{ZyNjs=$oG%JLc07WRpX>5|2L|^cQ`x?a9XuOUAyc%9f!S<PxI4 zsam%(T>d!vklZN8gDwsaALT4)$_;~0!sKe<ZlA^cNJlOIDY}`f;y5v{?&Ft1Mg6Z+ ziRkfHKPiN}l|>zWhdoLKR=rQFTFb1}skjU>C>HrQYs1S+$pY1t#g_^{Y|Bt6LtR_3 z<qpY@&voE><fM>t1aEn-CT$~H*DffDpYo%QOq0ow?ci0-LSoW~ik(h1GSB9z^h(-| zAJNA$1oSEpQyiqTk_D6dt%uTw8oqZ$7+kN>QQz+!GRS%AbPpF%-RYx;yCte>2@Av3 z`#`~EK<Lb7mll=xxn3W=*jt1oGTXVHx(j?b_6o-A%$MhvQHYF;{Q;Ya*Y41eiw@P7 zMKkXCOcF+Psq)~@xcUyI$~@}jT5^eaCO<TBP7CLYk#uul*_AJ2b+z#5yWy=6^3R3E z+;vH4S5^k^hS%Fu8ciM;*h#j2?<W~cNy8y0p?-$zORQaHy^55$ro%#rrKr44HM(LE zD*Y2e#$M{T%GvMzb9a?+0zYoRO_O~e;alFz#p|0`;NC~C=S<J#(!^Vtr=C+2xP6BF z+ej)#$d^YFG@3tGN$#fE9A;Cv`{(ULDkejAPYSuAhBu5^v@OiR-=k83&stp5k2Gfp zZOUlollU<d&4_rFGunO{ZPGhT{_^m#{`^7^V50!4t3{1DA$zlygqNE^n3o^in`jGq z8Q01~N}?_MnxMk#sNb+tw!N`SwSX!;c$D!8ey=FBg#&XRATXdzXXi;%I{!4E257Wc z&(sN{E3{zmw>tK-^=<XA@tRLLecS2MfK)PstR<IDQ5K2|{Xi6Zk~nDi?XgW&Vs<la zH!PXvb163Qmxpv5Q7(m|Ltd%O)^Fh;g(mK0Gy0M|@Y)D*1m)9l2~Zu`i7h=@bqk)C zIIU^0I@IDTS(Q%kpkEL*#u0w*t~+gV)K&^-x{vfO6x90N+wVm;@UI21(QN+2;S<7o z$u`d6vlzV@n(47@=<He7`iaaHp~;pgZ{p~a>&$uV78;XrZwx$+SI1Xc%5Y-q@W@^` zj<q?(Shf7&9`M(1$=!;9VOz3_R3-*3!bTnYV2At(R&9^prSDa+c2DCZq-8T$<2P$7 zIy){V*C+)Q(XyBBXUlkUG}%-Wjw@!<jNPWg>~(7vat>B-O}-{*?2Fowo@{A2i@_0< zy;pWqXMcEnAScPKUQ=hUubesGdj4JgoIgk3@H3U}kVYrVhc2DL8MjOib5w5b!)U<m zeM9d4WT1&|W)~OPT#Ct8%fbi*;lnjiM)5jBro>^vIrPzdZ!Uo`HJj!?`^0#<NuR@p zl4e$?$$vJ>ei|mD_v8ybru}hS;$hJt8myS2-uk3T)JRrCxh0D}{h{1wv`BZM73lnM zC4>DXj)6<g_|{W<bMtg6O60xW{<_kSf-Pxm{uk=K+`ZW>@XU=nPBi}U+byE5Wb1b* z12sOAbBdu6x=5PNSx9+pF=X=mTX%&48bQ^#9Wh^}v!_5`UHOQz7d|%!#5j@LjmY0O zm|lRey)<HuJZPjZo+@ug!)cMd-vzl8(CaK|Y2g)5R9EjvPEL0Px(zn^*T3yBw$x9f zLJR3S9e-k^=GNH0%I{nD)C1h>%zte?QV}LA$b4{ptB=h1(|r2j0PBUjj||VlT$j7b zI(9ymeRe-5&cpvQU7S{^a@~nAuwQ_UdmL@x{a8qr@evo5?Vd9ROGmgYLIfF}O0du` zBvp?PIVUghDpe<<j_8(TzmgC9AXapX1h{HWQ+SG~1AQA0Z#C<p?iQncC$rRtEFq*| zpR>a9bSe;qJqp_r`$+gwb^O8GezOlfu)oPT?<1$tREl6|ZtF`j0IexTGsCPmUcy$8 z0!gp|8r@E_XI<cu(R|eeN2d0(-~vbfquey^qE}ZAJO*%2Y(!3Kf>l8N_;bO+36tme zlFx#c(}Gx7i8UEVCv#TK{@Rb50m`WEie}9>9CUt2$uuKyD|?YBDo^>h<$Zm9=UHm2 zygtM3jRD^JBO04%*(1KO^{2ygme|1vR^Rj@OpF^{dg3n_lmLIMVOnutKG78xj%W6i zP>x$`<d@5et|@=KnqSeGTURJOuyM05GlU%I*z?AT=5J8BW4=-NNWg9_NUTvnpp3<F zTje74buChvleT9_Fz4c{eI!<I5>C3hJr*s!%nGjQ9f}UQKdx0ayv!%Ux2W$sHy9ak z!clEh5)o)t1krxTU{1t$3Ux5mRe7&fyF<^H4IRCNxmiLauWZke5BpRzAp(Xh@T$-V zQ;ev-dtDNLSXl7W?dRaLIYh6+46YGnXI9}C3zeW_m4LK@UK$dy=s(T{R8vE7Bh<?p zU@N#5T=Sh9ib#!n7kQ?V55}}f?9<+F?kQp%+5ww%Qzd&ODD`&8J+YLQBT)EAL`*z< zU6xZLg%zn^HHa$lci8v<m;GWu^Wg+lz}epzJocTw_WP*N)(`jPa7Fd~9P@Ukra;)$ zX%K|(g>s|i^dNUvY(GLcqXdJ#K|$d$vQIFx;dcGTTtA#_{Gy_b(6-|#`?jvdI<JDE zlMoo)+Xv6hRfUe=Y^CGbTXMkO!EL4NBaq#2<-$nQpZ~F*Lw_e{%_=GSyo7T54W{bX zJJ*RfbjG6jajEkcaOg-+#UE=|1VP<jNY6N_7v|s{3G3YR58J1|J8Z6d+j;}|R_o1m zyp*dB!tv<=m)jGajHwW9eyCu{xyNlvu0ImDwwsioRL^y!Y7cer(zW~IhLj&O`whal z$D;8@atD~Jytf-Mdu?DBjxxN$a)Ig=6)TBM@M^$N0#r0uB5X|{Y2z8oHe2*P5@p{Z z-igGp(@W>fO554=qu!{HWxp9o^HL=?ywtCE(=Pc_CJs5Gwf1^1qb5+GXoK5udsgT3 zd`-Ly+Nafo95%(ptTH`hIQLRBJC50%%Z)#QgX1;rwwG7h$8s-^m(F^>JmeBO_ex)i zHC_#FyEPxHr>b-89SuiKyf%;xR!I)O%-$0EDUh)zwAEQ<mn!LF9n^-%+$Y2V!sQY( z@bms6#D`Fr{Q+=sPI1{H^w}QN_a~717n!C7=hHG-pzu#iCBCcPPVNsSTA}H_&WeDe znO(Q7wE2nfCg6{C%mBK=Wk-{X<|os_@UD`gRL#6Ar+G%|EfUt3^qMwkJy<j0j(m*= z#|z2p!3D1D501j9BMlK>B65{fArju&O%Jxu4K2<piyrw@e4d$|S_?U5FU|wAJ*j=` zDP~x7k%CU2G|Pt}scQjSH|&@21D{9~`C5&tD>hAM)1DiG<sAm4yZeJ_2SYKbKxl=q z@Q2S+WjqVvqj-IE`@=EU3xL++0Ws@J0H_>0Xe&(QFK|3liJIYKrIJ=xcm<&b!t;)@ zr<+@Ovuj`E%w*RSgV6(aJn(F5xKqh5fr6d$=%ie?-b#ON$*a7$Vdamxr>_3*QZD-Q zNj?)UjCJu9T;j169Qjo4q+S;AsUu3A2#5s^n4Y<T06SoNAqzvGrL1BETA90q3{pRh z5UVZGp#=<|`!pkV%!VJY@ADI4uuSn8?m3#_VX;!|(t1j<<oXHD69#@XGla6vg;I2$ z#=kB<vzWhU)x{sc7cT_`^Rwrtd}+F>P!=__>WR+*)(yh$5O9p?^Ba|86Rvg>%EWXM zpEPno{O6yg;H=*pt1qZ;Ys7Ju+)Plhk}tF}zX`a~3tRvn^^Tr%bodA5qm>iPw+-Ad zqpCjZq@Sg<l@6FyVG$?}Rj~4!`S?601>n|e=BBe@$HzB1d~T|4^&O9$Op`|iUTVSa zyB?yw-@FUbdXI3jAlos=4w4cyel-76?Ca)Ma8nCt&)<FC^y#At*okk0x}5gV<tPzy zFpnE^b=iJwYQ{`Z(QZ-IPO`tFWc$e#?;YEdY`(NL_q)vnhZ4-)0*P9a-BuIT!5B;k zr^UKFS_s9UoEJgHL&dY5d==ef!Gy;k?vCL$vT>7gPoIwXFm&uiDovenNJln5v9J&- z?yO@d)KmfbE9R~9aKyjaFq$TyXBazga-X^5&=qb{2kP8raz56G2PY@`BTXRr#@-F# z_o7EUwRrbtxg5&U5b9eGNGrAc6vSB*1uUhEjK!;-`TE2HjP}(}<GF6v;qqe{MA7-v zq6={X2;us>!*i3Rn=P$-)j|_!xyNHAxP^)#^!>fG>w-o8Z<QcnG7<Z6X}o|2Q2lvY zmC^M=Q|Ixw&9ydf=LX|9(mb#k_+Ou67HY~?X(UbdxQGbg6Q&tf>t2R$(j;z&FE@S8 zbv9cr_5~c;0|zf=<KG@lm8ROR@RrUVh7nKp$jfSr{xNKJTNu~Knhs-qn*+8?`;(1J zm%WXb`zA?F3nqA;@`Pj=CKdUcCLQFH7O?cB!W<fw@P|P*QeCtI`G?8FnAx&@o_V;0 zdZ=Z^S&^>d3Io_8DQTa<y)8Bml5$$2gtr^vpSPy>`HzFa{??UEQY+*KrAEY*kz!=G z#iI{Zz^5@WgyO9j9oDwb=#n~9P7Ks(?uCLa(&;&eLoB`ay*(FC+f=T7gYefs?^D@h zd9<<KgrQ65s-|DnUD4gmafilUjh@$uoIqUHh=AsC9BNGU4NZhgW`1B<wS8G2(DinN zK*qXB00Nr01UDIN+~z^guCK3M&*AOLX~A`+W%l;#tZ<*G4m2X_MD-PuKCp{W2JUUm zZR7yjuQOS_yf_R4wj1dN36Br9-1LmHQZYt_`zw~sxcQ_N{lD`R*z<7PS6PJ#yiNKd zNUW}QTh-POO8Aa=I{2C^X`oE%?}r(9`U#}&zg(uWH-8K9(1vhON->fKy|57`KifnD z`a<{&r=l6!!U2m5x+3=m72ALQ9P?ou5N!s|_vZmj*xI4sxAw5I;wp<-2{G_erjW5Q z0}D}ADSsVzcgC#`)pp6(Vzyg8n9C?9)un>e$0tpW{m8$DYI0btqWhfjY!#JXyf4Fl z;6f%4e12c|!iC8=KT@7yi{j#^f^mH~vu5&szD(*<@!lNn=qd@yz`u1qdW&BQG&@KL zol~#<ASPtIz%qECV!w!Q;(wk35U=5D0|j0_&(@rYxR`2wQYuNnSb5LQ@IwsI@#X~b zoyfi8u<tI5g@Ix&K^RevjkH7s;5x6P6a=9FUMo<wonLIOc;5Nw>De2VbyPLjdYDVs zP8XTMhj}zdEMRH7eX_w3<Pj6+st@AAtYT5NHR+eo#BPG@%TSvMiMJs(<+=6wsTw+a zmnlwra0N%Z%+iwAKNnHCYVg3Hg1p;Rg8ud#$A2?TAJ1h|(L40;z(-M#|Fy_&GI#T9 zcCj7i$=PwiK8PB{OQT)}?w#y%nZ5<Sz`!rwfya3!zXOhc9LH!HyoyNvI3vOc7|Eh} z2eM=WkiRf^CQF@kjuuN2&>Smm3)Z|zaxquXzeO~hK)sTTwd%dS5Q~rth?T4v;&FA| zttnx8iXOrS7`ld239yUyVv&E6<biImumC$pOOKzAa6gh1(2tP5IgvIvPP8in+Wb}& zLC)g*+;a9uCuJD+)KL=zB5Qj%D{J)js6YBx&-h$SR)`Sny)qd&SXY3`)ke!!#QVM6 z&eI!YB00L<7o~tL>N45Hx%&HHHEUAbe|@5mY2t{Cw0ta2M31V()-KnajaiPG@xvu9 z2})t+cz3hqSTGk0d<;4Qe=j&WN(;4ffLW;TFBvJQ@2|*N>@g4{wDLhkD&7p<omZ@z zAcWpxBN>m%^jgNWgjZvJo@1MeGULZpQ>WQ%EH-#!ye43D8&AwplTPP8-O%ei$j#&8 z?~s6r>+QH+;OQTxh4IUag)0BdR_%<^&*6rN%(677)?Z;MD4-!=5e8h>mnM;Dtxt>} zZ0JO@N96v}WJ=-754IC7HY0t_1NdEWnqqWHlOO0xwBDhKv$wAV(G<4jd4uLpPEV^G z4(BOQ3<>Pmu@mA?qzhA1-4|;pTK892H}2;sHvRjop%-{Ys8LZ3v7e{X);y6*T}G=< z!h5aLVpjaT_J><Ss>Xhn^Ul{?e4BIKwzIS|@%Fw>kN{5ufIgMa)xdVh#J(|wqws-5 z4Hq}}F(-!Wui&8I2tjV|yHhhSLlYm-*th$Vq}QnuX3wL@h(~J|%-3-6>U{d<Az>bF zYwa;{=-F6U0o!<}j%Wherf;$8D^KQZ#@klrr(ee~$E3r@Y?Mq5014Ry6$1ipuRDWO zGWhKu>kQ>cUTY~DvJHc-<4o#rW{iR!<1V2qz^;J(9}Ke=C+KJiejw7n%x`UxN~i?3 zL<ri9-~ZA(X2f;vOqw!E8QI)p5sSLkZN9Z_DNw`xlm_p`tVW*$q&!i1il9xj!HarY z!VSWP|5DOm9Z*9f`BX8VCY&U5-rl*O{hnZsOPi4o`-33=g4;?a-+W!GNaxgsH~1U? zT|4yprl!JoDuS(I2)*sED^Mf2W=jr8;XW`}M2vRmPa46?vLV(lYiwvdNd#!Q$};sn zh~8}>-pZqNK4$_tZTtU}%?OD+QrP6K&KuY*&ZM=D9`N|p5708oXqz>zQMcEPC)A?m z*O~p!0#Km;%Ar{8e)ndl+a8ynOo2nNLBCGSK_EhY&u4_+d$(nuiX``Qolm|YG==IZ zOm7o>ATt=>^a<`4Qv>V77<&h;oci&}nZrt>#i07*)75J}&W`Irng+cqb0nN6k{gFl zQ5=RPPW?ZPeo~BuYx&*Vi`RxW8Hd?~EC@1cF;n}ED_<Y2(1|u4$6)nz-Oq`X=fVe4 zWzxej*-7dSoAeCM;RCi<lqFP4$RJVRW@gI<(t)#S#}Di&_fG02mb_+>vj8s<*ubj} ziRSZ0%5j=wD|eL}6}92_q8}#BmrG>x*57ms&B=^unLYs6Lph5w(lhORcfO5h>%+m} zc`3?DX<rXMub}vKx~!+(QVPAS-A=6d9Sx1-c8W(LlSeH6mRy%N*x~$(+fx-CXDXR4 zD$q0K7Il}ALFa(N80zz8Y@?Tr{9zG~(>qX++w)#gq~FEQ%54@Y9<8c}v}ABihy9-5 zz{`X183nb3pUq(HAyTDc<3*&)142c9e(tC-TGPU@e#g_dc5%SdQk*M!eO+Y~HAfl* z(F5FODs_U68o%8hPGo4V4l@d~z&8;6b>GPUrn_p=a6_%e7iKJR2#>t|6V1ERU0+BV z{vD5-1Nq<Yc$nF?lEXMB{>1jX&?ES{1C%19fIy*ioBNXX?<G_78-^NbCA@;-x@)y& z>rWsGcHqX#R7X?55#r@$`M!k8>BrHs8s{Fp*pgUZ-A6bpy#f-v1HKv^*5`1Y+eQiz z4D9v5!T3MxBI53l+ZsxP4$xWLMWDHV8Va!ZqFS|~fZ#1fed$=PIX6|MjaTY@l)h|F z&+0XlNGy~zAQX?$JL?->d(Q)!`x0*I7pCg7TxL3o!S8^AsBk=Hmv>ON{EDiMmDx=_ zVfXuy1tb0{pTjHwWEALDR8k^GR6-55n*uglhMD*tC$A>^BdmH~kROwtK@Rmgp7l7v z3kww1rEH>1-RVZGOz&mh5fsylCJ71_FnA^Q{`~H8b*n(0oK^T*ZrUkzKPAD)DU;ST z<LQN-C}xEmfoGOijF!G+fktillQTuxy;n=?F>_2C)^+&B`B%aSKEVB)pvj5t8)QTQ zdLx#%2{e_kpk|EAVC8S1SNTv9D`bh^efEaHU1OKPDwr?Dc<psD@bS?@Rg(nl>svtJ z1jr~AQ@gg#`)m_1_uI5pXIBb6($}cn?rkVxzHMlpqsytn3%;n6R}FH;AO+6WHGVzr zSob@U$ONy6n4x&|c2zwb+_zgev~6<gighb1ds-J{q!S$Cfm+7`3!IRg&DL$AP2ky= zylV9)B6eUR_o*Ulx*x)Lg2eS-{p+Xgns(@Y&F0npU=x5#FUs_eJGp>S=l)nG2g9@> zq8b0wIlHhcQ|r*T5NaKuZxDqPRxhoZJf3AbeGVx2^Hj{aWH?~^WXnHw^Yqzcp5d-# zYn6jx(26tAyq&lDd>l_Jsh<pR1*WU%IO~-FS2T6*O9Z?aZ3-9pIcj;$vm{3{aWW=< z%{Dwp)`rvO=BsYyw5j}TX1y4b#FTY8C3v;hIN0g&P~eMg{5X@A1Dnc)utq9Gvfkbu zbN{i&+oab%MaMV@V7IE@%L<dx4>R62XsYB3dPC#2GR*mhkC+Xu*?wT?YB=y-w>+Qv z9sasGGcN9uhme)6i+O=h&rLt7bNZ$i#0YpQ(B-CY5i}088M{o~<ei^+!i_uDX(`H; zG<&JeDPG8ZRYCeC0A84Jc3Af<8?kRKEG#t8Gdtzy@`iqsszYRiGc*V1hOgE$kkU}) zdplXbOKtk*&pQ(F=SP-yH8Voq7=6t|>EPWo9$Z6so=M1#Udxmm4>%&#Tubf+H2SK& z-LJx$mS*C8UrZ(D`gq=TU6ud@FVGDpoPL$D$5Ron#in9@KcuGUKJxz6dh1+leMLZh z+AROTLU^O)JmkeYyUXUHgj4J>`_tmgK9P8<H6Y5cTr=(BP5KNYEwOw6ofZFWIA*VO zs$7TJm=80XwJ&|QtDQ95rU4uqu@tV;oKmmTmnDlTQI~#7_ylE-kZ<V#`80afM@+1S z_Pw#U*iMk47nA4h$F55am5YW{rLO@>!IEC|H?Zr<d!)O!-BqiNd?~prFZbT<`;R3T zVjkeb=cuR(cM%Z`JUdIzjS+*NmQhZOFQQT<O-ho-z6gnTH}zWSw~8dVT4uwHMEsDu z$?WLe<+56HI&884b(A|4oFKX4`$dji>9z?z8zNKRFFr+625h{r?Fy%7=uAlNV&_Z3 z#`83Vi1*hMncB=fd#g~u>N{n$<eZsEKf!&KA6O&#<+=Iv#l0*wC$9y6qo)&V0S^Q< zpz+55|H*Bl%O!7WBhfA+e~Zj4vDAfjT#<uivF-sHvg;J2A%qa>RU(s7kjmxnNB~+i z7>T)26+wnr<Bsds?_HEvXFC0-hOlq_EyGEOGLAJZPhkH`@RUCQ3Nh;P)&|*3V+p3d zx(Rnfcgac^#0I$(@k-gP9ajW9jx&iic%Ro;VHX#UA}b3=qmqbyeJYgl47AfIdr`?a zw)knt#6R{)#HFHAzK2=&z~`GLQ;5YhCrJgNHLsPYXF$Nzb6<^Z-K0BeU!{$ss++pH z40AKzoA_TWM{yW(9ZovE90I|2g$d&P{9J<ib3#EBXgLcVOu1{2>xS(Fz!y*S<s<m9 za{hFab?Iw|j15UM<@IB+Hm{r`@-xWU{_E4$E{FAJr99Cfw~eVQmzK7=Ft5_(JcdU` z+S}@Wf`ceMTM~EpTt}_Mh^#v{5+rk4gj5`VI7{gqQzgnD+}CdTG9z{l4j!6O*(=ba z2))3|g-2*VtMh9OOJwHG-@oBa)iH_qF;6hzumjWdBCEPJ3DKFx^UgLZNW^#+<!ATp z{>Ak+$gmJ=y}kNq%!b;zujU6{)|MghH}E<?B@~-(IX>K&Anu2ml6?x<sAX-Mh8yb) z>bn299_U*dJA%A$$9Jf~qN17-B`+UqU9Hc5-<b7k2iuVc`C9{gc7~2V-hrI3&Ob`% zF5gnmu_5q{oxQVR4qh$}S(h%e3|@LJTj(rn_J)P@QotZa3GF*Ghd~#IoL!af?PWe2 z;^#$pGJg8hG~0bhb}9XU16_1>X9((S-$t2d8W2ss-h*C|I7pQgJ7YQf#L4q!9!Wq` zJAHLoL%eMLYegEnbKna`%`+#!_ff>;<(o6mU((_(6sxLvSr1<wrj3%JyHQV7s%|&4 zD0%VHb1nk#yEwSa2F}mx1-|4fq;j6+RyZaj-=~it8)sG5@R|=Pjf8BVHM@W7Ds{D2 zZPsRXG7L<Ew`AO9vWLFc8cbd{@<--mS$LlpNhSUMfIa8z+|h2n_MDZYbL+)k;l<?k zk?MJp%75?ApgjGV9E+=A!1<HqUwIWIJEj?*W+Y}<q;KZCkC<oGw3}V_^Y3PkhCceP zzb>UrTL+&gMd?+&jH1S4o3y-a<=^c1t`nT|vwaZy6?j`&(Pwu7o4xU64tD#k;a_bE zX2<g54)~o&&4z~JEDhn}GPXCisyJ0^`KCY-oD1#QVX$@}UHu?*b%5FhO?j1~Xxn79 zqsYV1Y_Fa?U}AdY@fqWY<2Wan;#(^AhAg+~as*7jrGm@?pH@aaM%)aI&km-qT`lvB zJY?B=D>1JasT3RY*EQ3X=s*W)h|Q}tDSC=sko4n4oM3*yptq+?NbS6#1BWe!vzeb; zJE)(?*k`L&&K-7k?)-eN_7?N4n(fz`<-p17{yntokM(A`jYy<o!6odeBx=_mN-zyL zXN1y!S#g`pig|;#w#ubJJYArhQ#C8cb0P{Vvdar9;!=;vV{_Ephq6+Nxw+saEZm1a z%&*2X!8Vb>7K$@HA_8b~ZgkS%y1$DHnsbr-59c~Yz+GfLu^Gq`qzjzp{E`4zf1Hy_ z1%29mc0s)}G<5qcQRrO|g|1GZP<-5jN<}Q>vFHd07;achmKScVS##ZzbOjYeyf3z^ zJD~9J(<ggx>zmR^&wU`R9G9Hc#v5&kkFy?>WwWjIUA7|O{rzucR<72+vNGVZkzr`( zPAlm47tnI_piA8K#T)S0uNJh^h{xpLGALQcv$9jEqSC9N!5c2|=>hnh-R}w0N|z7* z^r~_ETM&I|Wucn;p}F(XfW7NR59k<pc;F86@Xp^|yjTT&nbqX}C7D65Ei)7&Ou(HT zJ;cPSU}M>!uP=Sa^|6SqjhzrXIfikixv6@tLb2(7G>tFEC>^|dV5|n-7?glsYuqc} z1zwCK59~;96A~T31bFDBg>1A`W}D+DJ|I19S&IYLtCIQ?0xsg)1jd}5^JW@%3LfTW zu?xJzPztluL<Rc!{&--?aolh+Y~_bggV8yC?Ysa)Pss)w+6q5EQ<CM`I87g>ZeA7S zwcY<UZt6Ivy990;x7Ph``OH$0j-l++TB9axx;M=QJAD^CPkJ!O7D8{DY@p+BE@;uc z7(FuTnKB2vC%Wu<_+EAc2)w;MKYaT&o}10Id84x5%89DL=qqt4%h!dePm&h!;o)8% zzHF$e6~}D{>H)3&6?|Q6O3T^p`!Ukk#RJB{3!9KBk<IIU8HM;G+D%>6mwhsW#8E09 zCJ6@p_h_Ck7#6Mc7UQw|v(}Ej6Xi<4mq*xT&AG@;x$z737o`JRr3P_MQStt!@Qk6a zXN6OO4k7Z<6W{n=9h!;1=%rCrJe+@;J)+~v^e3LNq8#5L;M{C}==OC?@!q&k;RHIZ zKAhtr%E+*5%4TA)&09T2fM8v2Pb_iQ88{u>NKfc?@X)C5{dOCgl_tKo5|BQk2M^3U zFa!Xe2Bu%+v58qbPYz@88NS*+tLzrfBOG+x+p?2RCI2##jtTm~q}FJ=g2DdNvBL3r z&8#J$vZm%WLr45ai;cwHHwVR^PSgU=3LlkEqU#>++C-GU;2a79L(jmn8v6dTwWPN0 z2wlE|jgEBegILhM{?o;a&%eF;ZXX`7*@!90%g1Kh!;^EJ%*zY7R4NwFWq&J4C%5f0 zp(;P4s~Y*vpAhl&8@~UhqSEM~UvGLdzSyzV_ZYZCSM#z1dl{x87YoWpRK8=bpD>V~ zZXF9M_?o@*ofP>o>4Ri6#lD{95B1t|Eq9fa*@c>l_A`PSQSS**TKlOIwuCEWW0$EG z<bII6YG`zXEO1&x0x@U2&;C%=Wh8Fgnokm-iydB`eV_1^-`mRzKL|9U)I{;LA^{#= zSnYgCVS1#pNmaKgF~S{aI)hz0T%@1LmhwHw!+yW({j3ObbOyfErn09&hP~D9Iv%FQ zUJmUjs%O?Ws#gb%GG&{*-q}@$qWOJ*GQrm72j9m!9W3qyl@(YH_L5ggK-<R2g4EZV zP7|D84i+!x?39x@4sCRWQarQu6bFNHVL6stpDK41WZ=QcDTfb>-!hz5=IN8uYYjed ziIvn<fMB3GYbT$8)~k5VHQ&wUzCsJb#`4s|$*dBgcI9`4VzTdotj76520I(w)SR8| z^NXu~cC<wRnzypU$Ua#B1J5=@#P0-vw@uHC-grEp4dE-!&HV?i#By+=rvv>AlqyrT z7pe?(e2-s+#8P_?*t=j`TT9<ou_?~yFn@`2>$0&QUA*4e+R2kN&!@ecdVCncvnaG& z*ISBpdIHs{Nd#%=jrv1pyI?t8l%y0nre1(y=1(#G0rIHncW)GSK{cEqkqA$VY0I+% zAEgs*KdWZxW-m0Mq_G=lw(g9u5}5=*SWN;SV|oO{_{4pmC)WLonPcmBc1&K4OdPu@ z?yH_pF5Ec<o7!8en$JU#jq|`ghZ2xw)XSE`rEQDBJ7c_ctMWi7=&TXVXMj5>7kK|B zK&T=Twbi3Uu)}J9<d=Ol5Y!Tv=RMB8D$i6S!7EsM5@XzU*YbydKf@XHo>eoP4l!)G z0Qt6#@Ad%Gcy0Zm3~>`S;ZN0knF~=!py1ThU3s<g&E8=}q2%E{@*PO&nf)-pvsRZ6 z7t}})PTrk`25;;kPS#&*u%9Z>>AFo972n}8->>&MYy7-(>*~9OyRfiGW~<0b$%KB_ zgX!SXRha+9t1zC9F~z3u<;#XZS#F3GMwVf7yM>3tS5O}@E7;)}vTTkQ<CHVp6^Y93 z=qPu9PCROV>T<7B(`C85%j5?L=)V^*sfXB1rsjr($gPN|&pnLJ{A#F3xIYirnV24= zdY(Do1V8sZzps0sXy6(iNi5}VgVj})kv2vmloIq$4uocpOfgs;SC^-@bw?@jO8i_d z|8ze#p4F0Fq$CrH<q7c&E^a7tCc<<#>JP*gqs>^94fXm{#?*5bWRPS$)Ok2oY!JjR z3thDs29=ll6Y(18zqhNrR1~2oEjPKz#;D89-^NOjTGUpIswkpMV>jVl^S{~K%a@7L z);_r_B~Et5x|ouI%M(`iOo9Pl-Z>Si6EP%WgfczN(Kg1}4Kz#GrDIR6=~`E$E?7m; zywt6GTB`jOL40?j+=hnHuN&yAZS9@QNSFO*W+<4mZC)8-)tMS$-B_&A4U4=_!l*HH z8(AJtn<(&qDlcZezg};iHuhTmm2sX;x`1-5%4!$b<d-ZpBH>%edU@UDCuAZuwO8V+ zjt6C<zRFkG%H;zw@w}a7hJQ4-Zi-gZqDQjGWjtEmmfL`)k<hCjEPr2>=OAUc;$<*} zVo^p-7Zzjm_>dl1mk?QA(d|p>MZ+R(lO+q0NExP>L*&tUKmF7|`1a1`|8ZAdHB!4Z zq(o*qdi@`iIeT;$BdxywfR)&w^Wt~27+!yK5cm}Q&-F7374N4le2&-oCK$om_5J>} zReZ@XR8j_)H))bG@Y%g7n?ruD5xx1@gZS;8V1&}od^pwZ5$7)*8VE2%3!YGKw>Ro{ zaIYUlIaS$eY12?!3oaoz_!X5HbybD8Z%E&~9(t?zQC1TU4&n7H0vsC3>*mg9?imga ziQZO5MqN=xhFaat*~-?z5)MufH$rFAc~u)<JjPkGh){xBUm+^CzeY#PsD+HQY5+ws zsrdX8Ve#?Od-^?Lf!8%4sH?|~<!b&R0w`d3$z??BkD@ehQOy09AG+%mwW8jaD}MAp z`io7&c#f>I-R5P^r1kgn{qv~MrqH3tp~<SO7{In6lSC&vwW2y_l0GG=gfKZ*C3dE6 zP6=_Y;#iga`{?*Pjvj)?iPLS0ShUge?-x+j2f8l5xV7mRTD5K`0*XMACrpj8Ir~N> z{4Ug&C)*~JwOjJ5S$-sh3WT)4?02ua(M)2hG!p3XQ}0g+s?gd|MBA6FIGfA>h{Qul z+d58Ut+ZC(>#Ba3xlL|!Cb%|n!>~EBJnzno!}MRWi(4$3v12w^AGAATBo-U)$gh-s z18Q0n&49>H3C}YD2tHIAcV#~UJvI&%0Dvm|4U`RJ|7n*J43!r<Pi}v5;y=^(45#Ts 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 BM_2#= diff --git a/data/background_tile.png b/data/background_tile.png deleted file mode 100644 index a8ab5883c18c64f3ce7ec7c5fa14e16778526505..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46998 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ðj&~Ah zCUOSu(wx6exAixB?&-O9G3X0(ZS(}GE32+@R@b)ga@Lrv{pQVD*`$KaBm+Y-u(0Jr zHHU+jybC*IlG-FE2W{fG|85-olm&3`aw~>1=}!?>Z+vbuzkYLzK7S9SoG`|C$b*Tx z2FzLcNRlnl9<(wfs{>|z;8@9-wS$8xY})oH7v)0YU*fx2#+Evjx~F?i8b=N}JdKN? z9)MnG6WqJ;mFC6uizG2dwYLb*2dm4d3WT>w-}`>v(<d|=4is%=LlkU0Ug_$m&dq6A z0=7Y|V{r<h-tBS#|Dg&~@p0Umz7*w`w!i^uTXc$mn(Y{Zx_Sgzj(+RKnE_j?Z?XKa z>>$^zp~K^Xqz~<&v=%bo^<9SK!a&pI#oCbdUTqq4)J9(x!Xo})7-qhDZgbdRki|^y zcdgpHs+LX-(re8-W$dOL#{dg@SA<2jNHUAtmfR7VF$O~~R@}x}2P~ybzi#}8_Rz3= zrz(r}jRN+pEr|)i273{-5kPxXGC>uABs2nmUEZ#9S#4c;TsV#S&q>F}8pGzQJ&%jA zweOnV2WuB$<n#X<Xv8PP`Cnl)`Hc=y+h+F{jPiaC`(N2FhKFRn?gqByh5DabG$+!R z*FT;MO6WB*Fa}TmF+DNRU9bn<^gGo!ID>=qJz5SB;&IfZPR82%fP#&q&b_-M!A)0J z;`jk-Oypk{p0>7&h>0V=`<jTlhRhqHYHV7q<{-h(1b6*+6=EieW3y%4!g-@=g$ci= zv`eoA7eyTbh~o6)9G}lAUw5Gr+m~R>cEzg7ZY!x(Kj(UncGt_|ad)6tpcT=7dtjtH z)t@1BWRHDX{x$(`4Mp^sv*k+LAGIP3H70|{)z`w`X{FnXAc(89?$@4yC1=js7sc88 z=>pb216Jz@dh3}>^RE{RW=}R`!rCL$B4x=wMj~USOk1iKB_oacMry{i4)TB3K9%2L zJy~tiJUJpN>a?zDF?RaE7n=xc<C~%1ga3W;`(;+iyvuZ?;V;@aJ^4ruJ1US5C@cOD zMlZ}O)TY1dOW-OQm$W$gBQ7Og$gFB)rU%XvUcVUl+0_puqvxv;^Z`l8t$|a5=lKa1 zH5@mhE-_=#pT}_W&qyhjP9_A(Mz;&vil9JB@X})`7{ou~U<6pK^b_B54qSpmd%NAz z?}a$z@ux&H+8r!w+CRhoJW{E{-mO2YrvG`@qm==rw4Ds~t!h_1W@g3zDOnp+cH_x0 zz+aD5cR-#pbyPiGSO1p&j=c-VxwuKTme6ro2NHou>kPfg4_C{KyHp8}m4Pv_LQkcA zy%|sKSlL1XzTks`K|=vv&9WYWMN<1-Q#7AYeBGYNM?Cant5w56gQ6<!0ax74c^fKh zIZ4w&zC}I(Mqq~qjjCc~o|@1I`pm$pU4`UOU@^Y|E_~P@vm2TgcBSIRw?DLPFy4eI z-*IHIu4ZXJ9UQb=PPGIqk&fDuRW2vCSO@ur4-H>!h%O8i_F`-KZAYqh6eT+~aQRST zhv4h<=^3~e3Ke0>Ke#9EF|*urz0&-5I6`4UNtMojkOr|hPy9cb3W}`<`SzE`^1M55 z>p%63!g4A}xwPU$FSaTRjt9p1U!J!pZ-%U~6?N{QhTsR;-#^rx%2g9Q{_~`H<cg#< zm~;}cJR<YO^A1=Zfq(VR(*M43=%?xr1lkq*;fIw#D#~2THU6XcOky50?GR0u*t8l= zPi?>KY4@|+gwn2xKV<cv&=t<Nnfd4!EyyQSZY|-Ur`_DwOXCQbu+S-X`L>ImHM|k_ z!BZ(M5&a@=Tkm!QD(}etT&v(RW7L?>vnYU#X`&vq%=PJ(aWXBDUoX)EAN`%tznP$6 zL#gc0HS5qL&R*^xi2v^h9LQp|a%axxMWgc<8iJzYSj3h~5G1c!NH5p)iiSu7_y^{^ z7#XC;RKm7~fiAx|MpnzLsmfSgj~b?T4Xs2Cgwp=MP?b|YISd$0!9Ss&Z+)v=W<4)W zIDBHGUG)CmN#sv$`ahsjQ#2Ax%S2UnVOXcdf~FC^yOx2ZsneQ)VEpTy9`|JDTth@J zrFo&1Y{d2`HU>Uhcq<|c9=pJfD<TF$vMLd=VQqKD9v~~TOLN=Jv5U@1M53AmOUK!L zy2r`*rnu-8h9`QRo;wZ{k)Q3QCS*O@6E5vCmN>ZA@bQ-WOXK^y1xx!Pd<Vi&<<(y> zJ>SJ9nB9Hplk`KSLy-Ad^OBapU|}^$HO^|=$|$?Vo~xe4KBqYj*vcqg(6AXE?3{UB z0=!xdDhpldugq$Ja^f}vV!uyDy{y^hk*li#b^H@H@}-nwm5p`<X#zAy(`_&_wdT`1 zHzqhnoV`bB4wX)QDebGMU{%1zf9OLvZBj%>yFg!Ybkg&kOy`yg=E+y<^tX6!0H(#u z`?03C0K0Idj1(W~;JF}N(x)H#9=YuLD&uP_yUHL+jeL}81LfKBiStR?i>0;P)1lZs z`sWcF#Ny>v$hP3etD^N9S72&&Xw~e^$@5iF@o)Tiil?tEKSiJR7ZKfk((M;-7d5?6 zYi<l*CC(BoDI?=rttTh@?K=wD<djbKS)gCjF5%&~kJAI_7t>oY*~?33mtG!@Mgy0l zw!u=7=+}RT4{P)kK63aR9JiSsPP280*Km&;zPzTfIJRwMQrJf>zRx~zz~Yx1|NHgs z6W3klShk027<SatO(lw`lTp2?_PJea+dc4OhQe5zE>iTOL+j9?{-n&U`&=+65?ECu z0ixy8EegQZ83Q;|VENl3X79Z9F{O70Fu#s5p$3f4jW(YHE7hhcRH4lmE%W%K3oDM_ zbQ;cD)_?i)d}MGDMmAJ{l+P%NV+1<XRYKuEHD}>}0G)SlRr}m)?(cvB$;xt2i3vuY zzC?TJ3S55+jzoIZ2wfd8Fqg0m`VE(rR5u&|ags1C*OI}T<Cf@GH-)-45&dr%V=d8k zP3S{AyJ)jN4_f{Bb6Gqj+hxCe^J|0VQ-@-8JD|M(i|qzIA0F<ocscI=ER>f5G}yd| z_DHY>!vczD`UqLHuRaSvrtGJ!RCAiOu^x?}4MbZHWL1sv-gC^4;L+Enjv4I@)JtB= zQzqO|V6xR?!KTA!m4{cujP{E6I5T4%e}fGcWux(14_B(t(bWMn&&4Lbt54B;XVIK{ zW~e~XGZahDJ&-BbGxMWG)HG;PYM7YA)KxDEVO%m;e|48p%U29LFo$bb4B9Md&6Vfb zF_7l~toocjPJL-^np*Su=M&TAN!Rpwmkc?&BWDIINqS+%kLP&Yt<E?Az2$VA(?!7m zV!bMO@2UPqkbXFOS5~v}>?j+HdCq=auNgnbt#bkZ1|Xdq2FpI|ldOD23oDG^bQa=c z1O{c#i*?t7!P;1G%+o^yv1ktG96U!Ezx5YTEH!_s^22}mx%o=|Te4~|NmW2KEc1#F z0jPLoglXMnnwK~WpFZ+Odc<>(F5fgn)?2zCtQu_*9}!s_-cClxL~b6h_42>U|ID&o zg1fY6L~_$SobZ_CL8XQ?U{*}FznQjCW6o83ze~(+@EN>FHaG}w`tqoG(PqTPb}_MI z%np8UlksLnF*G~--1H6tYIEkl{mg4~P0T+q!~c{p%5H<%s)=ceE(8hyvwjFoDyF!| znS@%g78wFIP%%&OViEieH1VKztF^v<JvuAqK+xNSc;M&Kkj~zuX$WJm+h5dHK}xie zue3jJ&#KPOS85d)H^kLa_|<F*b&yfD#w-G7Soo+~<H*s(gJ)svR?}Ax*Kb^|MQ&9? zo(3s2q99k(Mka3o<&QY7q8bv|w*4{S2@a@dV7AL#vk^t8gaX?l+U^bdpOp_TbQr@K znB)v|&ee%565xvWxVnk`ep&Lw_V&KZHw{7!b6>=8p}K1Juf$RefZk;0XFBI~g-G?{ z46VkjGoAwyvnbhi@GXOAt{@)OIhs-6sLJu$*$ms0Uc=eSy{H5)WEEpM%BD5eL_0!= z2gp=3d;aXe-s5hSHyG^Ie|O^7@;6I5S3cDmf7~vxo6B}j*Sv|i-3q`OFBa51NrnHG zv~UgRfTVuy)_})J`H85jy$4;Jsh<%Ow!y5Hy)oF}R`bjnQkDG|JL!m?x=NYVR)CJ* zPh1Wn6PBXWS)$UIZZl$Wb1t~4Q`ixsDaUmtb(Y-HY8>i0qz@p)JRCm*Te8DPOUQV~ z-HV=QxiBGE4Ubd|LwJJ%P_hN62gjU|Z)B&zezZ7>IK0DbZJyqW;2Wt+?f%>;JvR6- z@bg!wD5D3?UJEB~q(4(K&y(v}7*5&Fc-t5$ZY14LCL-p-tdz26FU+1R6x19h#Xxq~ zmX30ul=(W(MqdJuw7Y<I0FL01Gnz`B6=q1omKvi?hThUpfu^ceBKB~Cn?5FbCY?N$ z!EJA}1aHYAAx?1-ZU1&`h%W@W)iB=kV|xW|W`7^`I)S($tKp`5{~Nc3ULGvk6(&50 zzuI=`QEK2-$9)e(@z;^Zjr_}*)rd{FV{?5WQD-bTWf+_eAOXkK&7Nr;N^cDIaC3-+ zjjLO^04coI4_B)Tac^lA2sw<e-)zsBSxPZ~o^o*2@va#{+;%c>Iz>E?xd&@X#9Rr| zS7?a$1mAb|x=*Axgun)$gqEpND<!+*Z**#Y%FY=CS^-9we80X&)iZ5YA2?uVm16pg zRoe2{SUWW&w(3!x6;aJ376y(eTj|&D18sPx?WCMv`L^SN=*^#u^2CY%*VH!YwhBn} zT+7^aF}nO{TuF}g|5bD@eo5c|7hhSrWogcNBQI+${Vp%W%+v&3wQ5_Yb523LV7Njh z?|BEUEN^&OIq#xtuFL_V5hmWq1kF^)6fi?k6iHDLxu|&i@%#J*e0Y4`kH`CU&hwm? z?1TQ&p$6-gj45>sq4tA`mB0Nt)lKF_{UL|T7$-2h;4$-AZMQ~KmSxGHH@QQRcPh86 zLL5Fz3OnR=958m=Qot}40}j^^>S4+je0abW88jiNr_nnESbz?L-VW*c+q=ni2yMX# zaLkhhY#vQrV0x0Es^OTBw0f(p#UIEQNeguqW-lG$RQJ12n;D+)NAm#+sRnYkhiVYa z(bxK|VJpWvC}$g}uS9YrjIu78*_IEM@;x-I-xY_CV<u-MQ};T-4711xdS_;4@WQUe zPHJMd%}Vc)Y5?AYV3D5WB!vl~COLpk7q?wjroTt(FvMx~qdqWSUr+h>@VJa)t4B<q zy~0%o;sAX`8&D)lNf>D#?4d8>I`O3JWV-7#4QOm-h_IobnvtTiF4LAQA}NCFjL70x zt`L7-(A^yEu6$}#&(#N-WR?8kQ%LDU)U^#DmIniw65nLzW3#gd^h{AsyNy&@W8V4Y z5c9C)NZC?JmN96_d_(i;*o{iv<85MII<rslihMo5Yw5<foDiI-qDgpELKUxe+$8SP z9oqNPf4!W|^?`<<HO2imgE~ez`d-VW#Tz4EH>?}gtRMIYxLH(cZ7SbcjsFgI{H|u> zc_5Q<6#b2Bq2@M*a=2Y_mg!P1n!LVDP?IAAb(8^wv_960S8iazLvrezvO_-=QY~}* zh(V3lyQD%id7z!s8UIr9EjZzxR~?>W&r74d=U`Xa^JZ`QZv&IyG~se##_}9VRoeo> zF19&a!LXrAS7m*K4!DWVo(y<9VCb>S?jvi~&M)<#GZj}{WEz^Ds3pnytgOxC_Z2rT zcpiIYu$^eKOz;?}Kzuy+ZiL-#NY_7F2J!Vw%wSek5f5ICG3BN;SZ`dZ*Mu?FSZ5er z$OaXkuz;Eq&tb1;z63@(nV`21a~CNw2$<VjUUI+t-l_I)b$x=+aZIia+a<lhT^1>< z1Gi9xAHNcwwG0M{b{x=)|8~1Jc36c=@ZyKIQ(X`rbjG?5rAt8S0hBbH6gXJV|92^8 z!K}IF;+{isM(XkdTAu5xtj9L+u!(ujOG-E!kRR2V!HfSuZXOHYfz5B<oU7z8;<a<Y zD$V$^&XE5z`>%&^tOu^!GTENu8v2rM{PVBxc38%|3)bB(VbhS)-D}J+Jn|LDOlVo{ zOs}xIrWE{zc}Fq{24<nd<|9H*bN@lqf*kVnk4l8^Zj*Q4Hl5xWY7uryF4nmMyEB%| z$9j*>hS*N&^iL6Ay!sOLN^pHFgqa5#iQ72}9{I{wx6T|>MqI#kfwE7QQ$LaQBz--r zkKV_4H+yQEW`mb|UAu$wG?vB5B#6Q)P&d-k>QYDFxe;R1Ze-ip>>IBrW=Qv_YRTxt zr_}7)Lgf+;_;<iXpt<?(&Rw9fsvuQcnU`0IRwcZtre5QBq)QKNo*PCFGfd&>-(CTy zDeea}Ndm|jiFq%rRY;g)QaXC`!ZO`!_s1_^W}Ml2bln^4d0Em_1m2p1jFf#$^G_>u z*4Z`6*o?pX>|OrvGaPtyqIFYy@W&rkHwqtrXv|#f?r_ebrI#gB2kTOY#I)Rxx(<JO z0B{#^y26vPM>EhYrJI(;?XC)Gc<{_4f>^%2v26~xLP_87QX`9pN!eTQ+osG<wkzRS zlgy_#>{SmSu1mUQje_mI5!CPxy<7XIz7y|Dlj#CH&$zV$O@5GCN58i0L)!i8V)cz~ zsd(2gv2uOrtk_J&X%kayVA*9<lb>z@523e_uP8t(LFqmnhl|~+LwmsmG~!*#=HI61 zC}Pj|P{`dA-q+9!;L9$@qS8RY2z>a&VNfFK+FAix7D#Yy9vco_{zHKJycTGb#;`N) z)Y@yZ2Em&TuQnAf2)cv5J#(FBRE4H(3`Wct-^lv!Jdx5O4e^bU?5$uH*Du=8^-JT3 z`bX*7)beFe8&|6STtCOhlZP0|+_iOD4IM9@GLjfl76-tF>02`sUH+2;C%a$YN%)JP zuS;%e!X-dtzFOU*>By+iyi_Qr<@dnDt>E=Y3W~V6Z}t=1DrpNka_^TvqCiR<gc2*t zx>T=U>b`?Y6ByVyCve_L-!weMf;=*SdhV8%);mc0u|?CmaWkEU7$j$dQ`QcC33+U7 zRnrY~!HM_HR{FaOEtu0efe`B352R$6qM(uuffss5$<#9=CTXwX4&8g(Vvpk8-veut z7H5DNMmk}Z+$*zEI{n;*F0=ZIkbL9e>uFze&xn&vN%A^kzvZ}z22kj#q_*&MLRL!K znQwvpFf1K8Osgd2IAL3CxPG2n$nF0i!biOsmD0~Mof_a*Hs)uR6n}%UY8;d|@u3{O zJ=Ao@2DK>-`m7RTy^^8vs$N%a|Id0J`oZ?v*2;vx(<e$Y43l8WqrW~n>LFWuA>{9! zx@ti&#*TUyQaoxC9xPYplACQ2sl-8i3nygQZ|RMA@GlH2Z@s}RzC!0#j>hdthBNYv zilw)1?G1^F-g$y)2{AsFWtUx6Wjeo|iS0MsvM8(ZL~j+DqpIef+Jqck-L^53Z4nII z)5fMW@pa4m1RyKHi!KxN{1(>W6lc9FuRh#;Rho^G6R)%(=ZxrUW_2Lyq7**$0tu#U z<%N0cGt9)B*QeJTOjMs>hFf|&$Z>Wj^RJG;7|ogI8`&rO{hc-;RF0exyo*d(6?$}? z_0U+-I}2c2$Xa54W3iJ-_SDAyTI{~w3MzZ&ko@c2%Lo@7@bXq@YF|oE3Zm1IKq0Y; z`xIo%Jn?~!D%^7!IS6@O+6$P9%s<hmt9=zQkL?lk?EbQATe0YXa1fLp4z{@jv*YUi z5jU+cSbyIfjU{?Gjro^!b$icOz-vls=1;OxmDfpGS7#r{-oNm2T1_0nhBYMz2}K>o zz`bCC!@2N}CW(2D(Di$DOP?wsmFou~%8s+;AiKDyz2k~TU%EN5Q{6trB)ohbo00yv zrArF;KEk}LF2!tm?5n-c=Ww#N3^;t&KqW&t?9cpdV=(U9&;He!ScZHK$1@3z@)_~t zM`GsPt%38koUf%0t*;Tv#{)X#v*NV^7>l0}sFPx8-3In_|CM3Js9Yg)eLI~vFGs(- z9MaN<@}$Fr_>G>8)MLH<b9ZN!4yT<bZ+xfSi3Q~(`SmIw2TTxSr^m27#w3E{pMZjN zaLtD=>L+EWFJx-Spa&l4nk~O;^G?<cyW+hVgY$+)UkB8EqZV7zVO-0$459l^%;{ud za)p*XHLA#z2$HSfu18_i;*9<}mv!4t8lboTRt)BRih~R}E;&($u`BQMz(pXK0fJz( zS3D+CahS7|s>l+7RR=N=tsAb+LFkjLZXhCYnykU2LM;|M`fKA}z1m_->;3)2l7?4& zMrU6J&6iz`c?DXi20(Banw#zwV(Yop+CA2j=|dOnB7}e}v883svtk(VP>XTv+mrO+ zFnca$+I(Y-lg#w0bqyJbbVvW#V0ai5VmJQb7{*hMo=I&Sb5j=uTk`9Vmvt63DLHQ& zrHd14>gt>R&7rG9)b=Ii^&ZEClk4^RU+%hlM)F$-fTE3QsUCYYB!xG!HdK@2!|#0v z9M%u9YXyeT8y}=aG`e%!Ths=ryM8b3IEwN~&5Y{Lg7q4@lZ5_oWe++Uadrc5DA@Th z(LT0lR@AnZW{F)5O8<F`>5Zrn7W9&=)3x234U6gef0g%vIj5jqKqXz07~{2wdV{^C z*B#XJI3QR$VB}C?q*sS(u<}})c0PNxK|i_g5dA;Y1Ghn~oHS9I|FQwybc6fv1A@Ej zr((^yL4ExcgB_1djOs#WZfFJHIrv%p(sm)P2mZ{TUs-DFbxmd7na&kP{i5IT{#`P& z=>;pL<RVu7&&JV+;xi+XN~UTFSw$$%9@M&A14zC_3nrh*wJPL(p|@Qcl8c{Ey>>~% zcZaGisxkBT_ui(Iz8n-mD#a~csZhDv^-gl3Hrnaak<`jL84n#dk72qa9IUIqv5)K< z?@f5F!&db6_Kz=QUfSE8z}ObW5mQ^v<jm+CUx^W+34W{-H)X>SQQS)f3t1u8wiiPQ zzCpZ2i7$d~qK%8muw1Qz;v;6hCl2f|XeMGy43=A8l$bXH%)Eg!BI|4BoZWvfSf;-w z|C#Z!cKu1v2Dt!whB%C=X)vU>LkJtC2Z3dY>otLpw$2n8Xz4?kT(b<zJ;cFszlCAz zvqkSroc|Ti)MV}&=|;a%j?rKaqc(y95JdFo^#4lew$P`8xv`i#<Brd=zG#B+Vuu>_ zLwHMO8;URy_7c4tfVyJ8n|jzOC2r0*@CZ-HuM1dge2QU*cWop?3@C5?EY6IXbO`Uw zxINcj-Hu+yX`6>NTp#MxU#&*G;cOv~z|?Y<%YUO_4ePT@`f_up;1$V5#8%FV?tL;C zF?F%NI9SzoDHm_55`f;IcDVNw;m2sCYc=lc69Emb3c{=<+TG!hR)L)8+|jB3xEevE zI{hQid23RT_)z#PJ97E0L6{YT2DLIzC=EP9qpm6QIIK1oJJ4F9n($>=o2g>#uRu~0 z&aJo1rmSYl1oO$KUeYg|(*@{l)ZXA~_qj;c3a*=V-*0>Z3_(}(fm|MMesULn|Fc*3 zp#Ly_hMPzDj~lnZy$g}KjR7_8&0{?wb!fYqwRyN#Leh~CygFbDf91$x=vvPk$Fnr@ z5)^K0H8F>RhwbruG^GPApH3?w`)v^UH%QuNtSq;OIKe&{$=b7{te`#_+b0VBO8xbS ziG%_Se|E#Wz0S31X}OSVKDM^<$&3Tv%q4Bt4z~eA5vP}NYN}{9a~J;muRLQPT<)m; z+Y}nP2?|#xcD+4+EtC;=7u=S_bj&Wbjb4#e*XtjpZ5|zal=&itnA+}t<th=p<EHDc zr+hxYrV##R+v?6^BxO~oL*Ga&9wz*2e-qAz6ZFakPP=dR;bhkzhgk1a01?U;i*0qO zMJm-3fJz&(-Pb(-PBSk^puN~A<)XB`efSz;>EZgv_L(;&_49JxH|E;*U-r0ub?`)p zEN_Rkb1GR9&Zmm6OI?XR1zQov1i_CQ^R&m~8&(KggepR9MM;IeVWPSjAHi;OZB|v7 zPk+k89uHX>YjM~?DtUm>vq`NEIYAkYq03nZo<e30TX11k=$+xmW$vf(tAK>UJ=UH6 z7ujxnBQAi{(Dm4A`Qxc|&Cg)id$v^m+On`WHnlDNL{&BRPyMV{&C{=!1?Yer%v-n5 zs&hS*d~e8lUyG7Dg=}hSghK34@oQ%52@cUuygLmKD<Agm3JrTF9=C3}B|U-ej)f>a z3zTU|mfti0O_8+&U})qg?A;vg63`~)vLyXZOvXdPQ`OTUx#J6eBK<;qYkg+TMlb!{ z$(Bn22QDQpdOY`?{XE^NHIj8o-(`n8*|iydSZioRM^Afq<x$Ga5ZWQ-@OFm}(S>9V z8jaZ=dY$98xzZ9^q48~10=L+t2Jyid{Q$>z-#2AQ0yp0#+KWF2Y6qGFmL#^V=+nak z6Y7>_9W=t7VLCl*V?ytGE&dvs3Pt~w$w`Y|_N#SaJ8p8X@)x|jri@NAz<V0CuttxY z|KVs!p6};Hpv^)j2PmKQAIid(|FCS6^H6}@Jkz@q9c6wb?Y(s6lXG;p<Ht0{KN=nj zKd~a>Q#m<k2QDM!&*qwv3P_I_ZfAVh7u-##r*+g~kaN;D9Pp)N@t*;OT@A0iK;IDL zvSFb*NKfN7SaT~ny#p1)IjTtvm)}0d;JIY5h7pKa4ZM}JGs6!0_9M(r>uXByj;FS^ zm9J;&6*SeKk2lUp<xEB7D(}5{{Byzlb&@;yW+vFdA0Hv|rf&s^jjqw4L@~ZSq1eC0 z{nriL6Ypt;`ca~OhTi6tiUHS;brF>bPZGY8TfUjac&bMNj&LV^t4C2kL6(TYD~j?2 z)Xo<c=<lWcYAt&5{y@Gr-FOpu{;R*gv94@IA|<}4wIY?VL^pKNB94s=PraPj(lnEx zhYj7juwZ5*{v~=7*)^o3B*o~dnnc}UobSD<i&{4RhvS|Cjdz4^ZO*O>HA1!s##69^ z3Z3WM<ET)s+cYk_4mlS&@<$qd=x%KVExHN0=mD?3*tAs-zLM5qs^%CwW4Y(IH_--P zSASy=+M||^Ti3z+o?2nC6Tx0iNwU(+CyjdCHlXp|yF>QKK3uS<r(q=s=iF4b)mQDi zr)hP4(3%*!Q^cr>K-@gSAeJhVi)~%~E7a}ogz^NpnN9SUU{#?X0ZZBwbgooRTuhs` zNZEFH*OxN=NQn=)#Eyl|lE-2%r7x!Kp8diCAWF7Fu34}A!g4H_U^=085_TdXD6kMe zcf;G;d~9-p>AaG5!zS~=hs~<woPf>7kr8TlX%v167msZT%@j4Wpy~3+<>dzecIF$T z&w-||TEFyt;Xm1!T1w{5@nZC_wr-p8PpzV{hT@FUFmYg9Rd0=LU6lgOqpbPU#-0U7 z_+8O#L)dNNG<rLfxwO=`0YtPZSwSyEh$E10@|Z))q2uH-YWikEG2JQI{)%8IqBCi} zv-c9p51|ZZ!*7OY+9u@NT9ca{bR@LIb|a=)eycX_>`-m2^|2fy^4`)=31v2bS2<PS z%O>y}IbGthFT;kdZmIDALBI;d1wby4z7OVHaA2|Up(^M%t9{Li`4Vd51C{g~@!C~9 zyIl8})zh=6<mUWWU2ZFDq_Fu9o5?P#L-VL*yW))L{x!m9@<{i@>1x9|jY8&*B)~<j z#)%TcWDYB6_1%pmdscVQa73Yg3;jhfVPQAFt7<);YnDCX3IuXDkrB(P!E&<G#KpBG zF85tqH#CY0Z%B-gE)Ejh0g5-W4dBQZj4w<-E7Jz$;wq8)uY|ai3sBeTx7E*4GNI-| zPDyTcceU*_dFzq&5LzVRf_R}%yWudW<|b$yrbwu`J}?U7k<QaMf)8J73Hhd3ettjC z2a<5~3IRkF856ucNz~lU7ncO|Y}JQwJ&6LWF|+Foi^SB7L`4TViU{6bVUFcw$0_GS z=-YiAXG4b7V|VNKWF@+K4xejW@Z7e6Z#$qcbPbl**J6LcqdU?oIxK$db-qb|chwSp z?HD;b2+_QjGBB=7(kvj7beD}wPZK{R_>@r10yz=%xAMCmm9sw;n|Ewf3IL2@^&~m| z3^&1FcWBYZNXo#tul9}<Uy5P*MW43KM7zNQohzWXS!;yi*3q<r7Su8}Wq0nL@6kVw z{eB!I{0b3}l6=`IKp=94(uf=`nS*F@C!&Q-Gx0NgL;3R=$2!+sH-8N#y}2T2AsOK3 zV-C|>)Wan9#JHpA%}b#C<OzR5Q`%&Q_Q&JAnx*85HJEozcVubrBr4vLwE2Q$VTDqO zUe~7Bs5=k@&LbWiHj8?;K3)K1m<u&vP>HkCWT4K*!0~cyN_P<avjh7!4C)8+4Mz81 zb2wAopFib@3X%m%{eOq&4_Owtp!shg{7}=0{+k%t+K9e`mkxN%LWWE3dQHX%5meRw z3`q@*Z!%iLsASMi9Ja^GnsO`ow3uK<QtAMxWtvp(RIkLQst^z@5B%DP|H#^&SR%wX zp?#jueWnxzb}cq%Bv<SO<JU$MeAql#D<uJk-96EsPxJqwXCee3%YPnozK`C^0?Y5r zDV`r2Wu^Vc4Dffs2$yn99@ZWWRNkC#Z-3c9fHy@FV>#3*BQJz}(CH~j&(!MFw&#|$ z<&aUZ4CeF}-H8Sf(yBkgH_a=jOyqtgiM0852s_kS=OnK-m8XS_vyhfU5G1Bbi96;a ziU0JsE1yTNhz2j+`{C9xubM6)OzgSJdfXI0Fx(t{i^m|co%}Vg0=;N=uBpp(X=`8e z`t=Khn$lKx_G3=*l)@~XsSbeC0ZRkS+qX&N);KhyAAm-{*mWyO=QN3-`r56Dyc_IK zsl;owX`x%cJ#>?;D)M~LH?Z!xRJ}HQ{EnT!D{C#)nCc!uDmCY3XYhu3@N!_eQH!wa z^oGH|u1weuC3j`WWBtaxyR17O(>U+pC8pbbRSoXE*dSaYxi+Jvrg$I#&!}1D{7GPv z^~xR_$^VOD;ct3WSLT>@S|kfU;7-2um|UPZPlKH$dONX1L|_oF(2C=^w0QN2nuvnb zMhN+VhAy;?ie;LtGVBSW4nDtipL+9_<hPG)TX0G0u7Gy-4cv!Um;n0f^cUA&dmk6E ztZyTRIdFSqFu8e7@qM0iITsGyE+vaAWPQY8aA+g5YNKdUIw6D?ch7^m^No0kEo&{F zVH0caw2*}ofzCkNI<rd&*WC>!n)2Lm*%M>0mT*k-3A|T&Tkj{2_lxo{@8;MFhM8?4 z1>kRvh6l)0It5PDGNbjOb<LEf8-35{;U7r*{0pm~sH6Nmf_KzuJ!(fX32(YX+E+j| z5X8+j5i!e$vNWs9Ly90Htek~st*WQ$1c=-$N6OG)1r$geKZ4zEp^eE8!uV|6IwzwB zE6LXmh`J;b-@uy8Uk7my0H&dsiVxEGqhU2n`mbUH=?L0mEILY~D$Lao_OQ~KXA*dz z1!!2S>7pl=K<yOM6ZXCM<y2+Gw<XQ%_TXdR`Umc)$NJMw^BlQdXqUCLp8?6({*}lY zfC{PpP_K!|!6I+xFPN>STJm7*n?s$SI*i#Nbxub$)nd%`;NESHjYn@)>Kjs?+)T%} zyF&fywBrBWlR6_0v63l7J$?$9@AJP(cTsxW7!fzXB|nw}NWFC_(8N#ZE@GE$__cy` zqU&J4;Adjo8FEoS`O>3nLC--^VNEk}UxUWIW`#^ze-oyVO;vA1T?TFZH&E+?kR=@P zVihC;=YQhqA1e?z$>QRs36G=KiN!ApuLsxrPA+aDN1#QU$;QM^i<{~mwt3{VH0yp{ z1R~e1A$on0fF43%mt0*Eaz_9Od*7j>pbAX(GXqP?Uihdyg7X!bj`F!;mn6!vMFg6= ztDrjL{oW3C{&U}*UAKM|;}a6P?bX~z-S{uSqh<0>t=-&<o=aY65m5XSogdt!4u0tY z{;3-?=7_R)qQzi|_&)Tp5)>bUGVbI%-kO~ckfDZZ-{~SLHk@U+1!n#{Zefr)!ORa_ z$c<WB0USvnwG~#gtD2h{>s(MH2;1b+iwIB?N6QzYLIxRTCW15VfBRPm{SlfXc*Ur( zd;^}ab!AjY3et_CQp2*UHz+Uk@9Aphy?Ps%TJ%>AsqCDi!{td~P?iC7_XE7UjmFDl zzJ8Le5$A8>cmF-_%`oQx>onq#PgVth<XhB@-(>-%eu0zRTtV7qUvH)9Mq!=_>PV#5 zo<mbn9O>K&87_aDxqWxVFFx+jf_!?#-ke@ifu0o>`k5>#1|9vo(a7oi5u5q^u1C5S z@^C_7jA*@vfjOE|(e`VRMR`gX_dD;vg6@dG{sN0-^6DE89e0{z-zF(Q^5O0AzKh}? z8#JlK`G@-20uK;eQi|a^X^h1C)Hs%yHgsvo#h<=eI5<iUjw^^DL^y<v-ox&?m0Os; zb2xhtM>$FaFrZf8U6xQrIPcDdBRg91Nf@_`9j>n?7xp4KV<W`;w5KMh&JHIJJwbre zvB+F}A#yHELhfVf&*wr5o7f6Qe1<l5@y{4~?%hQ1Yq8*Cajpr&yUC_kl&N||$UgQN zYXlt?uOF>4DCnd)Xuy_niUZVhd2f3Yzvj(n=h@!2{_Q+h1Q-<`{MAqbFEFS2?;_p1 z=C!^RCyPnlkY+2`Y#%=iUo*MkhW$0LuyG+n$jB@|Nu~|Vv?sQ4Gobdi!7GRKmob$_ z=wW5zWP5S5@YSCtwjsLNRM=W`Qa*YY%H<#;eiH;{&c~O9`n@o>yF@iG{&|S@e#1c% zxV2F8Gjo*u@am4Ph$He2Z<=&0yNE`b_3TLOD%r~YSk>07hjwgo+U*FCpz9zP(Fb43 zaaz5Q&v+3*x~$F(|8}IHWxhf^xaW7<@Y-vyXEjYTy*@eA(ZLHtRFFM9p0Ksxw3(DO z-VhmHTRIPRHpLL61#6t!bhmyMFtblWPTC<Js|Ju)hVQoOKjLCSZz2jbH@aM2RZ;9% zbMGQhPz7xf!U#vo25M3LP8A;vF?tCVzI!&er~w{(r_%BfKWE%uxX!HP2QA@x$=(G) z>w7PDSlg<w(%EM~CP9|h{kut*cO*SfKzsm~R8#5I(p>KlIW_x4k@9URg7ucyhK>tQ z^x8W_mRh(W)*^>Pwh_8t-ZA=PrVvjO{TFxy8-BZMw8oVB!fncSw^CwMXlpJHpHYC- z65p2~Ed4dSKY6~^wOu*^@E4F49&0vyhDpc$?A;*EEDP;S$x1iP`Y9;kQ}uW~ABtS8 zyI$u(+c*n1_#f*6)iww#1XuVM(6xsz*m!Tx;T(6r*s`c1wEL$nhArP`Pgr3;jOuQk zA98Ae>YSrT4yj2`TG5g*@owF7>0H;_CpNZAOGfMWzB3*?(C@hXYs^|<=EQHka{b!| zFF(_Dn&C@4o?BjUNLNOEju9gHXwkDLR$KVqw5s*d&7v0r-o@vLUkD6dn#YOGuBh!C zR@{hAO)v7OCKNA~XDq9+zE44aUbl%DY3qHg(qsQ*F;(0R%cnYTjExwJC&o)1HC}ti z&XwEO<^lI!Zv@Q(v%Bgu5T{lv7zG4BD?qFw&u?qg7%Pb^tYbMUhaLzhO&O0A+aY%A zt4mfAS1?aex13xBm9Hp7>-<n<pcLGYp=lMh+*ZF>1P~AwoAim+)?j<Z{r2T+Y;n6W zQG*h9yuI$pIz*9QV`&1NuN<2VPj5OjdBv%39S+iL9y>c|C0ZTOVpn~qBe3cJC0Vrf zhZp<zYw_n6@~{#1q8Xhq^Q+r})BaR=I-7xC#ZYY2qU!|ow%}cHJ;0S$Q!^}ARzGAP zO^Y9^?K-||kp*U#4|@La-Z;j<vahRi1=l0}N@IeP4+2dFnXg+@BX>XEVlz{*chb&s zYby8M)N?Ap^?bQibY1TSV)(c|iF=Ms(KG?<{|FC)UL>aSs|7nofjhPv(9<35;F2=< zQejO%T{;nLPfcY5%H_W-+p^^Bps!kCuY#{~Q9f!k<UZHbT>hy#3CTbcTw8q6FQsPw zrn4}Q`$j892uV(Hw+YkHYjR<oPa2gfxNacdde^b<v=Qrz<-84s2`@3BCt3gUk!?I< z=n1nQwmc$xvi(49pwl1JN1m8RFGDwzV;9%$ri>DALY5?24f+t9s>o}d<_Vs-zA<99 zYpVy%v*%IawYq<(#-Nr+^ADE$YxZn?lwGUyF7K;a>eC7$Y}QM=oO=D%KlM80z}Be* zSo#H)tri~HQRV?sOD7h`4ec^ed;Qf=g$Q@4zkF$EUmsZL5j7$>5;i8%L@c>_(S8({ z&BbLRU@=lDO&Qgn;yZG8<f7;M$@v-rdDi%?$RF2c6<_ka4AGU>*bP$n({jnHYmsE( z+f-DP_nX1FnI4th6}2id$EQ3cz1}MQ?5kIaL>F6u!PNMF8EL}5^~1>u8=kz!i0l{B zH?43C@2v4A4|D*yZftF?eBhvMMkEIqQrPDY7RGPet-9KvRt8a%kNf1J_tPU)7rw>G zvnZfG)Ne9PV1q;GcBS@(48$?c*IhqyWxQ|cNN4x&<Ai|i4hh#e{r&hPn2Vba#tWBq zHd7lFOr#!C^)zU^K-dlLNA#5B+>Ms5{;~&KPP^RzVfRh71G4C&Fu#54dLedQvV`-! zA!Z2CxwX{nk3f?jAqUESzODzvZQ-M4h#iQy+`t#Gc&avU+_s7UR#xh0vUU|{H9t^? z+Um?bm-xXj9aUk74*_hCH6Npt<+<U=X^*qTMxz;?!KW?y8W1F8GTI41o;nq>gjWUx z7gAPGKh}28jad^bwFf)RCFdy`PAU|LGU`oU5WT<ozca_)?`PHo+%`j9`cF%*Ncord ziGu5m?5d{4YH^Xq5jdD>^|ceJvdf9m=RsYiJHDI!2VSz1YQqk0a)lr=)8w}p{$b@; zhyD2A#YX#9NCVJQI}RxT5qrQex%$JOnSQ-sZ^=hy(r&zXg3`Nu0422+-`c~_{ zoS|?AWu#6FKqktwqSr;0)f<dAj$AcNK4U;h<?M`2;O^DZB1szlZXsD8RfH_?yCQg~ zTw1MA-Nz7WZ0#j3ubpo?*kwe<{zrYA6|?AxnAPBu^WC(@hQu`i;I*@>V?Vx2Tt157 zexFcAAzW%|pNN+YceUY9S{Yi7cI=-TFCti(cZvs}?Bjm!R`q6_^P}bj%%6K5To_QD z7#8(qi)*exHc0Mv#ol@4IlMBnqTN=%QItF%v#Zj|3`3nm#cl0pWmL?1)jBQ(Y!khN zoWEB-l-mNJr&T}N=4>lI-%CEM7+G;e)%uxt2Bm$I4L5@-G#QpNpnD15{BrMvEOLo! z>^AG>;esT9cDUImZzkj$`a)zV7ne{*j|K{O8h0yUAR>gzY`&5u{g->64Z@b#M&Ibk zk16D8IPek*ZWgM!)s}U*?Ty*@k1HNKVUbeUnF`G$pZVA9|DNiV^+5i3GXlswV3<sQ z9xEEAwu_7cJtRgUhg+slh;EH`l>;=f`o%CcfRAV~kMzS}iIZqf>vt<sxMIRw0UrhX z%9Eo)+Rj#J;%A)xrtGS|$t)6^niN^;9H#k0Vwb;2X%<4wCF4v??2?TOFR}#1?9V(i z2g_3B%6};U4~uqqF~o_n=kly-6ykbvS}mnUt&sTUbb&CzxPT7>hFWz$^Me$9Y$*Rl z=Frv0cl_^t!56fI2ScXEO2v<FVyJbS#7Rd^{H__4a!z#TWeeOD)~qK<E+#popBCMQ zgiU)mz4NcD@!Em)7c6h9E*^<pOlhJ)3I4aRO*2+ZW>?riPk?Ey1&*$CzUhv3%%+3m zP{u`Y)OhAMD`w#GGJYRSlDX^Qp#IY!_DGLLva?kkVk2KYPYRmJ$NS?Wo9ADrTxNaX zGn9|}r`pn1@$=tW`y)tvqnjezbv$)qy#9Ppfu<2Rwlpx4eX#Xh?2;~88Q{n#$V5Av zgtod9nP?(XJ?8P=z%9!4)9-|>rjh2HRlINdOP%6c8dWF`*=x9!AU)G~m#&oaYfP*R zt+ci_sBgaZIuE}KeRL0d<4<%^X$&$con|=&NzpH6=Uk~NzYx5&-yegpTVtSyQ4Tw> zF!fkP#w^qhph42eD|7Mgtl{PilDliTBen(n(+sW7>38qpyoZ6dm%9_ca^%H7-D6oE zvEKYtxTkL%{w#*AnA~}J3WBRjj@&+=vWr10YGCe}NH28iZYA!=FNeNO0B)9W%^f`w zm$Pe591ddp<L8gF6!$zKi2u!3pEDG=NQ`2T84Wv&&ttXO5z-ga7NHEJ*&5@MW5{06 zARZ?7-0s*q5gZvFGsFS(48fVpOFpdnaWCl`0lYXC8dhr(Y!kH2-h=)1cSj)&&aibk z7FXUOBw=d(2AMMlPn30y?j8+G0t(KFG}vf03`A&i2T9>d_(hG8*!w!}IcmaC23Jn< zz9clYoY1RSn+xT<Z(#Y+J4+`;2XNh#<bzh&%1x+R8IX)km`q~`h8>;AOVuXZK3-vp zJNwo(7JkRz+7CMiZ<BJj9JhXP1ph@FtDsr4HuT6Laq4Cbf2q+r6k!&@v%U#^lJc;S z7AjK$^cFBkr$cSLc3JRaY1^k>t!jG5+Qtryb}D-%mNn`26_n%pMYOr4+loOWIz>no zR<SGmqtaggkJ~k_^EDzVBXt}ZRPFfN;1lYbQRB{0`1L^vz|PPf(auKT4)ICSZ+&Nj zi-vuq`A%Ykm!Rr@ygS}LQE9&PY5$hen8+p-GzEIvHVRuq2T-h*Y%WKq+6qoNL{C(f zr(ly`JXKBZ4BgO&>!V|tXWbL>>oV3kBgwps3$u1&hyGd7>*G5PFSJ&+QF($qE9~jT zrqg4QT?CgPA)_E{VIL)K@8^xux=>3-HDV~H>&Y=f4AuDM`|%lEDX<lk{!KOneKUQ3 z&UaoUIFi#1(0chE^4_+8qDp!TBB!o=Fk~+WN4WDA8)qTayTQSR4J<vn+}k1+1&_`5 z35%Ddd*nh84u`%L9(eU^wOp)*>Q(~g-F~}wV()WaMd~y@jw8MC(D!PM$By{=qSnd2 z8d8{1FZ9;BEvAKYGk8T0>bYsiuKi+4lNJ-b!y%V-{G$^RNtdxrC{3rljtBa;-U{=m z*(>PVGfOFqE?YxX7h{>pfLSHYpI&e3&J)ZeWhjepGdv3iD$`TESnSW_y;h%2Egt;s zfCTWc<KjxNWeV*|DzxGRxSbJoAYJ>MC$dD}U$6X1Ck&l(VE27|7ez$mQnDK_c6ORc zGjd9$t}kNqKv>vfSk&IDB}Gry_e3-kl22NdswWKD3zZyI=JId|riEJ|?Z}~ZpYUc6 z2Xt!j4Uk>7>^*Y0mFX8z_n47+ph+tW;i385OlNMp=(meISf8V_O9c6`i#mF~_NzoU zzB6=|c+7T+x<TWSA-F8J-ZNgoUfcNa%^0^NeS-?sLrA@AHyD9fzBsG)2gfo<gz-gx z@~*99;H1u|PHtOW2gnX`eRrL{hyC|4RCTqcGuXm$T`!sG&1!UBx3vJRnyoO~*FBjA zjw_V44eGOfyhES=>so|VOj3>avxAiQ1yZx}@dpSRQ=>Dudi^N0$UT-w1IH6C5@D+y z`&fLpA%#gyt=c-{WjUI^1I7XMXQz9bQ4@~a%Q@#Z7y~{REmRCmLO=g_G)t49t;SW& zzY|yHW=VA~bc;ny;ot*HO~d%Tp4V}#n#qqg2}dbUjiN<vvt^Dv%|P8BP;q$c?sBMi z7rXpw)}e@xe;n*NhUz*8-qqYpBQ4^ZgzuWIiH7vemGIIA&8ntjOSR*XM?LZf3=-~} zY~^1Pd?8?S)Pw*lbWTQMa}d}rD<x54vtk(-j3j6}PyJZGh~MNy%Tq2d&!zQkZc^4y z%KyLPC-c!`4+f*2hgn*FfU1c*eK-!$!Nxd=fA5u|&_M7OqkV7hkA%cOEr6)4&os}^ Nm%M&#x)6Hr{{TKepr!x- diff --git a/data/dark/ancrage.png b/data/dark/ancrage.png deleted file mode 100644 index 06635f38ed1c8dbab8a3109d1d8394bea07c2388..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1758 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 diff --git a/data/dark/audio.png b/data/dark/audio.png deleted file mode 100644 index 9f14c5da708b03ad28555634ea965de2fffca85b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1527 zcmXw(c~H`67{_0*6z|E*%2-1@=ulAd$d<f<5I2ifytP0<MS&l3h^Av`nTTbnnRZAq zt+kt1rzzRe+M1HBbYfm*ML7*+raPHYxwt#~%skIC@ALh<&phw@$5T$-PPVmjwgLdy zQX+^yo3hV>Bg{=P4n9|AN{fWy6dJ;0g$Sn1bhhM2BnSbp`*Xozwd?IxnTjh#q<B#@ zlrEAm1S}wtNU&^PwlIysXJH{h#>q*7vk9_afM{$HhXoj7CL6*Eb2C&_0>UJb7o;$; zC=(I@G9y*MW^p(yR1_nVCC>BS#!BO`1ZgNj#{UYI`>zrzWaL6@K{|siU~$+yaUM1e z;s)PS7^_SzS1h#LB49B@Y>0=VvAHaO_wn_^`2^tbeq48stBJw=H?~-i#sZll5q}d7 zCrsz?Ga=r;bK{thgvWsxOq>u}V7${HChKciEy?sN=PAT6T4wS4xTwtJ7{~7e1vT4G z?yq+~B)=Ng5WluKGdfvDr|v&cjXyq%_0ycIke4_rQ5`ZLt3+a?Ncs3a$uX7kCJJ62 zMdYj!xyoq1o}aH!&+5=@kKs`Kqfsphf14?I-ml$e`(!S5wm~>48L;@E5aOuax^OEG zYGhPR*OT!tE}<%F5h%E%8Zam(V$4E+rRG*kz|(a8X4;zBJ@jv@C_MK_c)N4pO=*d} zue1qF-V4lX*?rB+phZuqc^6Z(UUFBulQ|6RA!v=ARKcJ)3huO_;^g<`>nxvU9bLrn zU%2i8OFA@P2O4P}@+o=JzP(!zUDiRB(KvJi`eCHNUSl;Vegujz`MZeb0V&=lZmA|0 zSil}vjlNJ#5~RC9;Tm*C1TQ(1Ozs^hEiH{B>em7#p&Acvkn{+t8+a3#nCIoxbcJhl zr}U0LvpeGwx>=K!ozvoQ=BNr&8+l0HXJ%;5Fm8H<|7u@@+*S0`@`KCZsh6InxQ8s} zOMLrg9_Vzsh-rdUo|==scugax+N>k2XMH2jHAsebve%1Ts~doew`V@~s!nUxas6r6 zN*H{+N7|t!{t}%%Mx3UA^G9ZyldK<PUQHw_W@ak-5SoA%@lt6lumoZ6F(Y@kfHOyj z$@rH`3oj^@FNX36twPS~8?6S|Mr%~pF)-4e1XdIfG_MpB;)!}J{PQjG*jccLuJ|$b z`%CGL$+nF2^vc)E?7<Y_15#S2TUWHwJNT25i67z$@)Q#1TLqq{WzCME)4|awjpF0S zoaehq#AhF8*exEIfy47$^|yW`H21DwkkoH^aP!dRW~ju$-J!e*or+|(bK_pS`%TxJ zvU%Bd;lhcjoEFDW!5<htnOgGt=HBD)-ip5TasrmPsktM?TYPFG=U%H%B`_By2awn; ztF0qV@3KCl8&?Go2w$(SWw^lS9=#P^(O}Va_-t$7)&J!#W{TZNyH76|>iy1|w4k_! zXqG1?CG|%IH$DykDZxf;y3PrBVX>9nqY_CqQi#mx0a<Le<&9S3IW5a3KC3Mu{+L*Y z;qBOnbjgAswfEqPLtC3*f7gsoxS{&%HruosD!bKVf0?a-`B;wUR+kZ(b-SB&sv<sr zYVe@4vonYm9lc>Kde->vxJQsXI;3jU1HBXY2VYXh#KvyjQ&2Dwhu|YK)Uv|L?$usn ziisbzf$JJKMSNP;XA87>iaPG|q2eRkJk_YV#A5yP(%UaOG*uDq1N66YDq^6#?``sJ zIi``7kb=fvrc8%$MtBB;VMBWiuqnGuu9DmeltTS?@7iG;%6pQ}HW+>V{d<Oohl%<5 z`QFlRt5ByMs(LNV&5ICLC+h3tWkmFcvT)^AubV2};w7CZw8a;rv8{P}jw?u+wOkTJ zx$G+~aJp6A+1VL*=gyt42b7mQdvok6`YeGMmQx2r{(gR4*{Z`Z!^Vq|zgfVL4-?79 z+K_`_TSZ@~TrNM1AER%O^}f>S^?J8N!#<FkbS$Rn+V61s34J|x<g|Vs?{Spcz1L<Q Y)b4Cv&24~VP1_DoNZX06;q;P!05J)a*8l(j diff --git a/data/dark/general.png b/data/dark/general.png deleted file mode 100644 index ef66577b71aa900075d469e75b078fa0703d4e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2470 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 WM&9E+agzT9;OyXz``!N1&;J36P>R9; diff --git a/data/dark/ic_action_accept.png b/data/dark/ic_action_accept.png deleted file mode 100644 index d93146d9902e3d7631f4d215abcdf50445264481..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBlwP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzMoC0LRCwC#n6D1PFc60a1cRBtE!jJe z48x0H!D4w33}P0|i=bu^SV*R35HlF=NJ%EvtzEn8iTjevmZb^buN(arMS>s*f*=Tk znQ#@$vMhzm0V*$w;;CylV=RA!ilNp?lHAL(e7CioGL~PcM|j=n+E1CwBRBYjuIvMV zJWB6c<S*?1#7Z7}KDCi&5x_-0cmP-VpaFcy2Mgd!K1cwc^5g-0%l8I=AH*4O3w7#R zkA#x%Tnj1rJ=DB!JrYXZW+wg#sHvWfeCHd0-hM%^S8%&hkF4Ls*z�X_pWb@<#iC zAt9*bjW;wlAvE$2kk7{$nvHj4CLuKPIQ*WW&4<OFxG}u`sd1iwsx<OAht#Y#^_mbB zwfx{sz2<X@spXwcC0as|%R3*dw1gm)_i`@O2(hG=7X(2N1VM1*E5HD0_t_F?K-qTy O0000<MNUMnLSTa0_O{>v diff --git a/data/dark/ic_action_call.png b/data/dark/ic_action_call.png deleted file mode 100644 index 7c9d1b09c55f77d44877d4a354280ae5c2e1f645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmV-E0>S->P)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj00067Nkl<ZcmeI$ z!HZ2{7{~GNi<)T`W1?u9kr=U=Bpafs(Wogj34elx6+@J=kd3hzP2G$eD@93I7?jfN zBu!1Cv7pq{OvWTSLulyU*Y4KSIh|*5kM}u?_w(DIzCHJB&LxVXDAKi3A;D+vHGKqE z!RPEJ8wf1H=Wdw5YD&;00{g85T`Aj7Rwb}mCFlWxO)EiD1ol)3N^k@<j#t)AP-oSk zBLsCo4H_e;ZZ&9zpd4S+q#lBLqy`-&sB>!2PJ-H@<lMs%lw%<$XMz@jyIHOr7${c` ztYX1FM;a+t4s20!3_QU%woC`+`o)FLW6tps-`EoCF}Gjb=oaQ2lOkyVbKAvd<1DK& zcTL>rHV$L$%!{Psm^&nbmf4NDs!00GCXBW5P9(i&9mcltT_n9>4aSD3%Ow3uICgQ2 zjr=FWc(D&`CQobQ>*Xz@9Ht9Lp&X-lu|@Xg<UGS8_mx-NXPgl(a+0nhl5XI|{%``P z=Va~&duZB<RFdZ|9ePgYrYV5qYU;sr4C*-<t5c9u)Kd??LuWciU15e;%6KO(uvX2H zE6`SE@TvX9TLnQI*YQoRa0i(yR}i#Qp=KW>_43>xNU@I><q85v9}@;aiXJZW$v#M0 zNk3KQ)trQ&9KD?3A&d5Zz)Ox!202ZI$4v2&Z~UT0!Wb=Rq9}@@f0l)Q`fV4v$^ZZW M07*qoM6N<$f`h>XQUCw| diff --git a/data/dark/ic_action_cancel.png b/data/dark/ic_action_cancel.png deleted file mode 100644 index f889617e4471d6a0c65dd81a060bea482276b322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzSV=@dRCwC#n7s|cFc5_e?$XduMal$} zsi37{3}#>uR$+`ZL}CL9iu4pv&~TPqL?R?{{9XWYPqIRgeD^;8#3vi0QmIrbmFkC- z=lNP%LWrBV*rEMwV3MsoHqsVpnjWjFdZ5h9V<&ATapw~E1PAb=v+=Jp6hzH@=Ksnh z?p@-Z`}Cg%<SL|HYVR)LE@nA3m^VI00iOXk(r(1v$om<Hnu!+k`?4%=ls$lgK$#B) zKtLeP4+4mRK${;7Fa&~OJ_;ZNf@R)m0zQad4Eo;`^Dux82*WZTy@Yx$ry0vU6rcry zW<Io(_)0-%;LScT=mL-e(6WiIh}ww?(D4~9Pz4|bpzDxASFuolz9%db!m`b?A?z6D znGkj?^DGEErg;X09osw_BBYd9qN_^Zci(W^v1HszoZY39PXH^-8fK!9xQD;FT2!f2 gDwRt0Nj(J^0B<u%^B(o>jQ{`u07*qoM6N<$g0AVdX8-^I diff --git a/data/dark/ic_action_chat.png b/data/dark/ic_action_chat.png deleted file mode 100644 index 9102f25dfd0e35c97a5c19c8988c02b364007fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhaw_ItWGhEy=Vy>gKAkb^+$!~a{p z33yLgpt{8Bpa$Do7l9`B(zOX3PLpb9ec%82K)F=fdCTc5EDO~A_pqy%t&v!<NcsE@ z?d%TkIVX+ZJ1ONj>uu0Y{H?S=IdQwvf_WR%cb+&D=glaYav?%8WrE{BXXgdq*EbwH zrO<4Uv9SI`f8kDr<~DwwS#@lZDFKaNvlfK$hGaKdO%htMn29&Q-`lt8y(8~Yp~nl3 wIrcV7v77Q`$y~8mQ5XOeXk>eS=l*xb9SQ35SK7Hw0eXeO)78&qol`;+0JGy`h5!Hn diff --git a/data/dark/ic_action_hangup.png b/data/dark/ic_action_hangup.png deleted file mode 100644 index 44794a9b9d2dbd58656bf4a0d107de3e830dafb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 515 zcmV+e0{s1nP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0005XNkl<ZcmeIx zyGxdD9LMq3qo$>VsBKY@5Dn5nXfSI?A_)yD=&(dfQ)7@8K@dS;O+_UVMAQ&8MUlUj zA04J3G>M>Sb1D@agbFKpuEMdy&Bg6=!!um3&p+_y3tvf+BuSDaNs=TbYxNm0Y}B|( zbLN$m&6_i6++#PK(r1m5Le=Or=#d#Aa?>6fu(|SKb$Z=2E#%xMBX+A(5gS}KB~)M^ zU9w(&N_ssJD!fs<l=8&%dnFXKm-fU*!B)?OjD0iawm}DVY1g7&&9BvK(Qcc=&bVX3 z4<Td!>lCHMh_dk4EqLLqZVh5I+UY{Zoy)FkCfk9`U+R`eU*`Yq^-n9^6*9L)9y^50 z-O|LLHu)eF8I-YiI{fC4uR_s58T)KM043)Hp~#@9omPTc!$MUA1y|K@QK*`r;5@Tc z6*R+qRRw+Fz7V~Q^4Km!?;fpQ3sIZ1LLP0t3sHNcjo73GN9A=gGG`UUB|Xq#DY`t3 z%!x>PugB7r>@yjYlbuvHq(P-LxfYR=ku;@8rS+T5$jM9^vsw|>c^j7lt;U4K{ijJ$ znmrR1H<6tK%N;l5h+0Kj=9nu^XjD~_BuSDaNs=T<lAlHTStyRe{s;g7002ovPDHLk FV1gYJ=Wzf4 diff --git a/data/dark/ic_action_hold.png b/data/dark/ic_action_hold.png deleted file mode 100644 index bb707eab97b3d48167a29bb8c21fc02cf582ffac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xf3?%cF6<L53TYyi9E06|)rRh7*11ZLmAirP+ zhi5m^fE-az7srqa#$<^#2mbL3@J3zJ$ezH&;JP+FcGl-YkbVYFS3j3^P6<r_XLK2a diff --git a/data/dark/ic_action_holdoff.png b/data/dark/ic_action_holdoff.png deleted file mode 100644 index 5345ee3c4a7a3576b7493cfe3b4243d183c5d996..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawE_k{)hEy=Vona_=h(Y9NocJ*= z2gVEsR;>f9D;UIQtYDYfuzAy#I~!Bp9Eok4p0B{HuiHB}$V+qS6!&d`8=uTAZp(<M zGf#al6!qz(sdT%*_cI3-kDT3^UcynhUPjkR#&80MAak#P;RXmLzzODosEGoG7l48Y z%7An2(FIP$d6IMOvktz|Uv|^~=1e)+<vg`JR>j*(RKzESv+D^YJz!E~ySM++u72Lv s%<tK?+4LG3trH&nE%?U|a#Ya1R?$tN>Lwqa0{zC|>FVdQ&MBb@0JEE2djJ3c diff --git a/data/dark/ic_action_mute_audio.png b/data/dark/ic_action_mute_audio.png deleted file mode 100644 index 084bf3c9f4d780e5e79d6d64e9c352f02f82b207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0007JNkl<ZcmeI$ zKWI}y9Ki8!z$y+ZE{X_MG&L=v;2=0EB9#vQY2u$ME{@VV2!g8>RCIN6P=Z0J1;I^3 z97|h7&_NMn7XK7l6;WH7q<Ajjct4-Md+}ZG-tfM^@s7I>Nk|?cD=RDI<>;eAjRtkz zafkhQZ7Y)~<c!mUr}pv_MR<O&2kUh(!ePU!BRP`PW1I5;MI(ZgV-giHWA-^JlGKMX zOfS|NL7@z!iV;-CTKzPPq?!>_1(&3T5i}1jNgq(g!6hk=nS^~(GZ6{bq%H%Aw2|;b z`se^;Aoa&2En>z0BH@p;<*y{tM#4AglNscf<fKw0sUS$CjYQf=xFo4a(v)iuESO0? zL19uiQ`k>Ds&*1=7G)r9CfEjBkG5a*LE8xS1{Ip7Ajx*<UDG7$r9S8o!EU44A{F(X z=OpUBKIkIB_MzG$UDi7)B<h?#XdKyCTcl@teTYPDN9pMzSb^`cN%_EPfrP!*N8LcS zJ2q(}?^`P`NZfgSO`T21x?{g_`4;IciCf7xea%yH{8=w$s?1a86-@)_D=V<j1(cp) zqAD3kr?Jv9@ijP@fMl(m;+jk3{FBb00`r7U|D<bzG{+Uz@~?(af>dNtx*qyVYLo%i z5o|rDct{iFhBT<J3eF4@JmwJ-Ov@D)q+L`|hH*?<&M<Sa2(y$~a6y7KTxBK_^SSk* zKk14D9UR~$Z~29!)VRe#mO`r&j!3#yg0q@%1CB`o1b85sL1vO~5F8JYJcHm^h~xoe zAo&KtQSsw**EdL#Mp=>u5FDW?Ile(q;$BQnR#sM4)^CUa^M@3H-y{G4002ovPDHLk FV1mZ`Cw>3` diff --git a/data/dark/ic_action_mute_video.png b/data/dark/ic_action_mute_video.png deleted file mode 100644 index 32d61d8dff7c7cb6eb0be698441b12190a4e3579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXoKNz-Z^`;uuoF`1YK=7jvP=k&l`t zafc68%>VQ8{aUdiCT>-Zd77?oS~k30XJFREk$-YQ|3mSL`!C!1--L#i_UVf07T$B< ziP&-^(Rzt4$2OO!q>O%(c}goiRx5F??KZi|YWAXDWAc*hJ<aad7a!*NpJiNWm++Ha z=%V5~p&;8CK2|;jWfPQU_;p!^IR0ERL%I2rr=dIB)5%GFJg3x;%7{+!=dw7tV1~(j zrK59dCIFTFRG2AJ{K?Ts^VyT;luLXiO&uRKPV#hl#!YazHQSL>MN`T%$Yj!z3>D9d z9+MVLRB=`I>~fpLD>8ZAhVRWKlNd!NhZ&ya5Ar}!bXD3jNH#;+^X!F(6Wo3r5Vk9w zwEXxt5B}wzT9<08m+X#Tl5TQA_gMZp?Q<7g%q7;!EHsUC@e2(N{mOdXZSn8ME4M>| P0m|U%>gTe~DWM4f4=9?R diff --git a/data/dark/ic_action_search.png b/data/dark/ic_action_search.png deleted file mode 100644 index f594b4e482c7db630737b6b68c8646726480d4af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 702 zcmV;v0zv(WP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!U`a$lRCwC#SfOsiFc5844XmUfWU5+P zGO$QR8*K2tVWl0+eqnfYWS}Jjr7aB^DOshKmJB3PM?wZVFtR)8ELm34+KJ;@lb>`- zYT3@c^WFKbjfR7RgM&i_cse#23<f?td~PURtyX)h34qdlc-(?qgS2v{WFTvh7|3MS z5Fl%hK>7;HVvt20r{a~c`dF|yDzzbtGju@$VR-^F1ro_g2$1rRf{V;Sp=H5*BpHGX zIl@TxNvBIS72F1uKc^v7`UMpEELyYM?S4VFolfV2+^tRP`!N1)lmIC40FO(iJSaXv z1!dO4ydNTQMI_qr+e30X2%Jf}PM>p|nd(O<c&FUZkX)>O0+cEl=4CSp1uu)27NuV! z1lWi6MFFdTIrkpaPJn`!9rdQ_$0+--4Ae7m0=|$obs)>xyH*#n8vmX^DwGF0(B(>t zdI?a<WIh{I&E0gTv~rA7s|&5U_psvk!h(HkB@hcYs9)0h0hjwTI9)RYD0j!)4LVkJ zC76#n|DGF~nF?Zt1s8OvOhih_T0Rm=>a8vUo}v{ap_y4yeUudhY*<h-pfR3xbZDv_ znNJ;AFXwg@J2KJD_QF^~CyRR}Wn;oC8IX5Er**7!n33B=2Wp^6nPRcZzY?q@4oE3q zurB8LHE&s3qm_i$FboRn@qsByBu-Ha9m`%LAbDdm0ht;|nncsI_R!3KK~tYebYua} zgZZgd1c*ecKw<;)zpd*BC{QO7Q!lJL0fm#mKN8-o?#Pau#MHVVmOKe8J6?5_+$Jx% k9u<KO4h{|uX7DG#08dou2U`sf^#A|>07*qoM6N<$f@EtW!T<mO diff --git a/data/dark/ic_action_video.png b/data/dark/ic_action_video.png deleted file mode 100644 index df6dd48e22e6ea444f6ffb4d499eb7de1bf46cd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gk3C%+Ln>~)nXbrp$U($~d*vaqZdOju{06q}XFLxsM3}HQ z8jD<IQP~=ib<oH+YoYh{*c(swrhL+#_1E}q-e+kRpcxDd0h9Yq`WDLYhol9qKX}h` z)-v_mu1?IKTVIAAe#X6t-?m*#`Q@q!Gea2+^A7&8emwD%)2taRro0!*Q|i_k{r#5M zy5FwlX<4LKpmzF!#-CfyO2yu{U(BMwz{rts^zv(lS;cu;vsV>9T)%yS)00bn)2lV} zl@HtvoUr*+n3b8WSIm<3?#>X!E<5&K2~SJu(0zjM>odUaT41Kn$i|SwZY1pI|Ih&> N<mu|?vd$@?2>=5Sc_9D* diff --git a/data/dark/video.png b/data/dark/video.png deleted file mode 100644 index 4ae69d4ef2baf2308fe8bc8bfab47f28b965d853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 972 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq z_>O=u<5X=vX`rBFiEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0xgAVndW zB{``KWtl0d`Fh1=>3Ztl*8`>8K~j#TB^mie4DN|ZMVYBNIjIW1i5aP-6}mpD$vLS- z$qF{<Fd4mEu#7`-Vp)D>QCebVQEE<RUTKA1a(=GenR&k_0*#aa8R=Y<npl#VpQjL# znVZUBWMF8bZ(ycxWRk0rqX<-^4{>&BQF1CnMoCG5mA-y)T24VmejeD}`YHM4c{%xs zDf-3vAT_$l`6;P?+NZh#wFZHW&o8Jf%1qBFVQ_X<a4ab)%1kN+S*IJE0SpJnoXqT0 z1*o~nV3(Ao0$rG!pH~bD7X6&e<kY<4)MEXlO5Nf_ePcZX{kZ0+Jq!#?a-J@ZAsLNt zXY9=uag;b#|Nc%_!XJj{=A`7QKUx*KBD$K+KAqvVVT0uq1+i&n>B-p-?F(9!jH-J% zmt1sn<UXpkF+hM-aP?uOgq}3{*}W$wKG8cJE0b7vw(iX5bH8m4zdOXIBGl=kG|?mE zSeXB^Wy_AuEjDjld|;jK3ti*iDlb1CIdbH0*y_-bnJUa5?#WO2B6Y($q`P)P2~)<I z^XKQYEL(l%;i=Abn~pxK-tlbj`YZO@{lD8YmT`rN9A#W^+yBMh`|2y1WhR--{i@y3 z>9)8q;u6o(ChO<hcGthjOxW}N`Pny?w*IH<1rJo;*9osHe;;wBf5P{DYA@F<dHp(b z5$}V&_cdQC78EMSPGLNyf0n0U&3v<63}37Mb}WfZs1c|Q(ck!eU)<`eaRv)2J2V<* zR(e`)NH#9L$Wm}_FU!6BU3n~VS{pZQ`gHS*-|U;4&t7pAW>9Fk5E~O?!)_z7MQs%W zLveAj{U@9KJa^<=<YOCzo>ty7+N^!xd~eG}Hjq*_J%;<&F1yGwD4hSie9}3OUpuZ< zd|_m;ntQIP_}!G5dtb@^)@Nd95!lz)+dFsamlyAUul|2zY8gwLXP`)}?Uvhbm!3R% z())m{akbJ*Z?=RqZsqbFhTf6W_DZ`%<n6x`wYQAn^y$;z&%8O?apvpe=`-(gDAueG z`jei#`eshv>$2Uvp2r()oi}ffOEzYdKa*qD@}ca?Ur2<hTzg<%e`wvDLbF}1z;wvq M>FVdQ&MBb@0M6c=asU7T diff --git a/data/light/ic_action_accept.png b/data/light/ic_action_accept.png deleted file mode 100644 index 700fc81518fcf6b50df4f4813efd0578c420279c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@jK-cWjv*Dd-b}yG+hicnuK95)V@yNtjKi!o;_L+sVg-yf z<xJuQj6n7tZ?B{+Q~u?9)=iJmQ&jwGck5DiY_3ffhXVtXKm!Ad0z>2f8Ov5KmD!o+ z=itOYrFxxJ=dOewZg!7u<vKYqo-Y)3is=$psAzj9`l0q?wZoy$)AMs5bPIfFJg@hF zdw!?_OO07$z=uc{r$g%E9K8Fr9GJ_deBWB9BEBcA;o-_TPYxRW@Ho=6J<{o%km19v zOeP0Bp1x5Ql&&jft5FF$Ag!w?-Wl@YSoHz7B*uS&%=cc&7)*?4s1K6s-XZ*2#pDBf z)q7cQ2aA8#pBpFfvDGYXdw#<*^0Lnam#?Z9|J+$J=|J^Yr>>_{WbW;r8SJ6b%6~Jp s=yLf~Y01Dpy*yA4GIE^w!C}C_#CG_t@}%d+z%XX;boFyt=akR{0HbJ|djJ3c diff --git a/data/light/ic_action_call.png b/data/light/ic_action_call.png deleted file mode 100644 index 6e0342363fc22c45d7b37fb3f6b9a03878d1f584..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcmV+s0`C2ZP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzvq?ljRCwC#Sj|ntFcgk^_W<nxU7+0Q z0D(JjhdT=p?&$zzf!rYjWPvV_0q6kc9-gIFsfyy-k0j2Ec%NiNY8~f&{`~%&Bm#jz zAo$Nvz6ovHYIvkDv}bCqlxjE<$l<XMSnC7??qU;I1<cWbYpv%vLaQ+s1GP4bCIHxS zBye0hffHf9{o)mf?FU{05E{RUD%^5(Vu}hs90}Bc^D0p6iyZ+l$`UZ1X|{|waLxmj z$M_c@YGM;mp%XE>eD?fhjlQ45c#;AbjVed2l+IO7Q%i}$@%!@}br6{Vs!%vo$gy`| zU(A(`#AfTDH}(Y3Su<BH1S(|g%V{8Syy6dO2nl=KVC;q-J2m8GG&H@Ez2E!7D;oWA zQGVB0t~9tg(Fk-6=}U0gWwRgf&N;W(cM2aNHS`Py7-Z0p5<_iHXnedE1!@dO3f$EO z8-Gpox0}g(VtdYEJbLP-E!FtReZZlHmHc%qW1}e0`Jn9wo`_8l9|gu%!>53ndWX=# zA8_c!5$I9GCcYi3F!~1~8zgZau6xxI2prfEa1dH|lreZoU=o2qAP@)~_!VFPe{zuJ T!+z`j00000NkvXXu0mjfDCyv9 diff --git a/data/light/ic_action_cancel.png b/data/light/ic_action_cancel.png deleted file mode 100644 index e206f296c2535b11a2243ae93a31b2957f42ab7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmV-n0iOPeP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz14%?dRCwC#n86K$FbqW#?yS*ivOp(b z4c1@*CSZ(C&^0<h8dM*8KurwaqHh0_EZ~6se-gkX1VRWQgg7GSd@a!%<n7no*5bz! zw-PhbgovLd_o%tI(~NvMB)Pnlm=Go;$0Rvdl4d44MXja8{q6d&i4E~VYAmfeBB<aH zV|<*ED*{KYxiE4dB6#Yn0+8Z&8`vuZE&h-Jtso2WhYhp}vl0(6P!lNUCgNcRDkg%J zc&LF7CW4iCxPgiZxOi<V@s)51{lr7;`ZenML*}}baNW$gZl_)U(767kv{=80oSIf5 z!QUXSdxwqPj`TMhTYHN6-C87s5JCu;rvL*0$X7g0L(`tR00000NkvXXu0mjfMDmg# diff --git a/data/light/ic_action_email.png b/data/light/ic_action_email.png deleted file mode 100644 index 7cfc49ec71e2fe5872485fddf30bdef1073faa86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GA3a?hLn>~)nemYKkb;2Q!5`b1Ur5b8%oyX4zKYwTfqMr- z_6r7{2KU4LQqe7knP=DNE2@|&zE}Nbpv4N*&Tzo(xSZ8<zAbO1tnId5GtWEV5Pjd` zK)`{@mk-n4#w)V?sXj1wTJDSVX6AgZR`H#S-%5mq2mW~_zW2bkl%97l8{Cgh;QzRi zxxA-JucSkeXQuG?$G=Uy+>T|OvrS-eN_td#%J#s{6Lo@<l-4a_@^UIVa+JBq$>Pyf zrhTm%%PPJ$+?;SSa_1vY#^}b#cdYC}a?Xd+Wj?B?Fx_+dkj%%(;lRKopm6fl{~Jso d$7(!KJ-}e`ZIQ-3gOlbU0Z&&ymvv4FO#mYyg2Mm+ diff --git a/data/light/ic_action_new_email.png b/data/light/ic_action_new_email.png deleted file mode 100644 index 3486de3889892ff1e666fe2a84dd0f7b8325ae2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmV;i0Z#sjP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzQ%OWYRCwC#ne7pRFbsyR@|OWzfCX?3 z2XFx$!#U^z4!{BqAPYEv48Q>R_AYpG$A_fak2AT86u8nnHccAXtRk0<00_XJ10?3B zZQEl2wp2=~iUj}(0YDpwrJdHXyO02c0$}{F@wtGZS58OOH4uqX91f(ZL&G&E`t$%` ze1?bI9fI@>r!iBUKezz5k%xX8WNM5Hu4@~B(P_o~J>`n+4-D`A9L)hp2Cn7M0)xB; zg_dZS43MACYBF)p2E>Is&H`{ioEg3Z;8T!?OT#$;Lm(z{TnWTWE=er<8ju`D*ObY( zj+3A@KqtoVvux%BKma@z^&twPTTab8!gLek3>2i9tbrKTz$pM*YBqpPO)4%Fa~P#< z_*`|je+#ModKe|B@(fVWu9o*oMX6o%E)=YoHzlOGBr*XI07+zCMBD6<q7nJfEdc)x b@DyMGYNNE=TIO$o00000NkvXXu0mjfVLz;L diff --git a/data/light/ic_action_search.png b/data/light/ic_action_search.png deleted file mode 100644 index 772e3598edb5441a68bb184f9c85e17109ebd6ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!EJ;K`RCwC#S>17hKoI8QGX<CeNC6Ze zDZm0S@1_j(9SeZ>!~*m^_#PXe04cx%%--Z<X6FX<_&rQ+XLbbUZrN}D*gYrCgVV$U zumCIo3&1FeE`(gK*Jt{fvPYQ^;xcLgq_j^zbK)7XTe2i4PKkE}<~$kzu=a}Bud!`M zob=%p(ZK4FVsWX|k(gWABMy}98S$DxWJUl$`B(`NY1MtjdI>TFyA14Gmmwu;gv|$2 z<UqXD2?^|t;FTi57lW26QX(e)2Cp0JcZolljOCEZ`|QPgghmrN9+UIcRE|nd8f)h4 zx^X2z@*Z&OmLz#^0A@u3RwZl=N=oGR2LK6Jxcb<-V*FO09Jen+c!0MDU6sCbiR@lO zXw>xQ0c1*h&;@xVvikvml365O(6)A?9dQQ(07}_)*z$d0h1^~N?6?9btxc>Su#Z<x z-W>)2YWI$PL8H2%B-;qg5Cv_Au0jcmS*c76rF1PHD=qcO#5~|BiWF^iQr6!iVZ(}^ zM;hb3iwUjnM5gxke7I33GBwOD%Ciif^)Mr(y#ruCmdd1ci*m&L2_CEpy-ky5vCXMO z(Gt(lm`xSyN=~_Dv8PiI!Wo#5)X|M4wLqBYh3-|a6@i?O8Gud;p$$S90N_BmmB!M$ z;ba6rO%RJ)hhfI%0a$jUvD6)<2Q)n)4-#HSJ(1n<#Kw6PlAcfwzJiCFZ*h9(JO7F7 kpL`a81z-V~r5^zX03bgQxSV;wqW}N^07*qoM6N<$f~DIU2><{9 diff --git a/data/light/ic_action_video.png b/data/light/ic_action_video.png deleted file mode 100644 index e19e36184f59caad27382dd0dce5f38675ee1a05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gk3C%+Ln>~)nSPPC$w0()<-_ZYB@E&PjOria*)P;TW?09V zyn=ZL1Ghy3&jW^v_)GDE(GCXBRrJ@(FWI|Yq-eGZ&<q9!fsX7?0imJXTjyrodUPxN z`5o1=Nn08#gy(M6xu=nJEoN1us8OVgq`+#vBm0Hz!mWRp_U<{C5zM@K-jUmacWZV> zzFcqbR3GEFP<kq#Lyeg6@sv0F19=h{m?b(MS!OYxvMk^Fb@>j17s@Ka{8!@+FJATL zki*T%6KCJL#=hg*J7zn-`PLpwcDg(_U3q0wU}pY{_4+0dcb)NWU}W$wF}tW3c2x!> N<mu|?vd$@?2>^8pdK&-$ diff --git a/data/symbol_black.png b/data/symbol_black.png deleted file mode 100644 index 2f2c365fc701ed7e1acf56f3f4ba4f7fb5a8c034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39978 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�<%~7em+}{9z{t?*ReEvbM@%pEe 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 KWQCS}`2PX={BRTi diff --git a/data/symbol_blue.png b/data/symbol_blue.png deleted file mode 100644 index 8ce4e77c20a2f8f500aa68c33bc7acdb7e6aaaf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113523 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ⅈ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ֿ#-rNs3Az$gk_YTL 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 EfAL7{g8%>k diff --git a/data/symbol_dark.png b/data/symbol_dark.png deleted file mode 100644 index ca684c9e41dd313947231ca4e75d9344c7048cc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105216 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ℜ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 diff --git a/sparkle/LICENSE b/sparkle/LICENSE deleted file mode 100644 index f4020f8d..00000000 --- a/sparkle/LICENSE +++ /dev/null @@ -1,60 +0,0 @@ -Copyright (c) 2006-2013 Andy Matuschak. -Copyright (c) 2009-2013 Elgato Systems GmbH. -Copyright (c) 2011-2014 Kornel LesiÅ„ski. -Copyright (c) 2014 C.W. Betts. -Copyright (c) 2014 Petroules Corporation. -Copyright (c) 2014 Big Nerd Ranch. -All rights reserved. - -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. - -================= -EXTERNAL LICENSES -================= - -bspatch.c and bsdiff.c, from bsdiff 4.3 <http://www.daemonology.net/bsdiff/>: - Copyright (c) 2003-2005 Colin Percival. - -sais.c and sais.c, from sais-lite (2010/08/07) <https://sites.google.com/site/yuta256/sais>: - Copyright (c) 2008-2010 Yuta Mori. - -SUDSAVerifier.m: - Copyright (c) 2011 Mark Hamlin. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted providing that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/sparkle/Sparkle b/sparkle/Sparkle deleted file mode 160000 index 4e332850..00000000 --- a/sparkle/Sparkle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4e332850686b2ac9f581a4779af4d4b442fdd5be diff --git a/sparkle/dsa_pub.pem b/sparkle/dsa_pub.pem deleted file mode 100644 index 97455e2f..00000000 --- a/sparkle/dsa_pub.pem +++ /dev/null @@ -1,36 +0,0 @@ ------BEGIN PUBLIC KEY----- -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 -ZnO5P9x/rPIJLCXY4xQYBryQCMu6JC5ibWzP ------END PUBLIC KEY----- diff --git a/sparkle/sign_update.sh b/sparkle/sign_update.sh deleted file mode 100644 index d15c3cd9..00000000 --- a/sparkle/sign_update.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -e -set -o pipefail -if [ "$#" -ne 2 ]; then - echo "Usage: $0 update_archive private_key" - exit 1 -fi -openssl=/usr/bin/openssl -$openssl dgst -sha1 -binary < "$1" | $openssl dgst -dss1 -sign "$2" | base64 --wrap=0 - diff --git a/sparkle/sparkle-xml-updater.sh b/sparkle/sparkle-xml-updater.sh deleted file mode 100644 index d0dc91bc..00000000 --- a/sparkle/sparkle-xml-updater.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -# Take the package to add as argument ./sparkle-xml-updater.sh ring.dmg - -REPO_FOLDER=<dir> -SPARKLE_FILE=<xml_filename> -REPO_URL=<url> -PACKAGE=$1 -DSA_KEY=<path_to_key_file> - -if [ ! -f ${PACKAGE} -o ! -f ${DSA_KEY} ]; then - echo "Can't find package or dsa key, aborting..." - exit 1 -fi - -if [ -f ${REPO_FOLDER}/${SPARKLE_FILE} ]; then - ITEMS=$(sed -n "/<item>/,/<\/item>/p" ${REPO_FOLDER}/${SPARKLE_FILE}) -fi - -cat << EOFILE > ${REPO_FOLDER}/${SPARKLE_FILE} -<?xml version="1.0" encoding="utf-8"?> -<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/"> - <channel> - <title>Ring - nightly</title> - <link>${REPO_URL}/${SPARKLE_FILE}</link> - <description>Most recent changes with links to updates.</description> - <language>en</language> - <item> - <title>Ring nightly $(date "+%Y/%m/%d %H:%M")</title> - <pubDate>$(date -R)</pubDate> - <enclosure url="${REPO_URL}/$(basename ${PACKAGE})" sparkle:version="$(date +%Y%m%d%H%M)" sparkle:shortVersionString="nightly-$(date "+%Y%m%d")" length="$(stat -c %s ${PACKAGE})" type="application/octet-stream" sparkle:dsaSignature="$(/opt/joulupukki/mac_keys/sign_update.sh ${PACKAGE} ${DSA_KEY})" /> - <sparkle:minimumSystemVersion>10.7</sparkle:minimumSystemVersion> - </item> -$(echo -e "${ITEMS}") - </channel> -</rss> -EOFILE - diff --git a/src/AccAdvancedVC.h b/src/AccAdvancedVC.h deleted file mode 100644 index 1803d395..00000000 --- a/src/AccAdvancedVC.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import <Cocoa/Cocoa.h> - -#import <account.h> - -@interface AccAdvancedVC : NSViewController <NSTextFieldDelegate> - -@end diff --git a/src/AccAdvancedVC.mm b/src/AccAdvancedVC.mm deleted file mode 100644 index 4c6be7e4..00000000 --- a/src/AccAdvancedVC.mm +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#define REGISTRATION_TAG 0 -#define LOCALPORT_TAG 1 -#define STUNURL_TAG 2 -#define PUBLICADDR_TAG 3 -#define PUBLICPORT_TAG 4 -#define MINAUDIO_TAG 5 -#define MAXAUDIO_TAG 6 -#define MINVIDEO_TAG 7 -#define MAXVIDEO_TAG 8 - -#import "AccAdvancedVC.h" - -#import <accountmodel.h> -#import <qitemselectionmodel.h> - -@interface AccAdvancedVC () - -@property (assign) IBOutlet NSTextField *registrationField; -@property (assign) IBOutlet NSTextField *localPortField; -@property (assign) IBOutlet NSButton *isUsingSTUN; - -@property (assign) IBOutlet NSTextField *STUNserverURLField; -@property (assign) IBOutlet NSTextField *minAudioRTPRange; -@property (assign) IBOutlet NSTextField *maxAudioRTPRange; -@property (assign) IBOutlet NSTextField *minVideoRTPRange; -@property (assign) IBOutlet NSTextField *maxVideoRTPRange; - - -@property (assign) IBOutlet NSStepper *registrationStepper; -@property (assign) IBOutlet NSStepper *localPortStepper; -@property (assign) IBOutlet NSStepper *minAudioPortStepper; -@property (assign) IBOutlet NSStepper *maxAudioPortStepper; -@property (assign) IBOutlet NSStepper *minVideoPortStepper; -@property (assign) IBOutlet NSStepper *maxVideoPortStepper; - -@property (assign) IBOutlet NSMatrix *publishAddrAndPortRadioGroup; -@property (assign) IBOutlet NSTextField *publishedAddrField; -@property (assign) IBOutlet NSTextField *publishedPortField; - -@end - -@implementation AccAdvancedVC -@synthesize registrationField; -@synthesize localPortField; -@synthesize isUsingSTUN; -@synthesize STUNserverURLField; -@synthesize minAudioRTPRange; -@synthesize maxAudioRTPRange; -@synthesize minVideoRTPRange; -@synthesize maxVideoRTPRange; -@synthesize registrationStepper; -@synthesize localPortStepper; -@synthesize minAudioPortStepper; -@synthesize maxAudioPortStepper; -@synthesize minVideoPortStepper; -@synthesize maxVideoPortStepper; -@synthesize publishAddrAndPortRadioGroup; -@synthesize publishedAddrField; -@synthesize publishedPortField; - -- (void)awakeFromNib -{ - NSLog(@"INIT Advanced VC"); - [registrationStepper setTag:REGISTRATION_TAG]; - [localPortStepper setTag:LOCALPORT_TAG]; - [minAudioPortStepper setTag:MINAUDIO_TAG]; - [maxAudioPortStepper setTag:MAXAUDIO_TAG]; - [minVideoPortStepper setTag:MINVIDEO_TAG]; - [maxVideoPortStepper setTag:MAXVIDEO_TAG]; - - [registrationField setTag:REGISTRATION_TAG]; - [localPortField setTag:LOCALPORT_TAG]; - [minAudioRTPRange setTag:MINAUDIO_TAG]; - [maxAudioRTPRange setTag:MAXAUDIO_TAG]; - [minVideoRTPRange setTag:MINVIDEO_TAG]; - [maxVideoRTPRange setTag:MAXVIDEO_TAG]; - - [STUNserverURLField setTag:STUNURL_TAG]; - [publishedPortField setTag:PUBLICPORT_TAG]; - [publishedAddrField setTag:PUBLICADDR_TAG]; - - QObject::connect(AccountModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - if(!current.isValid()) - return; - [self loadAccount]; - }); - -} - -- (Account*) currentAccount -{ - auto accIdx = AccountModel::instance()->selectionModel()->currentIndex(); - return AccountModel::instance()->getAccountByModelIndex(accIdx); -} - -- (void)loadAccount -{ - auto account = [self currentAccount]; - - [self updateControlsWithTag:REGISTRATION_TAG]; - [self updateControlsWithTag:LOCALPORT_TAG]; - [self updateControlsWithTag:MINAUDIO_TAG]; - [self updateControlsWithTag:MAXAUDIO_TAG]; - [self updateControlsWithTag:MINVIDEO_TAG]; - [self updateControlsWithTag:MAXVIDEO_TAG]; - - [STUNserverURLField setStringValue:account->sipStunServer().toNSString()]; - [isUsingSTUN setState:account->isSipStunEnabled()?NSOnState:NSOffState]; - [STUNserverURLField setEnabled:account->isSipStunEnabled()]; - - if(account->isPublishedSameAsLocal()) - [publishAddrAndPortRadioGroup selectCellAtRow:0 column:0]; - else { - [publishAddrAndPortRadioGroup selectCellAtRow:1 column:0]; - } - - [publishedAddrField setStringValue:account->publishedAddress().toNSString()]; - [publishedPortField setIntValue:account->publishedPort()]; - [publishedAddrField setEnabled:!account->isPublishedSameAsLocal()]; - [publishedPortField setEnabled:!account->isPublishedSameAsLocal()]; -} - -#pragma mark - NSTextFieldDelegate methods - --(void)controlTextDidChange:(NSNotification *)notif -{ - NSTextField *textField = [notif object]; - NSRange test = [[textField currentEditor] selectedRange]; - - [self valueDidChange:textField]; - //FIXME: saving account lose focus because in NSTreeController we remove and reinsert row so View selction change - [textField.window makeFirstResponder:textField]; - [[textField currentEditor] setSelectedRange:test]; -} - -- (IBAction) valueDidChange: (id) sender -{ - switch ([sender tag]) { - case REGISTRATION_TAG: - [self currentAccount]->setRegistrationExpire([sender integerValue]); - break; - case LOCALPORT_TAG: - [self currentAccount]->setLocalPort([sender integerValue]); - break; - case STUNURL_TAG: - [self currentAccount]->setSipStunServer([[sender stringValue] UTF8String]); - break; - case PUBLICADDR_TAG: - [self currentAccount]->setPublishedAddress([[sender stringValue] UTF8String]); - break; - case PUBLICPORT_TAG: - [self currentAccount]->setPublishedPort([sender integerValue]); - break; - case MINAUDIO_TAG: - [self currentAccount]->setAudioPortMin([sender integerValue]); - break; - case MAXAUDIO_TAG: - [self currentAccount]->setAudioPortMax([sender integerValue]); - break; - case MINVIDEO_TAG: - [self currentAccount]->setVideoPortMin([sender integerValue]); - break; - case MAXVIDEO_TAG: - [self currentAccount]->setVideoPortMax([sender integerValue]); - break; - default: - break; - } - [self updateControlsWithTag:[sender tag]]; -} - -- (IBAction)toggleSTUN:(NSButton *)sender -{ - [self currentAccount]->setSipStunEnabled([sender state]==NSOnState); - [STUNserverURLField setEnabled:[self currentAccount]->isSipStunEnabled()]; -} - -- (IBAction)didSwitchPublishedAddress:(NSMatrix *)matrix -{ - NSInteger row = [matrix selectedRow]; - if(row == 0) { - [self currentAccount]->setPublishedSameAsLocal(YES); - } else { - [self currentAccount]->setPublishedSameAsLocal(NO); - } - [publishedAddrField setEnabled:![self currentAccount]->isPublishedSameAsLocal()]; - [publishedPortField setEnabled:![self currentAccount]->isPublishedSameAsLocal()]; - -} - -- (void) updateControlsWithTag:(NSInteger) tag -{ - switch (tag) { - case REGISTRATION_TAG: - [registrationStepper setIntegerValue:[self currentAccount]->registrationExpire()]; - [registrationField setIntegerValue:[self currentAccount]->registrationExpire()]; - break; - case LOCALPORT_TAG: - [localPortStepper setIntegerValue:[self currentAccount]->localPort()]; - [localPortField setIntegerValue:[self currentAccount]->localPort()]; - break; - case MINAUDIO_TAG: - [minAudioPortStepper setIntegerValue:[self currentAccount]->audioPortMin()]; - [minAudioRTPRange setIntegerValue:[self currentAccount]->audioPortMin()]; - break; - case MAXAUDIO_TAG: - [maxAudioPortStepper setIntegerValue:[self currentAccount]->audioPortMax()]; - [maxAudioRTPRange setIntegerValue:[self currentAccount]->audioPortMax()]; - break; - case MINVIDEO_TAG: - [minVideoPortStepper setIntegerValue:[self currentAccount]->videoPortMin()]; - [minVideoRTPRange setIntegerValue:[self currentAccount]->videoPortMin()]; - break; - case MAXVIDEO_TAG: - [maxVideoPortStepper setIntegerValue:[self currentAccount]->videoPortMax()]; - [maxVideoRTPRange setIntegerValue:[self currentAccount]->videoPortMax()]; - break; - default: - break; - } -} - -@end diff --git a/src/AccAudioVC.h b/src/AccAudioVC.h deleted file mode 100644 index 1434fc85..00000000 --- a/src/AccAudioVC.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef ACCAUDIOVC_H -#define ACCAUDIOVC_H - -#import <Cocoa/Cocoa.h> - -#import <account.h> - -#import "QNSTreeController.h" - -@interface AccAudioVC : NSViewController <NSOutlineViewDelegate> - -@end - -#endif // ACCAUDIOVC_H \ No newline at end of file diff --git a/src/AccAudioVC.mm b/src/AccAudioVC.mm deleted file mode 100644 index 1370a38a..00000000 --- a/src/AccAudioVC.mm +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#define COLUMNID_STATE @"AudioStateColumn" -#define COLUMNID_CODECS @"AudioCodecsColumn" -#define COLUMNID_FREQ @"AudioFrequencyColumn" -#define COLUMNID_BITRATE @"AudioBitrateColumn" - -#import "AccAudioVC.h" - -#import <QSortFilterProxyModel> -#import <audio/codecmodel.h> -#import <accountmodel.h> -#import <qitemselectionmodel.h> - -@interface AccAudioVC () - -@property QNSTreeController *treeController; -@property (assign) IBOutlet NSOutlineView *codecsView; - -@end - -@implementation AccAudioVC -@synthesize treeController; -@synthesize codecsView; - -- (void)awakeFromNib -{ - NSLog(@"INIT Audio VC"); - QObject::connect(AccountModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - if(!current.isValid()) - return; - [self loadAccount]; - }); -} - -- (Account*) currentAccount -{ - auto accIdx = AccountModel::instance()->selectionModel()->currentIndex(); - return AccountModel::instance()->getAccountByModelIndex(accIdx); -} - -- (void)loadAccount -{ - auto account = [self currentAccount]; - treeController = [[QNSTreeController alloc] initWithQModel:account->codecModel()->audioCodecs()]; - - [treeController setAvoidsEmptySelection:NO]; - [treeController setChildrenKeyPath:@"children"]; - - [codecsView bind:@"content" toObject:treeController withKeyPath:@"arrangedObjects" options:nil]; - [codecsView bind:@"sortDescriptors" toObject:treeController withKeyPath:@"sortDescriptors" options:nil]; - [codecsView bind:@"selectionIndexPaths" toObject:treeController withKeyPath:@"selectionIndexPaths" options:nil]; -} - -- (IBAction)moveUp:(id)sender { - if([[treeController selectedNodes] count] > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - if(!qIdx.isValid()) - return; - - QMimeData* mime = [self currentAccount]->codecModel()->audioCodecs()->mimeData(QModelIndexList() << qIdx); - [self currentAccount]->codecModel()->audioCodecs()->dropMimeData(mime, Qt::MoveAction, qIdx.row() - 1, 0, QModelIndex()); - } -} - -- (IBAction)moveDown:(id)sender { - if([[treeController selectedNodes] count] > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - if(!qIdx.isValid()) - return; - - QMimeData* mime = [self currentAccount]->codecModel()->audioCodecs()->mimeData(QModelIndexList() << qIdx); - [self currentAccount]->codecModel()->audioCodecs()->dropMimeData(mime, Qt::MoveAction, qIdx.row() + 1, 0, QModelIndex()); - } -} - -- (IBAction)toggleCodec:(NSOutlineView*)sender { - NSInteger row = [sender clickedRow]; - NSTableColumn *col = [sender tableColumnWithIdentifier:COLUMNID_STATE]; - NSButtonCell *cell = [col dataCellForRow:row]; - QModelIndex qIdx = [self currentAccount]->codecModel()->audioCodecs()->index(row, 0, QModelIndex()); - [self currentAccount]->codecModel()->audioCodecs()->setData(qIdx, cell.state == NSOnState ? Qt::Unchecked : Qt::Checked, Qt::CheckStateRole); -} - -#pragma mark - NSOutlineViewDelegate methods - -// ------------------------------------------------------------------------------- -// shouldSelectItem:item -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; -{ - return YES; -} - -// ------------------------------------------------------------------------------- -// dataCellForTableColumn:tableColumn:item -// ------------------------------------------------------------------------------- -- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - NSCell *returnCell = [tableColumn dataCell]; - - if(item == nil) - return returnCell; - - return returnCell; -} - -// ------------------------------------------------------------------------------- -// textShouldEndEditing:fieldEditor -// ------------------------------------------------------------------------------- -- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor -{ - if ([[fieldEditor string] length] == 0) - { - // don't allow empty node names - return NO; - } - else - { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// shouldEditTableColumn:tableColumn:item -// -// Decide to allow the edit of the given outline view "item". -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - return NO; -} - -// ------------------------------------------------------------------------------- -// outlineView:willDisplayCell:forTableColumn:item -// ------------------------------------------------------------------------------- -- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return; - if([[tableColumn identifier] isEqualToString:COLUMNID_STATE]) { - [cell setState:[self currentAccount]->codecModel()->audioCodecs()->data(qIdx, Qt::CheckStateRole).value<BOOL>()?NSOnState:NSOffState]; - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_CODECS]) - { - cell.title = [self currentAccount]->codecModel()->audioCodecs()->data(qIdx, CodecModel::Role::NAME).toString().toNSString(); - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_FREQ]) - { - cell.title = [self currentAccount]->codecModel()->audioCodecs()->data(qIdx, CodecModel::Role::SAMPLERATE).toString().toNSString(); - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_BITRATE]) - { - cell.title = [self currentAccount]->codecModel()->audioCodecs()->data(qIdx, CodecModel::Role::BITRATE).toString().toNSString(); - } -} - -// ------------------------------------------------------------------------------- -// outlineViewSelectionDidChange:notification -// ------------------------------------------------------------------------------- -- (void)outlineViewSelectionDidChange:(NSNotification *)notification -{ - -} - -@end diff --git a/src/AccGeneralVC.h b/src/AccGeneralVC.h deleted file mode 100644 index ccde3e4e..00000000 --- a/src/AccGeneralVC.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef ACCGENERALVC_H -#define ACCGENERALVC_H - -#import <Cocoa/Cocoa.h> - -#import <account.h> - -@interface AccGeneralVC : NSViewController <NSTextFieldDelegate> { - -} - -@end - -#endif // ACCGENERALVC_H \ No newline at end of file diff --git a/src/AccGeneralVC.mm b/src/AccGeneralVC.mm deleted file mode 100644 index a2d33b1b..00000000 --- a/src/AccGeneralVC.mm +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#define ALIAS_TAG 0 -#define HOSTNAME_TAG 1 -#define USERNAME_TAG 2 -#define PASSWORD_TAG 3 -#define USERAGENT_TAG 4 - - -#import "AccGeneralVC.h" - -#import <accountmodel.h> -#import <protocolmodel.h> -#import <qitemselectionmodel.h> - -@interface AccGeneralVC () - -@property (assign) IBOutlet NSView *boxingAccount; -@property (assign) IBOutlet NSView *boxingParameters; -@property (assign) IBOutlet NSView *boxingCommon; - -@property (assign) IBOutlet NSTextField *aliasTextField; -@property (assign) IBOutlet NSTextField *typeLabel; - -@property (assign) IBOutlet NSTextField *serverHostTextField; -@property (assign) IBOutlet NSTextField *usernameTextField; -@property (assign) IBOutlet NSSecureTextField *passwordTextField; -@property (assign) IBOutlet NSTextField *clearTextField; -@property (assign) IBOutlet NSButton *tryRegisterButton; - -@property (assign) IBOutlet NSButton *upnpButton; -@property (assign) IBOutlet NSButton *autoAnswerButton; -@property (assign) IBOutlet NSButton *userAgentButton; - -@property (assign) IBOutlet NSTextField *userAgentTextField; - -@end - -@implementation AccGeneralVC -@synthesize typeLabel; -@synthesize boxingAccount; -@synthesize boxingParameters; -@synthesize boxingCommon; -@synthesize aliasTextField; -@synthesize serverHostTextField; -@synthesize usernameTextField; -@synthesize passwordTextField; -@synthesize clearTextField; -@synthesize upnpButton; -@synthesize autoAnswerButton; -@synthesize userAgentButton; -@synthesize userAgentTextField; - -- (void)awakeFromNib -{ - NSLog(@"INIT General VC"); - [aliasTextField setTag:ALIAS_TAG]; - [serverHostTextField setTag:HOSTNAME_TAG]; - [usernameTextField setTag:USERNAME_TAG]; - [passwordTextField setTag:PASSWORD_TAG]; - [userAgentTextField setTag:USERAGENT_TAG]; - - QObject::connect(AccountModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - if(!current.isValid()) - return; - [self loadAccount]; - }); -} - -- (Account*) currentAccount -{ - auto accIdx = AccountModel::instance()->selectionModel()->currentIndex(); - return AccountModel::instance()->getAccountByModelIndex(accIdx); -} - -- (IBAction)toggleUpnp:(NSButton *)sender { - [self currentAccount]->setUpnpEnabled([sender state] == NSOnState); -} - -- (IBAction)toggleAutoAnswer:(NSButton *)sender { - [self currentAccount]->setAutoAnswer([sender state] == NSOnState); -} - -- (IBAction)toggleCustomAgent:(NSButton *)sender { - [self.userAgentTextField setEnabled:[sender state] == NSOnState]; - [self currentAccount]->setHasCustomUserAgent([sender state] == NSOnState); -} - -- (void)loadAccount -{ - auto account = [self currentAccount]; - - if([account->alias().toNSString() isEqualToString:@"IP2IP"]) { - [boxingAccount.subviews setValue:@YES forKeyPath:@"hidden"]; - [boxingParameters.subviews setValue:@YES forKeyPath:@"hidden"]; - - NSLog(@"IP@IP"); - // Put visible items at top of the frame - [boxingCommon setFrameOrigin:NSMakePoint(boxingAccount.frame.origin.x, - boxingAccount.frame.origin.y - 40)]; - [boxingCommon setNeedsDisplay:YES]; - - } else { - [boxingAccount.subviews setValue:@NO forKeyPath:@"hidden"]; - [boxingParameters.subviews setValue:@NO forKeyPath:@"hidden"]; - - [self.aliasTextField setStringValue:account->alias().toNSString()]; - [self.serverHostTextField setStringValue:account->hostname().toNSString()]; - [self.usernameTextField setStringValue:account->username().toNSString()]; - [self.passwordTextField setStringValue:account->password().toNSString()]; - [self.clearTextField setStringValue:account->password().toNSString()]; - } - - switch (account->protocol()) { - case Account::Protocol::SIP: - [self.typeLabel setStringValue:@"SIP"]; - break; - case Account::Protocol::IAX: - [self.typeLabel setStringValue:@"IAX"]; - break; - case Account::Protocol::RING: - [self.typeLabel setStringValue:@"RING"]; - break; - - default: - break; - } - - [upnpButton setState:[self currentAccount]->isUpnpEnabled()]; - [userAgentButton setState:[self currentAccount]->hasCustomUserAgent()]; - [userAgentTextField setEnabled:[self currentAccount]->hasCustomUserAgent()]; - [self.autoAnswerButton setState:[self currentAccount]->isAutoAnswer()]; - [self.userAgentTextField setStringValue:account->userAgent().toNSString()]; -} - -- (IBAction)tryRegistration:(id)sender { - [self currentAccount] << Account::EditAction::SAVE; -} - -- (IBAction)showPassword:(NSButton *)sender { - if (sender.state == NSOnState) { - clearTextField = [[NSTextField alloc] initWithFrame:passwordTextField.frame]; - [clearTextField setTag:passwordTextField.tag]; - [clearTextField setDelegate:self]; - [clearTextField setBounds:passwordTextField.bounds]; - [clearTextField setStringValue:passwordTextField.stringValue]; - [clearTextField becomeFirstResponder]; - [boxingParameters addSubview:clearTextField]; - [passwordTextField setHidden:YES]; - } else { - [passwordTextField setStringValue:clearTextField.stringValue]; - [passwordTextField setHidden:NO]; - [clearTextField removeFromSuperview]; - clearTextField = nil; - } -} - -/** - * Debug purpose - */ --(void) dumpFrame:(CGRect) frame WithName:(NSString*) name -{ - NSLog(@"frame %@ : %f %f %f %f \n\n",name ,frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); -} - -#pragma mark - NSTextFieldDelegate methods - -- (BOOL)control:(NSControl *)control textShouldBeginEditing:(NSText *)fieldEditor -{ - return YES; -} - --(void)controlTextDidChange:(NSNotification *)notif -{ - NSTextField *textField = [notif object]; - - switch ([textField tag]) { - case ALIAS_TAG: - [self currentAccount]->setAlias([[textField stringValue] UTF8String]); - break; - case HOSTNAME_TAG: - [self currentAccount]->setHostname([[textField stringValue] UTF8String]); - break; - case USERNAME_TAG: - [self currentAccount]->setUsername([[textField stringValue] UTF8String]); - break; - case PASSWORD_TAG: - [self currentAccount]->setPassword([[textField stringValue] UTF8String]); - break; - case USERAGENT_TAG: - [self currentAccount]->setUserAgent([[textField stringValue] UTF8String]); - break; - default: - break; - } -} -@end diff --git a/src/AccRingVC.h b/src/AccRingVC.h deleted file mode 100644 index 67f03e0d..00000000 --- a/src/AccRingVC.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef ACCRINGVC_H -#define ACCRINGVC_H - -#import <Cocoa/Cocoa.h> - -#import <account.h> - -@interface AccRingVC : NSViewController <NSTextFieldDelegate> - -@end - -#endif // ACCRINGVC_H diff --git a/src/AccRingVC.mm b/src/AccRingVC.mm deleted file mode 100644 index f262f4ee..00000000 --- a/src/AccRingVC.mm +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#define ALIAS_TAG 0 -#define HOSTNAME_TAG 1 -#define USERNAME_TAG 2 -#define PASSWORD_TAG 3 -#define USERAGENT_TAG 4 - -#import "AccRingVC.h" - -#import <accountmodel.h> -#import <qitemselectionmodel.h> - -@interface AccRingVC () - -@property (assign) IBOutlet NSTextField *aliasTextField; -@property (assign) IBOutlet NSTextField *typeLabel; -@property (assign) IBOutlet NSTextField *bootstrapField; -@property (assign) IBOutlet NSTextField *hashField; - -@property (assign) IBOutlet NSButton *upnpButton; -@property (assign) IBOutlet NSButton *autoAnswerButton; -@property (assign) IBOutlet NSButton *userAgentButton; -@property (assign) IBOutlet NSTextField *userAgentTextField; - -@end - -@implementation AccRingVC -@synthesize typeLabel; -@synthesize bootstrapField; -@synthesize hashField; -@synthesize aliasTextField; -@synthesize upnpButton; -@synthesize autoAnswerButton; -@synthesize userAgentButton; -@synthesize userAgentTextField; - -- (void)awakeFromNib -{ - NSLog(@"INIT Ring VC"); - [aliasTextField setTag:ALIAS_TAG]; - [userAgentTextField setTag:USERAGENT_TAG]; - [bootstrapField setTag:HOSTNAME_TAG]; - - QObject::connect(AccountModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - if(!current.isValid()) - return; - [self loadAccount]; - }); -} - -- (Account*) currentAccount -{ - auto accIdx = AccountModel::instance()->selectionModel()->currentIndex(); - return AccountModel::instance()->getAccountByModelIndex(accIdx); -} - -- (void)loadAccount -{ - auto account = [self currentAccount]; - - [self.aliasTextField setStringValue:account->alias().toNSString()]; - - switch (account->protocol()) { - case Account::Protocol::SIP: - [typeLabel setStringValue:@"SIP"]; - break; - case Account::Protocol::IAX: - [typeLabel setStringValue:@"IAX"]; - break; - case Account::Protocol::RING: - [typeLabel setStringValue:@"RING"]; - break; - - default: - break; - } - - [upnpButton setState:[self currentAccount]->isUpnpEnabled()]; - [userAgentButton setState:[self currentAccount]->hasCustomUserAgent()]; - [userAgentTextField setEnabled:[self currentAccount]->hasCustomUserAgent()]; - - [autoAnswerButton setState:[self currentAccount]->isAutoAnswer()]; - [userAgentTextField setStringValue:account->userAgent().toNSString()]; - - [bootstrapField setStringValue:account->hostname().toNSString()]; - - if([[self currentAccount]->username().toNSString() isEqualToString:@""]) - [hashField setStringValue:@"Reopen account to see your hash"]; - else - [hashField setStringValue:[self currentAccount]->username().toNSString()]; - -} - -- (IBAction)toggleUpnp:(NSButton *)sender { - [self currentAccount]->setUpnpEnabled([sender state] == NSOnState); -} - -- (IBAction)toggleAutoAnswer:(NSButton *)sender { - [self currentAccount]->setAutoAnswer([sender state] == NSOnState); -} - -- (IBAction)toggleCustomAgent:(NSButton *)sender { - [self.userAgentTextField setEnabled:[sender state] == NSOnState]; - [self currentAccount]->setHasCustomUserAgent([sender state] == NSOnState); -} - -#pragma mark - NSTextFieldDelegate methods - -- (BOOL)control:(NSControl *)control textShouldBeginEditing:(NSText *)fieldEditor -{ - return YES; -} - --(void)controlTextDidChange:(NSNotification *)notif -{ - NSTextField *textField = [notif object]; - - switch ([textField tag]) { - case ALIAS_TAG: - [self currentAccount]->setAlias([[textField stringValue] UTF8String]); - break; - case HOSTNAME_TAG: - [self currentAccount]->setHostname([[textField stringValue] UTF8String]); - break; - case PASSWORD_TAG: - [self currentAccount]->setPassword([[textField stringValue] UTF8String]); - break; - case USERAGENT_TAG: - [self currentAccount]->setUserAgent([[textField stringValue] UTF8String]); - break; - default: - break; - } -} - -@end diff --git a/src/AccSecurityVC.h b/src/AccSecurityVC.h deleted file mode 100644 index 9aaf995a..00000000 --- a/src/AccSecurityVC.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef ACCSECURITYVC_H -#define ACCSECURITYVC_H - -#import <Cocoa/Cocoa.h> - -@interface AccSecurityVC : NSViewController<NSMenuDelegate, NSPathControlDelegate, NSOpenSavePanelDelegate> - -@end - -#endif // ACCSECURITYVC_H diff --git a/src/AccSecurityVC.mm b/src/AccSecurityVC.mm deleted file mode 100644 index 532bfd0d..00000000 --- a/src/AccSecurityVC.mm +++ /dev/null @@ -1,437 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "AccSecurityVC.h" - -#import <QUrl> -#import <certificate.h> -#import <tlsmethodmodel.h> -#import <qitemselectionmodel.h> -#import <ciphermodel.h> -#import <accountmodel.h> - -#import "QNSTreeController.h" -#import "CertificateWC.h" - -// Tags for views -#define PVK_PASSWORD_TAG 0 -#define OUTGOING_TLS_SRV_NAME 1 -#define TLS_NEGOTIATION_TAG 2 - -#define COLUMNID_NAME @"CipherNameColumn" -#define COLUMNID_STATE @"CipherStateColumn" - -@interface AccSecurityVC () - -@property QNSTreeController *treeController; -@property (unsafe_unretained) IBOutlet NSOutlineView *cipherListView; -@property (unsafe_unretained) IBOutlet NSButton *useTLS; -@property (unsafe_unretained) IBOutlet NSView *tlsContainer; -@property (unsafe_unretained) IBOutlet NSSecureTextField *pvkPasswordField; -@property (unsafe_unretained) IBOutlet NSTextField *outgoingTlsServerName; -@property (unsafe_unretained) IBOutlet NSTextField *tlsNegotiationTimeout; -@property (unsafe_unretained) IBOutlet NSStepper *tlsNegotiationTimeoutStepper; - -@property CertificateWC* certificateWC; - -@property (unsafe_unretained) IBOutlet NSPathControl *caListPathControl; -@property (unsafe_unretained) IBOutlet NSPathControl *certificatePathControl; -@property (unsafe_unretained) IBOutlet NSPathControl *pvkPathControl; -@property (unsafe_unretained) IBOutlet NSPopUpButton *tlsMethodList; -@property (unsafe_unretained) IBOutlet NSButton *srtpRTPFallback; -@property (unsafe_unretained) IBOutlet NSButton *useSRTP; - -@property (unsafe_unretained) IBOutlet NSButton *verifyCertAsClientButton; -@property (unsafe_unretained) IBOutlet NSButton *verifyCertAsServerButton; -@property (unsafe_unretained) IBOutlet NSButton *requireCertButton; -@end - -@implementation AccSecurityVC -@synthesize treeController; -@synthesize cipherListView; -@synthesize certificateWC; -@synthesize tlsContainer; -@synthesize useTLS; -@synthesize useSRTP; -@synthesize srtpRTPFallback; -@synthesize pvkPasswordField; -@synthesize tlsNegotiationTimeout; -@synthesize tlsNegotiationTimeoutStepper; -@synthesize outgoingTlsServerName; -@synthesize caListPathControl; -@synthesize certificatePathControl; -@synthesize pvkPathControl; -@synthesize verifyCertAsClientButton; -@synthesize verifyCertAsServerButton; -@synthesize requireCertButton; - -- (void)awakeFromNib -{ - NSLog(@"INIT Security VC"); - [pvkPasswordField setTag:PVK_PASSWORD_TAG]; - [outgoingTlsServerName setTag:OUTGOING_TLS_SRV_NAME]; - [tlsNegotiationTimeoutStepper setTag:TLS_NEGOTIATION_TAG]; - [tlsNegotiationTimeout setTag:TLS_NEGOTIATION_TAG]; - - QObject::connect(AccountModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - if(!current.isValid()) - return; - [self loadAccount]; - }); -} - -- (Account*) currentAccount -{ - auto accIdx = AccountModel::instance()->selectionModel()->currentIndex(); - return AccountModel::instance()->getAccountByModelIndex(accIdx); -} - -- (void)loadAccount -{ - auto account = [self currentAccount]; - - [self updateControlsWithTag:PVK_PASSWORD_TAG]; - [self updateControlsWithTag:OUTGOING_TLS_SRV_NAME]; - [self updateControlsWithTag:TLS_NEGOTIATION_TAG]; - - QModelIndex qTlsMethodIdx = account->tlsMethodModel()->selectionModel()->currentIndex(); - [self.tlsMethodList removeAllItems]; - [self.tlsMethodList addItemWithTitle:qTlsMethodIdx.data(Qt::DisplayRole).toString().toNSString()]; - - treeController = [[QNSTreeController alloc] initWithQModel:account->cipherModel()]; - [treeController setAvoidsEmptySelection:NO]; - [treeController setAlwaysUsesMultipleValuesMarker:YES]; - [treeController setChildrenKeyPath:@"children"]; - - [cipherListView bind:@"content" toObject:treeController withKeyPath:@"arrangedObjects" options:nil]; - [cipherListView bind:@"sortDescriptors" toObject:treeController withKeyPath:@"sortDescriptors" options:nil]; - [cipherListView bind:@"selectionIndexPaths" toObject:treeController withKeyPath:@"selectionIndexPaths" options:nil]; - - [useTLS setState:[self currentAccount]->isTlsEnabled()]; - [tlsContainer setHidden:![self currentAccount]->isTlsEnabled()]; - - [useSRTP setState:[self currentAccount]->isSrtpEnabled()]; - [srtpRTPFallback setState:[self currentAccount]->isSrtpRtpFallback()]; - [srtpRTPFallback setEnabled:useSRTP.state]; - - if([self currentAccount]->tlsCaListCertificate() != nil) { - NSLog(@"CA ==> %@", account->tlsCaListCertificate()->path().toNSURL()); - [caListPathControl setURL:account->tlsCaListCertificate()->path().toNSURL()]; - } else { - [caListPathControl setURL:nil]; - } - - if([self currentAccount]->tlsCertificate() != nil) { - NSLog(@" CERT ==> %@", account->tlsCertificate()->path().toNSURL()); - [certificatePathControl setURL:account->tlsCertificate()->path().toNSURL()]; - } else { - [certificatePathControl setURL:nil]; - } - - if([self currentAccount]->tlsPrivateKeyCertificate() != nil) { - NSLog(@" PVK ==> %@", account->tlsPrivateKeyCertificate()->path().toNSURL()); - [pvkPathControl setURL:account->tlsPrivateKeyCertificate()->path().toNSURL()]; - } else { - [pvkPathControl setURL:nil]; - } - - [verifyCertAsServerButton setState:[self currentAccount]->isTlsVerifyServer()]; - [verifyCertAsClientButton setState:[self currentAccount]->isTlsVerifyClient()]; - [requireCertButton setState:[self currentAccount]->isTlsRequireClientCertificate()]; -} - -- (IBAction)chooseTlsMethod:(id)sender { - int index = [sender indexOfSelectedItem]; - QModelIndex qIdx = [self currentAccount]->tlsMethodModel()->index(index, 0); - [self currentAccount]->tlsMethodModel()->selectionModel()->setCurrentIndex(qIdx, QItemSelectionModel::ClearAndSelect); -} - -- (IBAction)toggleUseTLS:(id)sender { - [self currentAccount]->setTlsEnabled([sender state]); - [tlsContainer setHidden:![sender state]]; -} - -- (IBAction)toggleUseSRTP:(id)sender { - [self currentAccount]->setSrtpEnabled([sender state]); - [srtpRTPFallback setEnabled:[sender state]]; -} -- (IBAction)toggleRTPFallback:(id)sender { - [self currentAccount]->setSrtpRtpFallback([sender state]); -} - -- (IBAction)toggleVerifyCertAsClient:(id)sender { - [self currentAccount]->setTlsVerifyClient([sender state]); -} - -- (IBAction)toggleVerifyCertServer:(id)sender { - [self currentAccount]->setTlsVerifyServer([sender state]); -} - -- (IBAction)toggleRequireCert:(id)sender { - [self currentAccount]->setTlsRequireClientCertificate([sender state]); -} - -- (IBAction)toggleCipher:(id)sender { - NSInteger row = [sender clickedRow]; - NSTableColumn *col = [sender tableColumnWithIdentifier:COLUMNID_STATE]; - NSButtonCell *cell = [col dataCellForRow:row]; - [self currentAccount]->cipherModel()->setData([self currentAccount]->cipherModel()->index(row, 0, QModelIndex()), - cell.state == NSOnState ? Qt::Unchecked : Qt::Checked, Qt::CheckStateRole); -} - -- (void) updateControlsWithTag:(NSInteger) tag -{ - switch (tag) { - case PVK_PASSWORD_TAG: - [pvkPasswordField setStringValue:[self currentAccount]->tlsPassword().toNSString()]; - break; - case OUTGOING_TLS_SRV_NAME: - [outgoingTlsServerName setStringValue:[self currentAccount]->tlsServerName().toNSString()]; - break; - case TLS_NEGOTIATION_TAG: - [tlsNegotiationTimeout setIntegerValue:[self currentAccount]->tlsNegotiationTimeoutSec()]; - [tlsNegotiationTimeoutStepper setIntegerValue:[self currentAccount]->tlsNegotiationTimeoutSec()]; - break; - default: - break; - } -} - -#pragma mark - NSTextFieldDelegate methods - --(void)controlTextDidChange:(NSNotification *)notif -{ - NSTextField *textField = [notif object]; - NSRange test = [[textField currentEditor] selectedRange]; - - [self valueDidChange:textField]; - //FIXME: saving account lose focus because in NSTreeController we remove and reinsert row so View selction change - [textField.window makeFirstResponder:textField]; - [[textField currentEditor] setSelectedRange:test]; -} - -- (IBAction) valueDidChange: (id) sender -{ - switch ([sender tag]) { - case PVK_PASSWORD_TAG: - [self currentAccount]->setTlsPassword([[sender stringValue] UTF8String]); - break; - case OUTGOING_TLS_SRV_NAME: - [self currentAccount]->setTlsServerName([[sender stringValue] UTF8String]); - break; - case TLS_NEGOTIATION_TAG: - [self currentAccount]->setTlsNegotiationTimeoutSec([sender integerValue]); - break; - default: - break; - } - [self updateControlsWithTag:[sender tag]]; -} - -#pragma mark - NSPathControl delegate methods -- (IBAction)caListPathControlSingleClick:(id)sender { - NSURL* fileURL = [[sender clickedPathComponentCell] URL]; - NSLog(@"==> %@", fileURL); - [self.caListPathControl setURL:fileURL]; - [self currentAccount]->setTlsCaListCertificate(QUrl::fromNSURL(fileURL).toString()); -} - -- (IBAction)certificatePathControlSingleClick:(id)sender { - // Select that chosen component of the path. - NSURL* fileURL = [[sender clickedPathComponentCell] URL]; - NSLog(@"==> %@", fileURL); - [self.certificatePathControl setURL:fileURL]; - [self currentAccount]->setTlsCertificate(QUrl::fromNSURL(fileURL).toString()); -} - -- (IBAction)pvkFilePathControlSingleClick:(id)sender { - NSURL* fileURL = [[sender clickedPathComponentCell] URL]; - NSLog(@"==> %@", fileURL); - [self.pvkPathControl setURL:fileURL]; - [self currentAccount]->setTlsPrivateKeyCertificate(QUrl::fromNSURL(fileURL).toString()); -} - -- (IBAction)showCA:(id)sender -{ - certificateWC = [[CertificateWC alloc] initWithWindowNibName:@"CertificateWindow"]; - [certificateWC setCertificate:[self currentAccount]->tlsCaListCertificate()]; - [self.view.window beginSheet:certificateWC.window completionHandler:nil]; -} - -- (IBAction)showEndpointCertificate:(id)sender -{ - certificateWC = [[CertificateWC alloc] initWithWindowNibName:@"CertificateWindow"]; - [certificateWC setCertificate:[self currentAccount]->tlsCertificate()]; - [self.view.window beginSheet:certificateWC.window completionHandler:nil];} - -/* - Delegate method of NSPathControl to determine how the NSOpenPanel will look/behave. - */ -- (void)pathControl:(NSPathControl *)pathControl willDisplayOpenPanel:(NSOpenPanel *)openPanel -{ - NSLog(@"willDisplayOpenPanel"); - [openPanel setAllowsMultipleSelection:NO]; - [openPanel setCanChooseDirectories:NO]; - [openPanel setCanChooseFiles:YES]; - [openPanel setResolvesAliases:YES]; - - if(pathControl == self.caListPathControl) { - [openPanel setTitle:NSLocalizedString(@"Choose a CA list", @"Open panel title")]; - } else if (pathControl == self.certificatePathControl) { - [openPanel setTitle:NSLocalizedString(@"Choose a certificate", @"Open panel title")]; - } else { - [openPanel setTitle:NSLocalizedString(@"Choose a private key file", @"Open panel title")]; - } - - [openPanel setPrompt:NSLocalizedString(@"Choose", @"Open panel prompt for 'Choose a file'")]; - [openPanel setDelegate:self]; -} - -- (void)pathControl:(NSPathControl *)pathControl willPopUpMenu:(NSMenu *)menu -{ - -} - -#pragma mark - NSOpenSavePanelDelegate delegate methods - -- (void)panel:(id)sender willExpand:(BOOL)expanding -{ - //NSLog(@"willExpand"); -} - -- (NSString *)panel:(id)sender userEnteredFilename:(NSString *)filename confirmed:(BOOL)okFlag -{ - //NSLog(@"userEnteredFilename"); -} - -- (void)panelSelectionDidChange:(id)sender -{ - //NSLog(@"panelSelectionDidChange"); -} - -- (BOOL)panel:(id)sender validateURL:(NSURL *)url error:(NSError **)outError -{ - NSLog(@"validateURL"); - return YES; -} - -#pragma mark - NSMenuDelegate methods - -- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(NSInteger)index shouldCancel:(BOOL)shouldCancel -{ - QModelIndex qIdx; - - if([menu.title isEqualToString:@"tlsmethodlist"]) - { - qIdx = [self currentAccount]->tlsMethodModel()->index(index); - [item setTitle:qIdx.data(Qt::DisplayRole).toString().toNSString()]; - } - return YES; -} - -- (NSInteger)numberOfItemsInMenu:(NSMenu *)menu -{ - if([menu.title isEqualToString:@"tlsmethodlist"]) - return [self currentAccount]->tlsMethodModel()->rowCount(); -} - -#pragma mark - NSOutlineViewDelegate methods - -// ------------------------------------------------------------------------------- -// shouldSelectItem:item -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; -{ - return YES; -} - -// ------------------------------------------------------------------------------- -// dataCellForTableColumn:tableColumn:item -// ------------------------------------------------------------------------------- -- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - NSCell *returnCell = [tableColumn dataCell]; - return returnCell; -} - -// ------------------------------------------------------------------------------- -// textShouldEndEditing:fieldEditor -// ------------------------------------------------------------------------------- -- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor -{ - if ([[fieldEditor string] length] == 0) - { - // don't allow empty node names - return NO; - } - else - { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// shouldEditTableColumn:tableColumn:item -// -// Decide to allow the edit of the given outline view "item". -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - return NO; -} - -// ------------------------------------------------------------------------------- -// outlineView:willDisplayCell:forTableColumn:item -// ------------------------------------------------------------------------------- -- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return; - - if ([[tableColumn identifier] isEqualToString:COLUMNID_NAME]) - { - cell.title = qIdx.data(Qt::DisplayRole).toString().toNSString(); - } -} - -// ------------------------------------------------------------------------------- -// outlineViewSelectionDidChange:notification -// ------------------------------------------------------------------------------- -- (void)outlineViewSelectionDidChange:(NSNotification *)notification -{ - // ask the tree controller for the current selection - if([[treeController selectedNodes] count] > 0) { - - } -} - -@end diff --git a/src/AccVideoVC.h b/src/AccVideoVC.h deleted file mode 100644 index aade71ce..00000000 --- a/src/AccVideoVC.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef ACCVIDEOVC_H -#define ACCVIDEOVC_H - -#import <Cocoa/Cocoa.h> - -#import <account.h> - -@interface AccVideoVC : NSViewController <NSOutlineViewDelegate> - -@end - -#endif // ACCVIDEOVC_H \ No newline at end of file diff --git a/src/AccVideoVC.mm b/src/AccVideoVC.mm deleted file mode 100644 index 7e5ed1e9..00000000 --- a/src/AccVideoVC.mm +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#define COLUMNID_STATE @"VideoStateColumn" -#define COLUMNID_CODECS @"VideoCodecsColumn" -#define COLUMNID_FREQ @"VideoFrequencyColumn" -#define COLUMNID_BITRATE @"VideoBitrateColumn" - -#import "AccVideoVC.h" - -#include <QtCore/QSortFilterProxyModel> -#import <audio/codecmodel.h> -#import <accountmodel.h> -#import <qitemselectionmodel.h> - -#import "QNSTreeController.h" - -@interface AccVideoVC () - -@property QNSTreeController *treeController; -@property (assign) IBOutlet NSOutlineView *codecsView; -@property (assign) IBOutlet NSView *videoPanelContainer; -@property (assign) IBOutlet NSButton *toggleVideoButton; - -@end - -@implementation AccVideoVC -@synthesize treeController; -@synthesize codecsView; -@synthesize videoPanelContainer; -@synthesize toggleVideoButton; - -- (void)awakeFromNib -{ - NSLog(@"INIT Video VC"); - QObject::connect(AccountModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - if(!current.isValid()) - return; - [self loadAccount]; - }); -} - -- (Account*) currentAccount -{ - auto accIdx = AccountModel::instance()->selectionModel()->currentIndex(); - return AccountModel::instance()->getAccountByModelIndex(accIdx); -} - -- (void)loadAccount -{ - auto account = [self currentAccount]; - - treeController = [[QNSTreeController alloc] initWithQModel:account->codecModel()->videoCodecs()]; - [treeController setAvoidsEmptySelection:NO]; - [treeController setChildrenKeyPath:@"children"]; - - [codecsView bind:@"content" toObject:treeController withKeyPath:@"arrangedObjects" options:nil]; - [codecsView bind:@"sortDescriptors" toObject:treeController withKeyPath:@"sortDescriptors" options:nil]; - [codecsView bind:@"selectionIndexPaths" toObject:treeController withKeyPath:@"selectionIndexPaths" options:nil]; - [videoPanelContainer setHidden:!account->isVideoEnabled()]; - [toggleVideoButton setState:account->isVideoEnabled()?NSOnState:NSOffState]; -} - -- (IBAction)toggleVideoEnabled:(id)sender { - [self currentAccount]->setVideoEnabled([sender state] == NSOnState); - [videoPanelContainer setHidden:![self currentAccount]->isVideoEnabled()]; -} - -- (IBAction)toggleCodec:(NSOutlineView*)sender { - NSInteger row = [sender clickedRow]; - NSTableColumn *col = [sender tableColumnWithIdentifier:COLUMNID_STATE]; - NSButtonCell *cell = [col dataCellForRow:row]; - [self currentAccount]->codecModel()->videoCodecs()->setData([self currentAccount]->codecModel()->videoCodecs()->index(row, 0, QModelIndex()), - cell.state == NSOnState ? Qt::Unchecked : Qt::Checked, Qt::CheckStateRole); -} - -- (IBAction)moveUp:(id)sender { - - if([[treeController selectedNodes] count] > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - if(!qIdx.isValid()) - return; - - QMimeData* mime = [self currentAccount]->codecModel()->mimeData(QModelIndexList() << qIdx); - [self currentAccount]->codecModel()->dropMimeData(mime, Qt::MoveAction, qIdx.row() - 1, 0, QModelIndex()); - } -} - -- (IBAction)moveDown:(id)sender { - if([[treeController selectedNodes] count] > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - if(!qIdx.isValid()) - return; - - QMimeData* mime = [self currentAccount]->codecModel()->mimeData(QModelIndexList() << qIdx); - [self currentAccount]->codecModel()->dropMimeData(mime, Qt::MoveAction, qIdx.row() + 1, 0, QModelIndex()); - } -} - -#pragma mark - NSOutlineViewDelegate methods - -// ------------------------------------------------------------------------------- -// shouldSelectItem:item -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; -{ - return YES; -} - -// ------------------------------------------------------------------------------- -// dataCellForTableColumn:tableColumn:item -// ------------------------------------------------------------------------------- -- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - NSCell *returnCell = [tableColumn dataCell]; - - if(item == nil) - return returnCell; - return returnCell; -} - -// ------------------------------------------------------------------------------- -// textShouldEndEditing:fieldEditor -// ------------------------------------------------------------------------------- -- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor -{ - if ([[fieldEditor string] length] == 0) - { - // don't allow empty node names - return NO; - } - else - { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// shouldEditTableColumn:tableColumn:item -// -// Decide to allow the edit of the given outline view "item". -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - return NO; -} - -// ------------------------------------------------------------------------------- -// outlineView:willDisplayCell:forTableColumn:item -// ------------------------------------------------------------------------------- -- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return; - - if([[tableColumn identifier] isEqualToString:COLUMNID_STATE]) { - [cell setState:[self currentAccount]->codecModel()->videoCodecs()->data(qIdx, Qt::CheckStateRole).value<BOOL>()?NSOnState:NSOffState]; - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_CODECS]) - { - cell.title = [self currentAccount]->codecModel()->videoCodecs()->data(qIdx, CodecModel::Role::NAME).toString().toNSString(); - [cell setState:[self currentAccount]->codecModel()->videoCodecs()->data(qIdx, Qt::CheckStateRole).value<BOOL>()?NSOnState:NSOffState]; - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_FREQ]) - { - cell.title = [self currentAccount]->codecModel()->videoCodecs()->data(qIdx, CodecModel::Role::SAMPLERATE).toString().toNSString(); - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_BITRATE]) - { - cell.title = [self currentAccount]->codecModel()->videoCodecs()->data(qIdx, CodecModel::Role::BITRATE).toString().toNSString(); - } -} - -// ------------------------------------------------------------------------------- -// outlineViewSelectionDidChange:notification -// ------------------------------------------------------------------------------- -- (void)outlineViewSelectionDidChange:(NSNotification *)notification -{ - // ask the tree controller for the current selection -} - -@end diff --git a/src/AccountsVC.h b/src/AccountsVC.h deleted file mode 100644 index f79fc3eb..00000000 --- a/src/AccountsVC.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef ACCOUNTSVC_H -#define ACCOUNTSVC_H - -#import <Cocoa/Cocoa.h> - -@interface AccountsVC : NSViewController <NSOutlineViewDelegate, NSMenuDelegate> { - -} - -@end - -#endif // ACCOUNTSVC_H diff --git a/src/AccountsVC.mm b/src/AccountsVC.mm deleted file mode 100644 index 168e59b7..00000000 --- a/src/AccountsVC.mm +++ /dev/null @@ -1,398 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#define COLUMNID_ENABLE @"EnableColumn" -#define COLUMNID_NAME @"NameColumn" -#define COLUMNID_STATE @"StateColumn" - -#import "AccountsVC.h" - -// LibRingClient -#import <QSortFilterProxyModel> -#import <accountmodel.h> -#import <protocolmodel.h> -#import <QItemSelectionModel> -#import <account.h> - -#import "QNSTreeController.h" -#import "AccGeneralVC.h" -#import "AccAudioVC.h" -#import "AccVideoVC.h" -#import "AccAdvancedVC.h" -#import "AccSecurityVC.h" -#import "AccRingVC.h" - -// We disabled IAX protocol for now, so don't show it to the user -class ActiveProtocolModel : public QSortFilterProxyModel -{ -public: - ActiveProtocolModel(QAbstractItemModel* parent) : QSortFilterProxyModel(parent) - { - setSourceModel(parent); - } - virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const - { - return sourceModel()->index(source_row,0,source_parent).flags() & Qt::ItemIsEnabled; - } -}; - -@interface AccountsVC () -@property (assign) IBOutlet NSPopUpButton *protocolList; - -@property (assign) IBOutlet NSTabView *configPanels; -@property (retain) IBOutlet NSTabViewItem *generalTabItem; -@property (retain) IBOutlet NSTabViewItem *audioTabItem; -@property (retain) IBOutlet NSTabViewItem *videoTabItem; -@property (retain) IBOutlet NSTabViewItem *advancedTabItem; -@property (retain) IBOutlet NSTabViewItem *securityTabItem; -@property (retain) IBOutlet NSTabViewItem *ringTabItem; - -@property QNSTreeController *treeController; -@property ActiveProtocolModel* proxyProtocolModel; -@property (assign) IBOutlet NSOutlineView *accountsListView; -@property (assign) IBOutlet NSTabView *accountDetailsView; - -@property AccRingVC* ringVC; -@property AccGeneralVC* generalVC; -@property AccAudioVC* audioVC; -@property AccVideoVC* videoVC; -@property AccAdvancedVC* advancedVC; -@property AccSecurityVC* securityVC; - -@end - -@implementation AccountsVC -@synthesize protocolList; -@synthesize configPanels; -@synthesize generalTabItem; -@synthesize audioTabItem; -@synthesize videoTabItem; -@synthesize advancedTabItem; -@synthesize securityTabItem; -@synthesize ringTabItem; -@synthesize accountsListView; -@synthesize accountDetailsView; -@synthesize treeController; -@synthesize proxyProtocolModel; - -- (void)awakeFromNib -{ - treeController = [[QNSTreeController alloc] initWithQModel:AccountModel::instance()]; - [treeController setAvoidsEmptySelection:NO]; - [treeController setAlwaysUsesMultipleValuesMarker:YES]; - [treeController setChildrenKeyPath:@"children"]; - - [accountsListView bind:@"content" toObject:treeController withKeyPath:@"arrangedObjects" options:nil]; - [accountsListView bind:@"sortDescriptors" toObject:treeController withKeyPath:@"sortDescriptors" options:nil]; - [accountsListView bind:@"selectionIndexPaths" toObject:treeController withKeyPath:@"selectionIndexPaths" options:nil]; - - QObject::connect(AccountModel::instance(), - &QAbstractItemModel::dataChanged, - [=](const QModelIndex &topLeft, const QModelIndex &bottomRight) { - [accountsListView reloadDataForRowIndexes: - [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(topLeft.row(), bottomRight.row() + 1)] - columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, accountsListView.tableColumns.count)]]; - }); - - AccountModel::instance()->selectionModel()->clearCurrentIndex(); - - self.proxyProtocolModel = new ActiveProtocolModel(AccountModel::instance()->protocolModel()); - QModelIndex qProtocolIdx = AccountModel::instance()->protocolModel()->selectionModel()->currentIndex(); - [self.protocolList addItemWithTitle: - AccountModel::instance()->protocolModel()->data(qProtocolIdx, Qt::DisplayRole).toString().toNSString()]; - - self.generalVC = [[AccGeneralVC alloc] initWithNibName:@"AccGeneral" bundle:nil]; - [[self.generalVC view] setFrame:[self.generalTabItem.view frame]]; - [[self.generalVC view] setBounds:[self.generalTabItem.view bounds]]; - [self.generalTabItem setView:self.generalVC.view]; - - self.audioVC = [[AccAudioVC alloc] initWithNibName:@"AccAudio" bundle:nil]; - [[self.audioVC view] setFrame:[self.audioTabItem.view frame]]; - [[self.audioVC view] setBounds:[self.audioTabItem.view bounds]]; - [self.audioTabItem setView:self.audioVC.view]; - - self.videoVC = [[AccVideoVC alloc] initWithNibName:@"AccVideo" bundle:nil]; - [[self.videoVC view] setFrame:[self.videoTabItem.view frame]]; - [[self.videoVC view] setBounds:[self.videoTabItem.view bounds]]; - [self.videoTabItem setView:self.videoVC.view]; - - self.advancedVC = [[AccAdvancedVC alloc] initWithNibName:@"AccAdvanced" bundle:nil]; - [[self.advancedVC view] setFrame:[self.advancedTabItem.view frame]]; - [[self.advancedVC view] setBounds:[self.advancedTabItem.view bounds]]; - [self.advancedTabItem setView:self.advancedVC.view]; - - self.securityVC = [[AccSecurityVC alloc] initWithNibName:@"AccSecurity" bundle:nil]; - [[self.securityVC view] setFrame:[self.securityTabItem.view frame]]; - [[self.securityVC view] setBounds:[self.securityTabItem.view bounds]]; - [self.securityTabItem setView:self.securityVC.view]; - - self.ringVC = [[AccRingVC alloc] initWithNibName:@"AccRing" bundle:nil]; - [[self.ringVC view] setFrame:[self.ringTabItem.view frame]]; - [[self.ringVC view] setBounds:[self.ringTabItem.view bounds]]; - [self.ringTabItem setView:self.ringVC.view]; -} - -- (IBAction)moveUp:(id)sender { - AccountModel::instance()->moveUp(); -} - -- (IBAction)moveDown:(id)sender { - AccountModel::instance()->moveDown(); -} - -- (IBAction)removeAccount:(id)sender { - - if(treeController.selectedNodes.count > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - AccountModel::instance()->remove(qIdx); - AccountModel::instance()->save(); - } -} -- (IBAction)addAccount:(id)sender { - QModelIndex qIdx = AccountModel::instance()->protocolModel()->selectionModel()->currentIndex(); - - auto newAccName = [[NSString alloc] initWithFormat:@"%@ account", - AccountModel::instance()->protocolModel()->data(qIdx, Qt::DisplayRole).toString().toNSString(), nil]; - AccountModel::instance()->add([newAccName UTF8String], qIdx); - AccountModel::instance()->save(); -} - -- (IBAction)protocolSelectedChanged:(id)sender { - - int index = [sender indexOfSelectedItem]; - QModelIndex proxyIdx = proxyProtocolModel->index(index, 0); - AccountModel::instance()->protocolModel()->selectionModel()->setCurrentIndex( - proxyProtocolModel->mapToSource(proxyIdx), QItemSelectionModel::ClearAndSelect); - -} - -- (void) setupSIPPanels -{ - // Start by removing all tabs - for(NSTabViewItem* item in configPanels.tabViewItems) { - [configPanels removeTabViewItem:item]; - } - - [configPanels insertTabViewItem:generalTabItem atIndex:0]; - [configPanels insertTabViewItem:audioTabItem atIndex:1]; - [configPanels insertTabViewItem:videoTabItem atIndex:2]; - [configPanels insertTabViewItem:advancedTabItem atIndex:3]; - [configPanels insertTabViewItem:securityTabItem atIndex:4]; -} - -- (void) setupIAXPanels -{ - // Start by removing all tabs - for(NSTabViewItem* item in configPanels.tabViewItems) { - [configPanels removeTabViewItem:item]; - } - - [configPanels insertTabViewItem:generalTabItem atIndex:0]; - [configPanels insertTabViewItem:audioTabItem atIndex:1]; - [configPanels insertTabViewItem:videoTabItem atIndex:2]; -} - -- (void) setupRINGPanels -{ - // Start by removing all tabs - for(NSTabViewItem* item in configPanels.tabViewItems) { - [configPanels removeTabViewItem:item]; - } - - [configPanels insertTabViewItem:ringTabItem atIndex:0]; - [configPanels insertTabViewItem:audioTabItem atIndex:1]; - [configPanels insertTabViewItem:videoTabItem atIndex:2]; -} - -- (IBAction)toggleAccount:(NSOutlineView*)sender { - - if([sender clickedColumn] < 0) - return; - - NSTableColumn* col = [sender.tableColumns objectAtIndex:[sender clickedColumn]]; - if([col.identifier isEqualToString:COLUMNID_ENABLE]) { - NSInteger row = [sender clickedRow]; - QModelIndex accIdx = AccountModel::instance()->index(row); - Account* toToggle = AccountModel::instance()->getAccountByModelIndex(accIdx); - NSButtonCell *cell = [col dataCellForRow:row]; - toToggle->setEnabled(cell.state == NSOnState ? NO : YES); - toToggle << Account::EditAction::SAVE; - } -} - -#pragma mark - NSOutlineViewDelegate methods - -// ------------------------------------------------------------------------------- -// shouldSelectItem:item -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; -{ - return YES; -} - -// ------------------------------------------------------------------------------- -// dataCellForTableColumn:tableColumn:item -// ------------------------------------------------------------------------------- -- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - NSCell *returnCell; - - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - // Prevent user from enabling/disabling IP2IP account - if ([[tableColumn identifier] isEqualToString:COLUMNID_ENABLE] && - AccountModel::instance()->ip2ip()->index() == qIdx) { - - return [[NSCell alloc] init]; - } else { - return [tableColumn dataCell]; - } -} - -// ------------------------------------------------------------------------------- -// textShouldEndEditing:fieldEditor -// ------------------------------------------------------------------------------- -- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor -{ - if ([[fieldEditor string] length] == 0) - { - // don't allow empty node names - return NO; - } - else - { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// shouldEditTableColumn:tableColumn:item -// -// Decide to allow the edit of the given outline view "item". -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - return NO; -} - -// ------------------------------------------------------------------------------- -// outlineView:willDisplayCell:forTableColumn:item -// ------------------------------------------------------------------------------- -- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return; - - if ([[tableColumn identifier] isEqualToString:COLUMNID_NAME]) - { - cell.title = AccountModel::instance()->data(qIdx, Qt::DisplayRole).toString().toNSString(); - } else if([[tableColumn identifier] isEqualToString:COLUMNID_STATE]) { - NSTextFieldCell* stateCell = cell; - Account::RegistrationState state = qvariant_cast<Account::RegistrationState>(qIdx.data((int)Account::Role::RegistrationState)); - switch (state) { - case Account::RegistrationState::READY: - [stateCell setTextColor:[NSColor colorWithCalibratedRed:116/255.0 green:179/255.0 blue:93/255.0 alpha:1.0]]; - [stateCell setTitle:@"Ready"]; - break; - case Account::RegistrationState::TRYING: - [stateCell setTextColor:[NSColor redColor]]; - [stateCell setTitle:@"Trying..."]; - break; - case Account::RegistrationState::UNREGISTERED: - [stateCell setTextColor:[NSColor blackColor]]; - [stateCell setTitle:@"Unregistered"]; - break; - case Account::RegistrationState::ERROR: - [stateCell setTextColor:[NSColor redColor]]; - [stateCell setTitle:@"Error"]; - break; - default: - break; - } - } else if([[tableColumn identifier] isEqualToString:COLUMNID_ENABLE]) { - [cell setState:qIdx.data(Qt::CheckStateRole).value<BOOL>()]; - } -} - -// ------------------------------------------------------------------------------- -// outlineViewSelectionDidChange:notification -// ------------------------------------------------------------------------------- -- (void)outlineViewSelectionDidChange:(NSNotification *)notification -{ - // ask the tree controller for the current selection - if([[treeController selectedNodes] count] > 0) { - auto qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - //Update details view - auto acc = AccountModel::instance()->getAccountByModelIndex(qIdx); - AccountModel::instance()->selectionModel()->setCurrentIndex(qIdx, QItemSelectionModel::ClearAndSelect); - - switch (acc->protocol()) { - case Account::Protocol::SIP: - NSLog(@"SIP"); - [self setupSIPPanels]; - break; - case Account::Protocol::IAX: - NSLog(@"IAX"); - [self setupIAXPanels]; - break; - case Account::Protocol::RING: - [self setupRINGPanels]; - NSLog(@"DRING"); - break; - default: - break; - } - - [self.accountDetailsView setHidden:NO]; - } else { - [self.accountDetailsView setHidden:YES]; - AccountModel::instance()->selectionModel()->clearCurrentIndex(); - } -} - -#pragma mark - NSMenuDelegate methods - -- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(NSInteger)index shouldCancel:(BOOL)shouldCancel -{ - QModelIndex proxyIdx = proxyProtocolModel->index(index, 0); - QModelIndex qIdx = AccountModel::instance()->protocolModel()->index(proxyProtocolModel->mapToSource(proxyIdx).row()); - [item setTitle:qIdx.data(Qt::DisplayRole).toString().toNSString()]; - - return YES; -} - -- (NSInteger)numberOfItemsInMenu:(NSMenu *)menu -{ - return proxyProtocolModel->rowCount(); -} - - - -@end diff --git a/src/AppDelegate.h b/src/AppDelegate.h deleted file mode 100644 index a0b60534..00000000 --- a/src/AppDelegate.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef APPDELEGATE_H -#define APPDELEGATE_H - -#import <AppKit/NSApplication.h> // NSApplicationDelegate - -#import "RingWindowController.h" -#import "PreferencesWindowController.h" - -@interface AppDelegate : NSObject <NSApplicationDelegate, NSUserNotificationCenterDelegate> - -- (void) showWizard; -- (void) showMainWindow; - -@end - -#endif // APPDELEGATE_H diff --git a/src/AppDelegate.mm b/src/AppDelegate.mm deleted file mode 100644 index 63254387..00000000 --- a/src/AppDelegate.mm +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "AppDelegate.h" - -#import <callmodel.h> -#import <qapplication.h> -#import <accountmodel.h> -#import <protocolmodel.h> -#import <QItemSelectionModel> -#import <account.h> - -#if ENABLE_SPARKLE -#import <Sparkle/Sparkle.h> -#endif - -#import "Constants.h" -#import "RingWizardWC.h" - -#if ENABLE_SPARKLE -@interface AppDelegate() <SUUpdaterDelegate> -#else -@interface AppDelegate() -#endif - -@property RingWindowController* ringWindowController; -@property RingWizardWC* wizard; - -@end - -@implementation AppDelegate - -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints"]; - - [[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self]; - - NSAppleEventManager* appleEventManager = [NSAppleEventManager sharedAppleEventManager]; - [appleEventManager setEventHandler:self andSelector:@selector(handleQuitEvent:withReplyEvent:) forEventClass:kCoreEventClass andEventID:kAEQuitApplication]; - - if([self checkForRingAccount]) { - [self showMainWindow]; - } else { - [self showWizard]; - } - [self connect]; -} - -- (void) connect -{ - QObject::connect(CallModel::instance(), - &CallModel::incomingCall, - [=](Call* call) { - BOOL shouldComeToForeground = [[NSUserDefaults standardUserDefaults] boolForKey:Preferences::WindowBehaviour]; - BOOL shouldNotify = [[NSUserDefaults standardUserDefaults] boolForKey:Preferences::Notifications]; - if(shouldComeToForeground) - [NSApp activateIgnoringOtherApps:YES]; - - if(shouldNotify) { - [self showIncomingNotification:call]; - } - }); -} - -- (void) showIncomingNotification:(Call*) call{ - NSUserNotification *notification = [[NSUserNotification alloc] init]; - notification.title = @"Incoming call", call->peerName(); - //notification.informativeText = @"A notification"; - notification.soundName = NSUserNotificationDefaultSoundName; - - [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification]; -} - -/** - * click in MainMenu "Setup Ring" - */ -- (IBAction)showWizard:(id)sender { - [self showWizard]; -} - -- (void) showWizard -{ - NSLog(@"Showing wizard"); - if(self.wizard == nil) { - self.wizard = [[RingWizardWC alloc] initWithWindowNibName:@"RingWizard"]; - } - [self.wizard.window orderFront:self]; -} - -- (void) showMainWindow -{ - if(self.ringWindowController == nil) - self.ringWindowController = [[RingWindowController alloc] initWithWindowNibName:@"RingWindow"]; - - [self.ringWindowController.window makeKeyAndOrderFront:self]; -} - -- (BOOL) checkForRingAccount -{ - for (int i = 0 ; i < AccountModel::instance()->rowCount() ; ++i) { - QModelIndex idx = AccountModel::instance()->index(i); - Account* acc = AccountModel::instance()->getAccountByModelIndex(idx); - if(acc->protocol() == Account::Protocol::RING) { - return YES; - } - } - return FALSE; -} - -- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag -{ - if([self checkForRingAccount]) { - [self showMainWindow]; - } else { - [self showWizard]; - } - return YES; -} - -- (void)handleQuitEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAppleEventDescriptor*)replyEvent -{ - delete CallModel::instance()->QObject::parent(); - [[NSApplication sharedApplication] terminate:self]; -} - --(void)applicationWillTerminate:(NSNotification *)notification -{ - delete CallModel::instance()->QObject::parent(); - [[NSApplication sharedApplication] terminate:self]; -} - -#if ENABLE_SPARKLE - -#pragma mark - -#pragma mark Sparkle delegate - -- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update -{ - [NSApp activateIgnoringOtherApps:YES]; -} - -- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)bundle -{ - return YES; -} - -- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater -{ - return YES; -} - -- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error -{ - NSLog(@"Error:%@", error.localizedDescription); -} - -#endif -@end diff --git a/src/AudioPrefsVC.h b/src/AudioPrefsVC.h deleted file mode 100644 index 024d9557..00000000 --- a/src/AudioPrefsVC.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef AUDIOPREFSVC_H -#define AUDIOPREFSVC_H - -#import <Cocoa/Cocoa.h> - -@interface AudioPrefsVC : NSViewController <NSMenuDelegate, NSPathControlDelegate, NSOpenSavePanelDelegate> { - -} - -@end - -#endif // AUDIOPREFSVC_H diff --git a/src/AudioPrefsVC.mm b/src/AudioPrefsVC.mm deleted file mode 100644 index 12489322..00000000 --- a/src/AudioPrefsVC.mm +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "AudioPrefsVC.h" - -#import <audio/settings.h> -#import <media/recordingmodel.h> -#import <QUrl> -#import <audio/inputdevicemodel.h> -#import <audio/outputdevicemodel.h> -#import <qitemselectionmodel.h> - -@interface AudioPrefsVC () - -@property (assign) IBOutlet NSPathControl *recordingsPathControl; -@property (assign) IBOutlet NSPopUpButton *outputDeviceList; -@property (assign) IBOutlet NSPopUpButton *inputDeviceList; -@property (assign) IBOutlet NSButton *alwaysRecordingButton; -@property (assign) IBOutlet NSButton *muteDTMFButton; - -@end - -@implementation AudioPrefsVC -@synthesize recordingsPathControl; -@synthesize outputDeviceList; -@synthesize inputDeviceList; -@synthesize alwaysRecordingButton; -@synthesize muteDTMFButton; - -- (void)loadView -{ - [super loadView]; - - QModelIndex qInputIdx = Audio::Settings::instance()->inputDeviceModel()->selectionModel()->currentIndex(); - QModelIndex qOutputIdx = Audio::Settings::instance()->outputDeviceModel()->selectionModel()->currentIndex(); - - [self.outputDeviceList addItemWithTitle: - Audio::Settings::instance()->outputDeviceModel()->data(qOutputIdx, Qt::DisplayRole).toString().toNSString()]; - - [self.inputDeviceList addItemWithTitle: - Audio::Settings::instance()->inputDeviceModel()->data(qInputIdx, Qt::DisplayRole).toString().toNSString()]; - [self.alwaysRecordingButton setState: - Media::RecordingModel::instance()->isAlwaysRecording() ? NSOnState:NSOffState]; - - [self.muteDTMFButton setState: - Audio::Settings::instance()->areDTMFMuted()?NSOnState:NSOffState]; - - if([[Media::RecordingModel::instance()->recordPath().toNSURL() absoluteString] isEqualToString:@""]) { - NSArray * pathComponentArray = [self pathComponentArray]; - [recordingsPathControl setPathComponentCells:pathComponentArray]; - } else { - [recordingsPathControl setURL:Media::RecordingModel::instance()->recordPath().toNSURL()]; - } -} - -- (IBAction)toggleMuteDTMF:(NSButton *)sender -{ - Audio::Settings::instance()->setDTMFMuted([sender state] == NSOnState); -} - -- (IBAction)toggleAlwaysRecording:(NSButton *)sender -{ - Media::RecordingModel::instance()->setAlwaysRecording([sender state] == NSOnState); -} - -- (IBAction)pathControlSingleClick:(id)sender { - // Select that chosen component of the path. - [self.recordingsPathControl setURL:[[self.recordingsPathControl clickedPathComponentCell] URL]]; - Media::RecordingModel::instance()->setRecordPath(QUrl::fromNSURL(self.recordingsPathControl.URL)); -} - -- (IBAction)chooseOutput:(id)sender { - int index = [sender indexOfSelectedItem]; - QModelIndex qIdx = Audio::Settings::instance()->outputDeviceModel()->index(index, 0); - Audio::Settings::instance()->outputDeviceModel()->selectionModel()->setCurrentIndex( - qIdx, QItemSelectionModel::ClearAndSelect); -} - -- (IBAction)chooseInput:(id)sender { - int index = [sender indexOfSelectedItem]; - QModelIndex qIdx = Audio::Settings::instance()->inputDeviceModel()->index(index, 0); - Audio::Settings::instance()->inputDeviceModel()->selectionModel()->setCurrentIndex( - qIdx, QItemSelectionModel::ClearAndSelect); -} - -#pragma mark - NSPathControl delegate methods - -/* - Assemble a set of custom cells to display into an array to pass to the path control. - */ -- (NSArray *)pathComponentArray -{ - NSMutableArray *pathComponentArray = [[NSMutableArray alloc] init]; - - NSFileManager *fileManager = [[NSFileManager alloc] init]; - - NSURL* desktopURL = [fileManager URLForDirectory:NSDesktopDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil]; - NSURL* documentsURL = [fileManager URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil]; - NSURL* userURL = [fileManager URLForDirectory:NSUserDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil]; - - NSPathComponentCell *componentCell; - - // Use utility method to obtain a NSPathComponentCell based on icon, title and URL. - componentCell = [self componentCellForType:kGenericFolderIcon withTitle:@"Desktop" URL:desktopURL]; - [pathComponentArray addObject:componentCell]; - - componentCell = [self componentCellForType:kGenericFolderIcon withTitle:@"Documents" URL:documentsURL]; - [pathComponentArray addObject:componentCell]; - - componentCell = [self componentCellForType:kUserFolderIcon withTitle:NSUserName() URL:userURL]; - [pathComponentArray addObject:componentCell]; - - return pathComponentArray; -} - -/* - This method is used by pathComponentArray to create a NSPathComponent cell based on icon, title and URL information. - Each path component needs an icon, URL and title. - */ -- (NSPathComponentCell *)componentCellForType:(OSType)withIconType withTitle:(NSString *)title URL:(NSURL *)url -{ - NSPathComponentCell *componentCell = [[NSPathComponentCell alloc] init]; - - NSImage *iconImage = [[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(withIconType)]; - [componentCell setImage:iconImage]; - [componentCell setURL:url]; - [componentCell setTitle:title]; - - return componentCell; -} - -/* - Delegate method of NSPathControl to determine how the NSOpenPanel will look/behave. - */ -- (void)pathControl:(NSPathControl *)pathControl willDisplayOpenPanel:(NSOpenPanel *)openPanel -{ - NSLog(@"willDisplayOpenPanel"); - [openPanel setAllowsMultipleSelection:NO]; - [openPanel setCanChooseDirectories:YES]; - [openPanel setCanChooseFiles:NO]; - [openPanel setResolvesAliases:YES]; - [openPanel setTitle:NSLocalizedString(@"Choose a file", @"Open panel title")]; - [openPanel setPrompt:NSLocalizedString(@"Choose", @"Open panel prompt for 'Choose a directory'")]; - [openPanel setDelegate:self]; -} - -- (void)pathControl:(NSPathControl *)pathControl willPopUpMenu:(NSMenu *)menu -{ - -} - -#pragma mark - NSOpenSavePanelDelegate delegate methods - -- (BOOL)panel:(id)sender validateURL:(NSURL *)url error:(NSError **)outError -{ - [recordingsPathControl setURL:url]; - return YES; -} - -#pragma mark - NSMenuDelegate methods - -- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(NSInteger)index shouldCancel:(BOOL)shouldCancel -{ - QModelIndex qIdx; - - if([menu.title isEqualToString:@"inputlist"]) - { - qIdx = Audio::Settings::instance()->inputDeviceModel()->index(index); - [item setTitle:Audio::Settings::instance()->inputDeviceModel()->data(qIdx, Qt::DisplayRole).toString().toNSString()]; - } else - { - qIdx = Audio::Settings::instance()->outputDeviceModel()->index(index); - [item setTitle:Audio::Settings::instance()->outputDeviceModel()->data(qIdx, Qt::DisplayRole).toString().toNSString()]; - } - - return YES; -} - -- (NSInteger)numberOfItemsInMenu:(NSMenu *)menu -{ - if([menu.title isEqualToString:@"inputlist"]) - return Audio::Settings::instance()->inputDeviceModel()->rowCount(); - else - return Audio::Settings::instance()->outputDeviceModel()->rowCount(); -} - -@end diff --git a/src/CertificateWC.h b/src/CertificateWC.h deleted file mode 100644 index ea45bfbd..00000000 --- a/src/CertificateWC.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// CertificateWC.h -// Ring -// -// Created by Alexandre Lision on 2015-04-28. -// -// - -#import <Cocoa/Cocoa.h> - -#import <certificate.h> - -@interface CertificateWC : NSWindowController - -- (void) setCertificate:(Certificate*) cert; - -@end diff --git a/src/CertificateWC.mm b/src/CertificateWC.mm deleted file mode 100644 index 8d76a603..00000000 --- a/src/CertificateWC.mm +++ /dev/null @@ -1,29 +0,0 @@ -// -// CertificateWC.m -// Ring -// -// Created by Alexandre Lision on 2015-04-28. -// -// - -#import "CertificateWC.h" - -@implementation CertificateWC - -- (void)windowDidLoad { - [super windowDidLoad]; -} - -- (void) setCertificate:(Certificate*) cert -{ - NSLog(@"CertificateWC loaded"); -} - -- (IBAction)closePanel:(id)sender -{ - [NSApp endSheet:self.window]; - [self.window orderOut:self]; -} - - -@end diff --git a/src/ChatVC.h b/src/ChatVC.h deleted file mode 100644 index f07f5afe..00000000 --- a/src/ChatVC.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import <Cocoa/Cocoa.h> - -@interface ChatVC : NSViewController <NSTextFieldDelegate> - -/** - * Message contained in messageField TextField. - * This is a KVO method to bind the text with the send Button - * if message.length is > 0, button is enabled, otherwise disabled - */ -@property (retain) NSString* message; - -@end diff --git a/src/ChatVC.mm b/src/ChatVC.mm deleted file mode 100644 index b23cfb8c..00000000 --- a/src/ChatVC.mm +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright (C) 2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import "ChatVC.h" - -#import <QItemSelectionModel> -#import <qstring.h> - -#import <media/media.h> -#import <media/text.h> -#import <media/textrecording.h> -#import <callmodel.h> - -@interface MediaConnectionsHolder : NSObject - -@property QMetaObject::Connection newMediaAdded; -@property QMetaObject::Connection newMessage; - -@end - -@implementation MediaConnectionsHolder - -@end - -@interface ChatVC () - -@property (unsafe_unretained) IBOutlet NSTextView *chatView; -@property (unsafe_unretained) IBOutlet NSTextField *messageField; -@property (unsafe_unretained) IBOutlet NSButton *sendButton; - -@property MediaConnectionsHolder* mediaHolder; - -@end - -@implementation ChatVC -@synthesize messageField,chatView,sendButton, mediaHolder; - -- (void)awakeFromNib -{ - NSLog(@"Init ChatVC"); - - [self.view setWantsLayer:YES]; - [self.view setLayer:[CALayer layer]]; - [self.view.layer setBackgroundColor:[NSColor blackColor].CGColor]; - - mediaHolder = [[MediaConnectionsHolder alloc] init]; - - QObject::connect(CallModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - [self setupChat]; - }); - - // Override default style to add interline space - NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; - paragraphStyle.lineSpacing = 8; - [chatView setDefaultParagraphStyle:paragraphStyle]; -} - -- (void) setupChat -{ - QObject::disconnect(mediaHolder.newMediaAdded); - QObject::disconnect(mediaHolder.newMessage); - - QModelIndex callIdx = CallModel::instance()->selectionModel()->currentIndex(); - - if (!callIdx.isValid()) - return; - - Call* call = CallModel::instance()->getCall(callIdx); - - /* check if text media is already present */ - if (call->hasMedia(Media::Media::Type::TEXT, Media::Media::Direction::IN)) { - Media::Text *text = call->firstMedia<Media::Text>(Media::Media::Direction::IN); - [self parseChatModel:text->recording()->instantMessagingModel()]; - } else if (call->hasMedia(Media::Media::Type::TEXT, Media::Media::Direction::OUT)) { - Media::Text *text = call->firstMedia<Media::Text>(Media::Media::Direction::OUT); - [self parseChatModel:text->recording()->instantMessagingModel()]; - } else { - /* monitor media for messaging text messaging */ - mediaHolder.newMediaAdded = QObject::connect(call, - &Call::mediaAdded, - [self] (Media::Media* media) { - if (media->type() == Media::Media::Type::TEXT) { - QObject::disconnect(mediaHolder.newMediaAdded); - [self parseChatModel:((Media::Text*)media)->recording()->instantMessagingModel()]; - - } - }); - } -} - -- (void) parseChatModel:(QAbstractItemModel *)model -{ - QObject::disconnect(mediaHolder.newMessage); - [self.messageField setStringValue:@""]; - self.message = @""; - [self.chatView.textStorage.mutableString setString:@""]; - - /* put all the messages in the im model into the text view */ - for (int row = 0; row < model->rowCount(); ++row) { - [self appendNewMessage:model->index(row, 0)]; - } - - /* append new messages */ - mediaHolder.newMessage = QObject::connect(model, - &QAbstractItemModel::rowsInserted, - [self, model] (const QModelIndex &parent, int first, int last) { - for (int row = first; row <= last; ++row) { - QModelIndex idx = model->index(row, 0, parent); - [self appendNewMessage:idx]; - } - } - ); -} - -- (void) appendNewMessage:(const QModelIndex&) msgIdx -{ - if (!msgIdx.isValid()) - return; - - NSString* message = msgIdx.data(Qt::DisplayRole).value<QString>().toNSString(); - NSString* author = msgIdx.data((int)Media::TextRecording::Role::AuthorDisplayname).value<QString>().toNSString(); - - NSMutableAttributedString* attr = [[NSMutableAttributedString alloc] initWithString: - [NSString stringWithFormat:@"%@: %@\n",author, message]]; - - // put in bold type author name - [attr applyFontTraits:NSBoldFontMask range: NSMakeRange(0, [author length])]; - - [[chatView textStorage] appendAttributedString:attr]; - - // reapply paragraph style on all the text - NSRange range = NSMakeRange(0,[chatView textStorage].length); - [[self.chatView textStorage] addAttribute:NSParagraphStyleAttributeName - value:chatView.defaultParagraphStyle - range:range]; - - [chatView scrollRangeToVisible:NSMakeRange([[chatView string] length], 0)]; - -} - -- (IBAction)sendMessage:(id)sender { - - QModelIndex callIdx = CallModel::instance()->selectionModel()->currentIndex(); - Call* call = CallModel::instance()->getCall(callIdx); - - /* make sure there is text to send */ - NSString* text = self.message; - if (text && text.length > 0) { - call->addOutgoingMedia<Media::Text>()->send(QString::fromNSString(text)); - // Empty the text after sending it - [self.messageField setStringValue:@""]; - self.message = @""; - } -} - -#pragma mark - NSTextFieldDelegate - -- (BOOL)control:(NSControl *)control textView:(NSTextView *)fieldEditor doCommandBySelector:(SEL)commandSelector -{ - if (commandSelector == @selector(insertNewline:) && self.message.length > 0) { - [self sendMessage:nil]; - return YES; - } - return NO; -} - -@end diff --git a/src/Constants.h b/src/Constants.h deleted file mode 100644 index a119562f..00000000 --- a/src/Constants.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import <Foundation/Foundation.h> - -/** - * Defines a set of preferences constants - * WARNING: If you modify a KVO compliant value, make sure to change the string associated - * in the relative xib file in IB. - */ -namespace Preferences { - /* KVO compliant */ - NSString * const HistoryLimit = @"history_limit"; - /* KVO compliant */ - NSString * const WindowBehaviour = @"window_behaviour"; - /* KVO compliant */ - NSString * const Notifications = @"enable_notifications"; - - NSString * const ShowAdvanced = @"show_advanced"; -} diff --git a/src/ConversationsVC.h b/src/ConversationsVC.h deleted file mode 100644 index af8843d8..00000000 --- a/src/ConversationsVC.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef CONVERSATIONSVC_H -#define CONVERSATIONSVC_H - -#import <Cocoa/Cocoa.h> -#import "QNSTreeController.h" - -@interface ConversationsVC : NSViewController <NSOutlineViewDelegate> { - -} - -@end - -#endif // CONVERSATIONSVC_H diff --git a/src/ConversationsVC.mm b/src/ConversationsVC.mm deleted file mode 100644 index 13aa12ff..00000000 --- a/src/ConversationsVC.mm +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "ConversationsVC.h" - -#import <callmodel.h> -#import <QtCore/qitemselectionmodel.h> - -#define COLUMNID_CONVERSATIONS @"ConversationsColumn" // the single column name in our outline view - -@interface ConversationsVC () - -@property QNSTreeController *treeController; -@property (assign) IBOutlet NSOutlineView *conversationsView; - -@end - -@implementation ConversationsVC -@synthesize conversationsView; -@synthesize treeController; -- (void)awakeFromNib -{ - NSLog(@"INIT Conversations VC"); - - treeController = [[QNSTreeController alloc] initWithQModel:CallModel::instance()]; - - [treeController setAvoidsEmptySelection:NO]; - [treeController setChildrenKeyPath:@"children"]; - - [self.conversationsView bind:@"content" toObject:treeController withKeyPath:@"arrangedObjects" options:nil]; - [self.conversationsView bind:@"sortDescriptors" toObject:treeController withKeyPath:@"sortDescriptors" options:nil]; - [self.conversationsView bind:@"selectionIndexPaths" toObject:treeController withKeyPath:@"selectionIndexPaths" options:nil]; - - NSInteger idx = [conversationsView columnWithIdentifier:COLUMNID_CONVERSATIONS]; - [[[[self.conversationsView tableColumns] objectAtIndex:idx] headerCell] setStringValue:@"Conversations"]; - - QObject::connect(CallModel::instance(), - &QAbstractItemModel::dataChanged, - [=](const QModelIndex &topLeft, const QModelIndex &bottomRight) { - [conversationsView reloadDataForRowIndexes: - [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(topLeft.row(), bottomRight.row() + 1)] - columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, conversationsView.tableColumns.count)]]; - }); -} - -#pragma mark - NSOutlineViewDelegate methods - -// ------------------------------------------------------------------------------- -// shouldSelectItem:item -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; -{ - return YES; -} - -// ------------------------------------------------------------------------------- -// dataCellForTableColumn:tableColumn:item -// ------------------------------------------------------------------------------- -- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - NSCell *returnCell = [tableColumn dataCell]; - if(item == nil) - return returnCell; - return returnCell; -} - -// ------------------------------------------------------------------------------- -// textShouldEndEditing:fieldEditor -// ------------------------------------------------------------------------------- -- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor -{ - if ([[fieldEditor string] length] == 0) - { - // don't allow empty node names - return NO; - } - else - { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// shouldEditTableColumn:tableColumn:item -// -// Decide to allow the edit of the given outline view "item". -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - return NO; -} - -// ------------------------------------------------------------------------------- -// outlineView:willDisplayCell:forTableColumn:item -// ------------------------------------------------------------------------------- -- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - if ([[tableColumn identifier] isEqualToString:COLUMNID_CONVERSATIONS]) - { - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(qIdx.isValid()) - cell.title = CallModel::instance()->data(qIdx, Qt::DisplayRole).toString().toNSString(); - } -} - -// ------------------------------------------------------------------------------- -// outlineViewSelectionDidChange:notification -// ------------------------------------------------------------------------------- -- (void)outlineViewSelectionDidChange:(NSNotification *)notification -{ - // ask the tree controller for the current selection - if([[treeController selectedNodes] count] > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - //Update details view by changing selection - CallModel::instance()->selectionModel()->setCurrentIndex(qIdx, QItemSelectionModel::ClearAndSelect); - } else { - CallModel::instance()->selectionModel()->clearCurrentIndex(); - } -} - - -@end diff --git a/src/CurrentCallVC.h b/src/CurrentCallVC.h deleted file mode 100644 index 7000c554..00000000 --- a/src/CurrentCallVC.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef CURRENTCALLVC_H -#define CURRENTCALLVC_H - -#import <Cocoa/Cocoa.h> - -#import "views/CallView.h" - -class Call; - -@interface CurrentCallVC : NSViewController <NSSplitViewDelegate, FullScreenDelegate> { - -} - -- (void) initFrame; - -@end - -#endif // CURRENTCALLVC_H \ No newline at end of file diff --git a/src/CurrentCallVC.mm b/src/CurrentCallVC.mm deleted file mode 100644 index 98be9aae..00000000 --- a/src/CurrentCallVC.mm +++ /dev/null @@ -1,562 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "CurrentCallVC.h" - -#import <QuartzCore/QuartzCore.h> - -#import <call.h> -#import <callmodel.h> -#import <useractionmodel.h> -#import <contactmethod.h> -#import <qabstractitemmodel.h> -#import <QItemSelectionModel> -#import <QItemSelection> -#import <video/previewmanager.h> -#import <video/renderer.h> -#import <media/text.h> - -#import "views/ITProgressIndicator.h" -#import "views/CallView.h" - -@interface RendererConnectionsHolder : NSObject - -@property QMetaObject::Connection frameUpdated; -@property QMetaObject::Connection started; -@property QMetaObject::Connection stopped; - -@end - -@implementation RendererConnectionsHolder - -@end - -@interface CurrentCallVC () - -@property (unsafe_unretained) IBOutlet NSTextField *personLabel; -@property (unsafe_unretained) IBOutlet NSTextField *stateLabel; -@property (unsafe_unretained) IBOutlet NSButton *holdOnOffButton; -@property (unsafe_unretained) IBOutlet NSButton *hangUpButton; -@property (unsafe_unretained) IBOutlet NSButton *recordOnOffButton; -@property (unsafe_unretained) IBOutlet NSButton *pickUpButton; -@property (unsafe_unretained) IBOutlet NSButton *muteAudioButton; -@property (unsafe_unretained) IBOutlet NSButton *muteVideoButton; - -@property (unsafe_unretained) IBOutlet ITProgressIndicator *loadingIndicator; - -@property (unsafe_unretained) IBOutlet NSTextField *timeSpentLabel; -@property (unsafe_unretained) IBOutlet NSView *controlsPanel; -@property (unsafe_unretained) IBOutlet NSSplitView *splitView; -@property (unsafe_unretained) IBOutlet NSButton *chatButton; - -@property QHash<int, NSButton*> actionHash; - -// Video -@property (unsafe_unretained) IBOutlet CallView *videoView; -@property CALayer* videoLayer; -@property (unsafe_unretained) IBOutlet NSView *previewView; -@property CALayer* previewLayer; - -@property RendererConnectionsHolder* previewHolder; -@property RendererConnectionsHolder* videoHolder; -@property QMetaObject::Connection videoStarted; - -@end - -@implementation CurrentCallVC -@synthesize personLabel, actionHash, stateLabel, holdOnOffButton, hangUpButton, - recordOnOffButton, pickUpButton, chatButton, timeSpentLabel, - muteVideoButton, muteAudioButton, controlsPanel, videoView, - videoLayer, previewLayer, previewView, splitView, loadingIndicator; - -@synthesize previewHolder; -@synthesize videoHolder; - -- (void) updateAllActions -{ - for(int i = 0 ; i <= CallModel::instance()->userActionModel()->rowCount() ; i++) { - [self updateActionAtIndex:i]; - } -} - -- (void) updateActionAtIndex:(int) row -{ - const QModelIndex& idx = CallModel::instance()->userActionModel()->index(row,0); - UserActionModel::Action action = qvariant_cast<UserActionModel::Action>(idx.data(UserActionModel::Role::ACTION)); - NSButton* a = actionHash[(int) action]; - if (a != nil) { - [a setEnabled:(idx.flags() & Qt::ItemIsEnabled)]; - [a setState:(idx.data(Qt::CheckStateRole) == Qt::Checked) ? NSOnState : NSOffState]; - - if(action == UserActionModel::Action::HOLD) { - NSString* imgName = (a.state == NSOnState ? @"ic_action_holdoff" : @"ic_action_hold"); - [a setImage:[NSImage imageNamed:imgName]]; - - } - if(action == UserActionModel::Action::RECORD) { - [a setTitle:(a.state == NSOnState ? @"Record off" : @"Record")]; - } - } -} - --(void) updateCall -{ - QModelIndex callIdx = CallModel::instance()->selectionModel()->currentIndex(); - [personLabel setStringValue:callIdx.data(Qt::DisplayRole).toString().toNSString()]; - [timeSpentLabel setStringValue:callIdx.data((int)Call::Role::Length).toString().toNSString()]; - - Call::State state = callIdx.data((int)Call::Role::State).value<Call::State>(); - [loadingIndicator setHidden:YES]; - [stateLabel setStringValue:callIdx.data((int)Call::Role::HumanStateName).toString().toNSString()]; - switch (state) { - case Call::State::DIALING: - [loadingIndicator setHidden:NO]; - break; - case Call::State::NEW: - break; - case Call::State::INITIALIZATION: - [videoView setShouldAcceptInteractions:NO]; - [loadingIndicator setHidden:NO]; - break; - case Call::State::CONNECTED: - [videoView setShouldAcceptInteractions:NO]; - [loadingIndicator setHidden:NO]; - break; - case Call::State::RINGING: - [videoView setShouldAcceptInteractions:NO]; - break; - case Call::State::CURRENT: - [videoView setShouldAcceptInteractions:YES]; - break; - case Call::State::HOLD: - [videoView setShouldAcceptInteractions:NO]; - break; - case Call::State::BUSY: - [videoView setShouldAcceptInteractions:NO]; - break; - case Call::State::OVER: - [videoView setShouldAcceptInteractions:NO]; - if(videoView.isInFullScreenMode) - [videoView exitFullScreenModeWithOptions:nil]; - break; - case Call::State::FAILURE: - [videoView setShouldAcceptInteractions:NO]; - break; - } - -} - -- (void)awakeFromNib -{ - NSLog(@"INIT CurrentCall VC"); - [self.view setWantsLayer:YES]; - [self.view setLayer:[CALayer layer]]; - - [controlsPanel setWantsLayer:YES]; - [controlsPanel setLayer:[CALayer layer]]; - [controlsPanel.layer setZPosition:2.0]; - [controlsPanel.layer setBackgroundColor:[NSColor whiteColor].CGColor]; - - actionHash[ (int)UserActionModel::Action::ACCEPT] = pickUpButton; - actionHash[ (int)UserActionModel::Action::HOLD ] = holdOnOffButton; - actionHash[ (int)UserActionModel::Action::RECORD] = recordOnOffButton; - actionHash[ (int)UserActionModel::Action::HANGUP] = hangUpButton; - actionHash[ (int)UserActionModel::Action::MUTE_AUDIO] = muteAudioButton; - actionHash[ (int)UserActionModel::Action::MUTE_VIDEO] = muteVideoButton; - - videoLayer = [CALayer layer]; - [videoView setWantsLayer:YES]; - [videoView setLayer:videoLayer]; - [videoView.layer setBackgroundColor:[NSColor blackColor].CGColor]; - [videoView.layer setFrame:videoView.frame]; - [videoView.layer setContentsGravity:kCAGravityResizeAspect]; - - previewLayer = [CALayer layer]; - [previewView setWantsLayer:YES]; - [previewView setLayer:previewLayer]; - [previewLayer setBackgroundColor:[NSColor blackColor].CGColor]; - [previewLayer setContentsGravity:kCAGravityResizeAspectFill]; - [previewLayer setFrame:previewView.frame]; - - [controlsPanel setWantsLayer:YES]; - [controlsPanel setLayer:[CALayer layer]]; - [controlsPanel.layer setBackgroundColor:[NSColor clearColor].CGColor]; - [controlsPanel.layer setFrame:controlsPanel.frame]; - - previewHolder = [[RendererConnectionsHolder alloc] init]; - videoHolder = [[RendererConnectionsHolder alloc] init]; - - [loadingIndicator setColor:[NSColor whiteColor]]; - [loadingIndicator setNumberOfLines:100]; - [loadingIndicator setWidthOfLine:2]; - [loadingIndicator setLengthOfLine:2]; - [loadingIndicator setInnerMargin:30]; - - [self.videoView setFullScreenDelegate:self]; - - [self connect]; -} - -- (void) connect -{ - QObject::connect(CallModel::instance()->selectionModel(), - &QItemSelectionModel::currentChanged, - [=](const QModelIndex ¤t, const QModelIndex &previous) { - if(!current.isValid()) { - [self animateOut]; - return; - } - [self collapseRightView]; - [self updateCall]; - [self updateAllActions]; - [self animateOut]; - }); - - QObject::connect(CallModel::instance(), - &QAbstractItemModel::dataChanged, - [=](const QModelIndex &topLeft, const QModelIndex &bottomRight) { - [self updateCall]; - }); - - QObject::connect(CallModel::instance()->userActionModel(), - &QAbstractItemModel::dataChanged, - [=](const QModelIndex &topLeft, const QModelIndex &bottomRight) { - const int first(topLeft.row()),last(bottomRight.row()); - for(int i = first; i <= last;i++) { - [self updateActionAtIndex:i]; - } - }); - - QObject::connect(CallModel::instance(), - &CallModel::callStateChanged, - [self](Call* c, Call::State state) { - [self updateCall]; - }); -} - --(void) connectVideoSignals -{ - QModelIndex idx = CallModel::instance()->selectionModel()->currentIndex(); - Call* call = CallModel::instance()->getCall(idx); - self.videoStarted = QObject::connect(call, - &Call::videoStarted, - [=](Video::Renderer* renderer) { - NSLog(@"Video started!"); - [self connectVideoRenderer:renderer]; - }); - - if(call->videoRenderer()) - { - [self connectVideoRenderer:call->videoRenderer()]; - } - - [self connectPreviewRenderer]; - -} - --(void) connectPreviewRenderer -{ - QObject::disconnect(previewHolder.frameUpdated); - QObject::disconnect(previewHolder.stopped); - QObject::disconnect(previewHolder.started); - previewHolder.started = QObject::connect(Video::PreviewManager::instance(), - &Video::PreviewManager::previewStarted, - [=](Video::Renderer* renderer) { - QObject::disconnect(previewHolder.frameUpdated); - previewHolder.frameUpdated = QObject::connect(renderer, - &Video::Renderer::frameUpdated, - [=]() { - [self renderer:Video::PreviewManager::instance()->previewRenderer() - renderFrameForView:previewView]; - }); - }); - - previewHolder.stopped = QObject::connect(Video::PreviewManager::instance(), - &Video::PreviewManager::previewStopped, - [=](Video::Renderer* renderer) { - QObject::disconnect(previewHolder.frameUpdated); - [previewView.layer setContents:nil]; - }); - - previewHolder.frameUpdated = QObject::connect(Video::PreviewManager::instance()->previewRenderer(), - &Video::Renderer::frameUpdated, - [=]() { - [self renderer:Video::PreviewManager::instance()->previewRenderer() - renderFrameForView:previewView]; - }); -} - --(void) connectVideoRenderer: (Video::Renderer*)renderer -{ - QObject::disconnect(videoHolder.frameUpdated); - QObject::disconnect(videoHolder.started); - QObject::disconnect(videoHolder.stopped); - videoHolder.frameUpdated = QObject::connect(renderer, - &Video::Renderer::frameUpdated, - [=]() { - [self renderer:renderer renderFrameForView:videoView]; - }); - - videoHolder.started = QObject::connect(renderer, - &Video::Renderer::started, - [=]() { - QObject::disconnect(videoHolder.frameUpdated); - videoHolder.frameUpdated = QObject::connect(renderer, - &Video::Renderer::frameUpdated, - [=]() { - [self renderer:renderer renderFrameForView:videoView]; - }); - }); - - videoHolder.stopped = QObject::connect(renderer, - &Video::Renderer::stopped, - [=]() { - QObject::disconnect(videoHolder.frameUpdated); - [videoView.layer setContents:nil]; - }); -} - --(void) renderer: (Video::Renderer*)renderer renderFrameForView:(NSView*) view -{ - const QByteArray& data = renderer->currentFrame(); - QSize res = renderer->size(); - - auto buf = reinterpret_cast<const unsigned char*>(data.data()); - - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGContextRef newContext = CGBitmapContextCreate((void *)buf, - res.width(), - res.height(), - 8, - 4*res.width(), - colorSpace, - kCGImageAlphaPremultipliedLast); - - - CGImageRef newImage = CGBitmapContextCreateImage(newContext); - - /*We release some components*/ - CGContextRelease(newContext); - CGColorSpaceRelease(colorSpace); - - [CATransaction begin]; - view.layer.contents = (__bridge id)newImage; - [CATransaction commit]; - - CFRelease(newImage); -} - -- (void) initFrame -{ - [self.view setFrame:self.view.superview.bounds]; - [self.view setHidden:YES]; - self.view.layer.position = self.view.frame.origin; -} - -# pragma private IN/OUT animations - --(void) animateIn -{ - NSLog(@"animateIn"); - CGRect frame = CGRectOffset(self.view.superview.bounds, -self.view.superview.bounds.size.width, 0); - [self.view setHidden:NO]; - - [CATransaction begin]; - CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"]; - [animation setFromValue:[NSValue valueWithPoint:frame.origin]]; - [animation setToValue:[NSValue valueWithPoint:self.view.superview.bounds.origin]]; - [animation setDuration:0.2f]; - [animation setTimingFunction:[CAMediaTimingFunction functionWithControlPoints:.7 :0.9 :1 :1]]; - [CATransaction setCompletionBlock:^{ - [self connectVideoSignals]; - }]; - [self.view.layer addAnimation:animation forKey:animation.keyPath]; - - [CATransaction commit]; -} - --(void) cleanUp -{ - QObject::disconnect(videoHolder.frameUpdated); - QObject::disconnect(videoHolder.started); - QObject::disconnect(videoHolder.stopped); - QObject::disconnect(previewHolder.frameUpdated); - QObject::disconnect(previewHolder.stopped); - QObject::disconnect(previewHolder.started); - [videoView.layer setContents:nil]; - [previewView.layer setContents:nil]; -} - --(void) animateOut -{ - NSLog(@"animateOut"); - if(self.view.frame.origin.x < 0) { - NSLog(@"Already hidden"); - if (CallModel::instance()->selectionModel()->currentIndex().isValid()) { - [self animateIn]; - } - return; - } - - CGRect frame = CGRectOffset(self.view.frame, -self.view.frame.size.width, 0); - [CATransaction begin]; - CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"]; - [animation setFromValue:[NSValue valueWithPoint:self.view.frame.origin]]; - [animation setToValue:[NSValue valueWithPoint:frame.origin]]; - [animation setDuration:0.2f]; - [animation setTimingFunction:[CAMediaTimingFunction functionWithControlPoints:.7 :0.9 :1 :1]]; - - [CATransaction setCompletionBlock:^{ - [self.view setHidden:YES]; - // first make sure everything is disconnected - [self cleanUp]; - if (CallModel::instance()->selectionModel()->currentIndex().isValid()) { - [self animateIn]; - } - }]; - [self.view.layer addAnimation:animation forKey:animation.keyPath]; - - [self.view.layer setPosition:frame.origin]; - [CATransaction commit]; -} - -/** - * Debug purpose - */ --(void) dumpFrame:(CGRect) frame WithName:(NSString*) name -{ - NSLog(@"frame %@ : %f %f %f %f \n\n",name ,frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); -} - --(void)collapseRightView -{ - NSView *right = [[splitView subviews] objectAtIndex:1]; - NSView *left = [[splitView subviews] objectAtIndex:0]; - NSRect leftFrame = [left frame]; - [right setHidden:YES]; - [splitView display]; -} - --(void)uncollapseRightView -{ - NSView *left = [[splitView subviews] objectAtIndex:0]; - NSView *right = [[splitView subviews] objectAtIndex:1]; - [right setHidden:NO]; - - CGFloat dividerThickness = [splitView dividerThickness]; - - // get the different frames - NSRect leftFrame = [left frame]; - NSRect rightFrame = [right frame]; - - leftFrame.size.width = (leftFrame.size.width - rightFrame.size.width - dividerThickness); - rightFrame.origin.x = leftFrame.size.width + dividerThickness; - [left setFrameSize:leftFrame.size]; - [right setFrame:rightFrame]; - [splitView display]; -} - - -#pragma mark - Button methods - -- (IBAction)hangUp:(id)sender { - CallModel::instance()->getCall(CallModel::instance()->selectionModel()->currentIndex()) << Call::Action::REFUSE; -} - -- (IBAction)accept:(id)sender { - CallModel::instance()->getCall(CallModel::instance()->selectionModel()->currentIndex()) << Call::Action::ACCEPT; -} - -- (IBAction)toggleRecording:(id)sender { - CallModel::instance()->getCall(CallModel::instance()->selectionModel()->currentIndex()) << Call::Action::RECORD_AUDIO; -} - -- (IBAction)toggleHold:(id)sender { - CallModel::instance()->getCall(CallModel::instance()->selectionModel()->currentIndex()) << Call::Action::HOLD; -} - --(IBAction)toggleChat:(id)sender; -{ - BOOL rightViewCollapsed = [[self splitView] isSubviewCollapsed:[[[self splitView] subviews] objectAtIndex: 1]]; - if (rightViewCollapsed) { - [self uncollapseRightView]; - CallModel::instance()->getCall(CallModel::instance()->selectionModel()->currentIndex())->addOutgoingMedia<Media::Text>(); - } else { - [self collapseRightView]; - } - [chatButton setState:rightViewCollapsed]; -} - -- (IBAction)muteAudio:(id)sender -{ - UserActionModel* uam = CallModel::instance()->userActionModel(); - uam << UserActionModel::Action::MUTE_AUDIO; -} - -- (IBAction)muteVideo:(id)sender -{ - UserActionModel* uam = CallModel::instance()->userActionModel(); - uam << UserActionModel::Action::MUTE_VIDEO; -} - -#pragma mark - NSSplitViewDelegate - -/* Return YES if the subview should be collapsed because the user has double-clicked on an adjacent divider. If a split view has a delegate, and the delegate responds to this message, it will be sent once for the subview before a divider when the user double-clicks on that divider, and again for the subview after the divider, but only if the delegate returned YES when sent -splitView:canCollapseSubview: for the subview in question. When the delegate indicates that both subviews should be collapsed NSSplitView's behavior is undefined. - */ -- (BOOL)splitView:(NSSplitView *)splitView shouldCollapseSubview:(NSView *)subview forDoubleClickOnDividerAtIndex:(NSInteger)dividerIndex; -{ - NSView* rightView = [[splitView subviews] objectAtIndex:1]; - return ([subview isEqual:rightView]); -} - - -- (BOOL)splitView:(NSSplitView *)splitView canCollapseSubview:(NSView *)subview; -{ - NSView* rightView = [[splitView subviews] objectAtIndex:1]; - return ([subview isEqual:rightView]); -} - - -# pragma mark - FullScreenDelegate - -- (void) callShouldToggleFullScreen -{ - if(self.splitView.isInFullScreenMode) - [self.splitView exitFullScreenModeWithOptions:nil]; - else { - NSApplicationPresentationOptions options = NSApplicationPresentationDefault +NSApplicationPresentationAutoHideDock + - NSApplicationPresentationAutoHideMenuBar + NSApplicationPresentationAutoHideToolbar; - NSDictionary *opts = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:options], - NSFullScreenModeApplicationPresentationOptions, nil]; - - [self.splitView enterFullScreenMode:[NSScreen mainScreen] withOptions:opts]; - } -} - -@end diff --git a/src/GeneralPrefsVC.h b/src/GeneralPrefsVC.h deleted file mode 100644 index cffd689d..00000000 --- a/src/GeneralPrefsVC.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef GENERALPREFSVC_H -#define GENERALPREFSVC_H - -#import <Cocoa/Cocoa.h> - -@interface GeneralPrefsVC : NSViewController - -@end - -#endif // GENERALPREFSVC_H \ No newline at end of file diff --git a/src/GeneralPrefsVC.mm b/src/GeneralPrefsVC.mm deleted file mode 100644 index a9f88e6b..00000000 --- a/src/GeneralPrefsVC.mm +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "GeneralPrefsVC.h" - -#import <categorizedhistorymodel.h> - -#if ENABLE_SPARKLE -#import <Sparkle/Sparkle.h> -#endif - -#import "Constants.h" - -@interface GeneralPrefsVC () -@property (unsafe_unretained) IBOutlet NSTextField *historyChangedLabel; -@property (unsafe_unretained) IBOutlet NSView *advancedGeneralSettings; -@property (unsafe_unretained) IBOutlet NSButton *startUpButton; -@property (unsafe_unretained) IBOutlet NSButton *toggleAutomaticUpdateCheck; -@property (unsafe_unretained) IBOutlet NSPopUpButton *checkIntervalPopUp; -@property (unsafe_unretained) IBOutlet NSView *sparkleContainer; - -@end - -@implementation GeneralPrefsVC -@synthesize historyChangedLabel; -@synthesize advancedGeneralSettings; -@synthesize startUpButton; -@synthesize toggleAutomaticUpdateCheck; -@synthesize checkIntervalPopUp; -@synthesize sparkleContainer; - -- (void)loadView -{ - [super loadView]; - [[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:Preferences::HistoryLimit options:NSKeyValueObservingOptionNew context:NULL]; - [[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:Preferences::ShowAdvanced options:NSKeyValueObservingOptionNew context:NULL]; - - [startUpButton setState:[self isLaunchAtStartup]]; - -#if ENABLE_SPARKLE - [sparkleContainer setHidden:NO]; - SUUpdater *updater = [SUUpdater sharedUpdater]; - [toggleAutomaticUpdateCheck bind:@"value" toObject:updater withKeyPath:@"automaticallyChecksForUpdates" options:nil]; - - [checkIntervalPopUp bind:@"enabled" toObject:updater withKeyPath:@"automaticallyChecksForUpdates" options:nil]; - [checkIntervalPopUp bind:@"selectedTag" toObject:updater withKeyPath:@"updateCheckInterval" options:nil]; -#else - [sparkleContainer setHidden:YES]; -#endif - - //[advancedGeneralSettings setHidden:![[NSUserDefaults standardUserDefaults] boolForKey:Preferences::ShowAdvanced]]; -} - -- (void) dealloc -{ - [[NSUserDefaults standardUserDefaults] removeObserver:self forKeyPath:Preferences::HistoryLimit]; - [[NSUserDefaults standardUserDefaults] removeObserver:self forKeyPath:Preferences::ShowAdvanced]; -} - -- (IBAction)clearHistory:(id)sender { - CategorizedHistoryModel::instance()->clearAllCollections(); - [historyChangedLabel setHidden:NO]; -} - -// KVO handler --(void)observeValueForKeyPath:(NSString *)aKeyPath ofObject:(id)anObject - change:(NSDictionary *)aChange context:(void *)aContext -{ - if (aKeyPath == Preferences::HistoryLimit) { - [historyChangedLabel setHidden:NO]; - } else if (aKeyPath == Preferences::ShowAdvanced) { - //[advancedGeneralSettings setHidden:[[aChange objectForKey: NSKeyValueChangeNewKey] boolValue]]; - } -} - -#pragma mark - Startup API - -// MIT license by Brian Dunagan -- (BOOL)isLaunchAtStartup { - // See if the app is currently in LoginItems. - LSSharedFileListItemRef itemRef = [self itemRefInLoginItems]; - // Store away that boolean. - BOOL isInList = itemRef != nil; - // Release the reference if it exists. - if (itemRef != nil) CFRelease(itemRef); - - return isInList; -} - -- (IBAction)toggleLaunchAtStartup:(id)sender { - // Toggle the state. - BOOL shouldBeToggled = ![self isLaunchAtStartup]; - // Get the LoginItems list. - LSSharedFileListRef loginItemsRef = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); - if (loginItemsRef == nil) return; - if (shouldBeToggled) { - // Add the app to the LoginItems list. - CFURLRef appUrl = (__bridge CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; - LSSharedFileListItemRef itemRef = LSSharedFileListInsertItemURL(loginItemsRef, kLSSharedFileListItemLast, NULL, NULL, appUrl, NULL, NULL); - if (itemRef) CFRelease(itemRef); - } - else { - // Remove the app from the LoginItems list. - LSSharedFileListItemRef itemRef = [self itemRefInLoginItems]; - LSSharedFileListItemRemove(loginItemsRef,itemRef); - if (itemRef != nil) CFRelease(itemRef); - } - CFRelease(loginItemsRef); -} - -- (LSSharedFileListItemRef)itemRefInLoginItems { - LSSharedFileListItemRef itemRef = nil; - CFURLRef itemUrl = nil; - - // Get the app's URL. - auto appUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; - // Get the LoginItems list. - LSSharedFileListRef loginItemsRef = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); - if (loginItemsRef == nil) return nil; - // Iterate over the LoginItems. - NSArray *loginItems = (__bridge_transfer NSArray *)LSSharedFileListCopySnapshot(loginItemsRef, nil); - for (int currentIndex = 0; currentIndex < [loginItems count]; currentIndex++) { - // Get the current LoginItem and resolve its URL. - LSSharedFileListItemRef currentItemRef = (__bridge LSSharedFileListItemRef)[loginItems objectAtIndex:currentIndex]; - if (LSSharedFileListItemResolve(currentItemRef, 0, &itemUrl, NULL) == noErr) { - // Compare the URLs for the current LoginItem and the app. - if ([(__bridge NSURL *)itemUrl isEqual:appUrl]) { - // Save the LoginItem reference. - itemRef = currentItemRef; - } - } - } - // Retain the LoginItem reference. - if (itemRef != nil) CFRetain(itemRef); - // Release the LoginItems lists. - CFRelease(loginItemsRef); - - return itemRef; -} - -@end diff --git a/src/HistoryVC.h b/src/HistoryVC.h deleted file mode 100644 index fe6b7b48..00000000 --- a/src/HistoryVC.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef HISTORYVIEWCONTROLLER_H -#define HISTORYVIEWCONTROLLER_H - -#import <Cocoa/Cocoa.h> - -@interface HistoryVC : NSViewController <NSOutlineViewDelegate> { - -} - -@end - -#endif // HISTORYVIEWCONTROLLER_H diff --git a/src/HistoryVC.mm b/src/HistoryVC.mm deleted file mode 100644 index acb41c4c..00000000 --- a/src/HistoryVC.mm +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "HistoryVC.h" - -#import <categorizedhistorymodel.h> -#import <QSortFilterProxyModel> -#import <callmodel.h> -#import <call.h> -#import <contactmethod.h> -#import <localhistorycollection.h> - -#import "QNSTreeController.h" - -#define COLUMNID_DAY @"DayColumn" // the single column name in our outline view -#define COLUMNID_CONTACTMETHOD @"ContactMethodColumn" // the single column name in our outline view -#define COLUMNID_DATE @"DateColumn" // the single column name in our outline view - -@interface HistoryVC() - -@property QNSTreeController *treeController; -@property (assign) IBOutlet NSOutlineView *historyView; -@property QSortFilterProxyModel *historyProxyModel; -@end - -@implementation HistoryVC -@synthesize treeController; -@synthesize historyView; -@synthesize historyProxyModel; - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - if (self = [super initWithCoder:aDecoder]) { - NSLog(@"INIT HVC"); - - } - return self; -} - -- (void)awakeFromNib -{ - historyProxyModel = new QSortFilterProxyModel(CategorizedHistoryModel::instance()); - historyProxyModel->setSourceModel(CategorizedHistoryModel::instance()); - historyProxyModel->setSortRole(static_cast<int>(Call::Role::Date)); - historyProxyModel->sort(0,Qt::DescendingOrder); - treeController = [[QNSTreeController alloc] initWithQModel:historyProxyModel]; - - [treeController setAvoidsEmptySelection:NO]; - [treeController setChildrenKeyPath:@"children"]; - - [historyView bind:@"content" toObject:treeController withKeyPath:@"arrangedObjects" options:nil]; - [historyView bind:@"sortDescriptors" toObject:treeController withKeyPath:@"sortDescriptors" options:nil]; - [historyView bind:@"selectionIndexPaths" toObject:treeController withKeyPath:@"selectionIndexPaths" options:nil]; - [historyView setTarget:self]; - [historyView setDoubleAction:@selector(placeHistoryCall:)]; - - CategorizedHistoryModel::instance()->addCollection<LocalHistoryCollection>(LoadOptions::FORCE_ENABLED); -} - -- (void)placeHistoryCall:(id)sender -{ - if([[treeController selectedNodes] count] > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - QVariant var = historyProxyModel->data(qIdx, (int)Call::Role::ContactMethod); - ContactMethod* m = qvariant_cast<ContactMethod*>(var); - if(m){ - Call* c = CallModel::instance()->dialingCall(); - c->setDialNumber(m); - c << Call::Action::ACCEPT; - } - } -} - -#pragma mark - NSOutlineViewDelegate methods - -// ------------------------------------------------------------------------------- -// shouldSelectItem:item -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; -{ - return YES; -} - -// ------------------------------------------------------------------------------- -// dataCellForTableColumn:tableColumn:item -// ------------------------------------------------------------------------------- -- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - NSCell *returnCell = [tableColumn dataCell]; - if(item == nil) - return returnCell; - return returnCell; -} - -// ------------------------------------------------------------------------------- -// textShouldEndEditing:fieldEditor -// ------------------------------------------------------------------------------- -- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor -{ - if ([[fieldEditor string] length] == 0) - { - // don't allow empty node names - return NO; - } - else - { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// shouldEditTableColumn:tableColumn:item -// -// Decide to allow the edit of the given outline view "item". -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - return NO; -} - -// ------------------------------------------------------------------------------- -// outlineView:willDisplayCell:forTableColumn:item -// ------------------------------------------------------------------------------- -- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return; - - if ([[tableColumn identifier] isEqualToString:COLUMNID_DAY]) - { - cell.title = historyProxyModel->data(qIdx, Qt::DisplayRole).toString().toNSString(); - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_CONTACTMETHOD]) - { - cell.title = historyProxyModel->data(qIdx, (int)Call::Role::Number).toString().toNSString(); - } else if ([[tableColumn identifier] isEqualToString:COLUMNID_DATE]) - { - cell.title = historyProxyModel->data(qIdx, (int)Call::Role::FormattedDate).toString().toNSString(); - } -} - -// ------------------------------------------------------------------------------- -// outlineViewSelectionDidChange:notification -// ------------------------------------------------------------------------------- -- (void)outlineViewSelectionDidChange:(NSNotification *)notification -{ - // ask the tree controller for the current selection - //NSLog(@"outlineViewSelectionDidChange!!"); -} - -@end diff --git a/src/PersonsVC.h b/src/PersonsVC.h deleted file mode 100644 index 9d735717..00000000 --- a/src/PersonsVC.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import <Cocoa/Cocoa.h> - -@interface PersonsVC : NSViewController <NSOutlineViewDelegate> - -@end diff --git a/src/PersonsVC.mm b/src/PersonsVC.mm deleted file mode 100644 index f1d1c26f..00000000 --- a/src/PersonsVC.mm +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import "PersonsVC.h" - -#import <personmodel.h> -#import <callmodel.h> -#import <categorizedcontactmodel.h> -#import <QSortFilterProxyModel> -#import <person.h> -#import <contactmethod.h> -#import <QtMacExtras/qmacfunctions.h> -#import <QPixmap> - -#import "backends/AddressBookBackend.h" -#import "QNSTreeController.h" -#import "delegates/ImageManipulationDelegate.h" -#import "views/PersonCell.h" - -#define COLUMNID_NAME @"NameColumn" - -class ReachablePersonModel : public QSortFilterProxyModel -{ -public: - ReachablePersonModel(QAbstractItemModel* parent) : QSortFilterProxyModel(parent) - { - setSourceModel(parent); - } - virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const - { - return sourceModel()->index(source_row,0,source_parent).flags() & Qt::ItemIsEnabled; - } -}; - - -@interface PersonsVC () - -@property QNSTreeController *treeController; -@property (assign) IBOutlet NSOutlineView *personsView; -@property QSortFilterProxyModel *contactProxyModel; - -@end - -@implementation PersonsVC -@synthesize treeController; -@synthesize personsView; -@synthesize contactProxyModel; - --(void) awakeFromNib -{ - new ImageManipulationDelegate(); - NSLog(@"INIT PersonsVC"); - contactProxyModel = new ReachablePersonModel(CategorizedContactModel::instance()); - contactProxyModel->setSortRole(static_cast<int>(Qt::DisplayRole)); - contactProxyModel->sort(0,Qt::AscendingOrder); - treeController = [[QNSTreeController alloc] initWithQModel:contactProxyModel]; - - [treeController setAvoidsEmptySelection:NO]; - [treeController setChildrenKeyPath:@"children"]; - - [personsView bind:@"content" toObject:treeController withKeyPath:@"arrangedObjects" options:nil]; - [personsView bind:@"sortDescriptors" toObject:treeController withKeyPath:@"sortDescriptors" options:nil]; - [personsView bind:@"selectionIndexPaths" toObject:treeController withKeyPath:@"selectionIndexPaths" options:nil]; - [personsView setTarget:self]; - [personsView setDoubleAction:@selector(callContact:)]; - - CategorizedContactModel::instance()->setUnreachableHidden(YES); - PersonModel::instance()->addCollection<AddressBookBackend>(LoadOptions::FORCE_ENABLED); - -} - -- (IBAction)callContact:(id)sender -{ - if([[treeController selectedNodes] count] > 0) { - QModelIndex qIdx = [treeController toQIdx:[treeController selectedNodes][0]]; - ContactMethod* m = nil; - if(((NSTreeNode*)[treeController selectedNodes][0]).indexPath.length == 2) { - // Person - QVariant var = qIdx.data((int)Person::Role::Object); - if (var.isValid()) { - Person *c = var.value<Person*>(); - if (c->phoneNumbers().size() == 1) { - m = c->phoneNumbers().first(); - } - } - } else if (((NSTreeNode*)[treeController selectedNodes][0]).indexPath.length == 3) { - //ContactMethod - QVariant var = qIdx.data(static_cast<int>(ContactMethod::Role::Object)); - if (var.isValid()) { - m = var.value<ContactMethod *>(); - } - } - - if(m){ - Call* c = CallModel::instance()->dialingCall(); - c->setDialNumber(m); - c << Call::Action::ACCEPT; - } - } -} - -#pragma mark - NSOutlineViewDelegate methods - -// ------------------------------------------------------------------------------- -// shouldSelectItem:item -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item; -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return NO; - - if(!qIdx.parent().isValid()) { - return NO; - } else { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// dataCellForTableColumn:tableColumn:item -// ------------------------------------------------------------------------------- -- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - PersonCell *returnCell = [tableColumn dataCell]; - if(!qIdx.isValid()) - return returnCell; - - if(!qIdx.parent().isValid()) { - [returnCell setDrawsBackground:YES]; - [returnCell setBackgroundColor:[NSColor selectedControlColor]]; - } else { - [returnCell setDrawsBackground:NO]; - } - - return returnCell; -} - -// ------------------------------------------------------------------------------- -// textShouldEndEditing:fieldEditor -// ------------------------------------------------------------------------------- -- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor -{ - if ([[fieldEditor string] length] == 0) - { - // don't allow empty node names - return NO; - } - else - { - return YES; - } -} - -// ------------------------------------------------------------------------------- -// shouldEditTableColumn:tableColumn:item -// -// Decide to allow the edit of the given outline view "item". -// ------------------------------------------------------------------------------- -- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - return NO; -} - -// ------------------------------------------------------------------------------- -// outlineView:willDisplayCell:forTableColumn:item -// ------------------------------------------------------------------------------- -- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return; - - if ([[tableColumn identifier] isEqualToString:COLUMNID_NAME]) - { - PersonCell *pCell = (PersonCell *)cell; - [pCell setPersonImage:nil]; - if(!qIdx.parent().isValid()) { - pCell.title = qIdx.data(Qt::DisplayRole).toString().toNSString(); - } else { - pCell.title = qIdx.data(Qt::DisplayRole).toString().toNSString(); - if(((NSTreeNode*)item).indexPath.length == 2) { - Person* p = qvariant_cast<Person*>(qIdx.data((int)Person::Role::Object)); - QVariant photo = ImageManipulationDelegate::instance()->contactPhoto(p, QSize(35,35)); - [pCell setPersonImage:QtMac::toNSImage(qvariant_cast<QPixmap>(photo))]; - } - } - } -} - -// ------------------------------------------------------------------------------- -// outlineViewSelectionDidChange:notification -// ------------------------------------------------------------------------------- -- (void)outlineViewSelectionDidChange:(NSNotification *)notification -{ - -} - -- (CGFloat)outlineView:(NSOutlineView *)outlineView heightOfRowByItem:(id)item -{ - QModelIndex qIdx = [treeController toQIdx:((NSTreeNode*)item)]; - if(!qIdx.isValid()) - return 0.0f; - - if(!qIdx.parent().isValid()) { - return 20.0; - } else { - return 45.0; - } -} - - -@end diff --git a/src/PreferencesVC.h b/src/PreferencesVC.h deleted file mode 100644 index 4b2ecf91..00000000 --- a/src/PreferencesVC.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef PREFERENCESVIEWCONTROLLER_H -#define PREFERENCESVIEWCONTROLLER_H - -#import <Cocoa/Cocoa.h> - -@interface PreferencesVC : NSViewController <NSToolbarDelegate> - -@property (nonatomic, strong) NSViewController *currentVC; -@property (nonatomic, strong) NSViewController *accountsPrefsVC; -@property (nonatomic, strong) NSViewController *generalPrefsVC; -@property (nonatomic, strong) NSViewController *audioPrefsVC; -@property (nonatomic, strong) NSViewController *videoPrefsVC; - -- (void) close; -- (void)displayGeneral:(NSToolbarItem *)sender; -- (void)displayAudio:(NSToolbarItem *)sender; -- (void)displayAncrage:(NSToolbarItem *)sender; -- (void)displayVideo:(NSToolbarItem *)sender; -- (void)displayAccounts:(NSToolbarItem *)sender; - -@end - -#endif // PREFERENCESVIEWCONTROLLER_H \ No newline at end of file diff --git a/src/PreferencesVC.mm b/src/PreferencesVC.mm deleted file mode 100644 index 9edb1a6e..00000000 --- a/src/PreferencesVC.mm +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "PreferencesVC.h" - -#import <QuartzCore/QuartzCore.h> - -#import <accountmodel.h> -#import <audio/codecmodel.h> - -#import "AccountsVC.h" -#import "GeneralPrefsVC.h" -#import "AudioPrefsVC.h" -#import "VideoPrefsVC.h" -#import "Constants.h" - -@interface PreferencesVC () - -@property NSButton* toggleAdvancedSettings; - -@end - -@implementation PreferencesVC -@synthesize toggleAdvancedSettings; - -static NSString* const kProfilePrefsIdentifier = @"ProfilesPrefsIdentifier"; -static NSString* const kGeneralPrefsIdentifier = @"GeneralPrefsIdentifier"; -static NSString* const kAudioPrefsIdentifer = @"AudioPrefsIdentifer"; -static NSString* const kAncragePrefsIdentifer = @"AncragePrefsIdentifer"; -static NSString* const kVideoPrefsIdentifer = @"VideoPrefsIdentifer"; -static NSString* const kDonePrefsIdentifer = @"DonePrefsIdentifer"; -static NSString* const kPowerSettingsIdentifer = @"PowerSettingsIdentifer"; - --(void)loadView -{ - [super loadView]; - - [self displayGeneral:nil]; - - [self.view setWantsLayer:YES]; - self.view.layer.backgroundColor = [NSColor windowBackgroundColor].CGColor; - - // Set the layer redraw policy. This would be better done in - // the initialization method of a NSView subclass instead of here. - self.view.layerContentsRedrawPolicy = NSViewLayerContentsRedrawOnSetNeedsDisplay; - - [self.view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; - - CGRect frame = CGRectOffset(self.view.frame, 0, -self.view.frame.size.height); - - [CATransaction begin]; - CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.y"]; - animation.fromValue = @(frame.origin.y); - animation.toValue = @(self.view.frame.origin.y); - animation.duration = 0.3f; - - [animation setTimingFunction:[CAMediaTimingFunction functionWithControlPoints:.7 :0.9 :1 :1]]; - [self.view.layer addAnimation:animation forKey:animation.keyPath]; - [CATransaction commit]; -} - -- (void) close -{ - // first save codecs for each account - for (int i = 0 ; i < AccountModel::instance()->rowCount(); ++i) { - QModelIndex qIdx = AccountModel::instance()->index(i); - AccountModel::instance()->getAccountByModelIndex(qIdx)->codecModel()->save(); - } - - // then save accounts - AccountModel::instance()->save(); - - CGRect frame = CGRectOffset(self.view.frame, 0, -self.view.frame.size.height); - - [CATransaction begin]; - CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.y"]; - animation.fromValue = @(self.view.frame.origin.y); - animation.toValue = @(frame.origin.y); - animation.duration = 0.3f; - [animation setTimingFunction:[CAMediaTimingFunction functionWithControlPoints:.7 :0.9 :1 :1]]; - - [CATransaction setCompletionBlock:^{ - [self.view removeFromSuperview]; - }]; - - [self.view.layer addAnimation:animation forKey:animation.keyPath]; - - // set final layer position to prevent glitching back to original one - [self.view.layer setPosition:frame.origin];; - [CATransaction commit]; -} - -- (void)displayGeneral:(NSToolbarItem *)sender { - if (self.currentVC != nil) { - [self.currentVC.view removeFromSuperview]; - } - self.generalPrefsVC = [[GeneralPrefsVC alloc] initWithNibName:@"GeneralPrefs" bundle:nil]; - [self.view addSubview:self.generalPrefsVC.view]; - [self.generalPrefsVC.view setFrame:[self.view bounds]]; - self.currentVC = self.generalPrefsVC; -} - -- (void)displayAudio:(NSToolbarItem *)sender { - if (self.currentVC != nil) { - [self.currentVC.view removeFromSuperview]; - } - self.audioPrefsVC = [[AudioPrefsVC alloc] initWithNibName:@"AudioPrefs" bundle:nil]; - [self.view addSubview:self.audioPrefsVC.view]; - [self.audioPrefsVC.view setFrame:[self.view bounds]]; - self.currentVC = self.audioPrefsVC; -} - -- (void)displayAncrage:(NSToolbarItem *)sender { - -} - -- (void)displayVideo:(NSToolbarItem *)sender { - if (self.currentVC != nil) { - [self.currentVC.view removeFromSuperview]; - } - self.videoPrefsVC = [[VideoPrefsVC alloc] initWithNibName:@"VideoPrefs" bundle:nil]; - [self.view addSubview:self.videoPrefsVC.view]; - [self.videoPrefsVC.view setFrame:[self.view bounds]]; - self.currentVC = self.videoPrefsVC; -} - -- (void) displayAccounts:(NSToolbarItem *) sender { - if (self.currentVC != nil) { - [self.currentVC.view removeFromSuperview]; - } - self.accountsPrefsVC = [[AccountsVC alloc] initWithNibName:@"Accounts" bundle:nil]; - [self.view addSubview:self.accountsPrefsVC.view]; - [self.accountsPrefsVC.view setFrame:[self.view bounds]]; - self.currentVC = self.accountsPrefsVC; -} - - -#pragma NSToolbar Delegate - --(NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag -{ - NSToolbarItem* item = nil; - - if ([itemIdentifier isEqualToString: kProfilePrefsIdentifier]) { - - item = [[NSToolbarItem alloc] initWithItemIdentifier: kProfilePrefsIdentifier]; - [item setImage: [NSImage imageNamed: @"NSUserAccounts"]]; - [item setLabel: @"Accounts"]; - [item setAction:@selector(displayAccounts:)]; - } - - if ([itemIdentifier isEqualToString: kGeneralPrefsIdentifier]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kGeneralPrefsIdentifier]; - [item setImage: [NSImage imageNamed: @"general"]]; - [item setLabel: @"General"]; - [item setAction:@selector(displayGeneral:)]; - } - - if ([itemIdentifier isEqualToString: kAudioPrefsIdentifer]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kAudioPrefsIdentifer]; - [item setImage: [NSImage imageNamed: @"audio"]]; - [item setLabel: @"Audio"]; - [item setAction:@selector(displayAudio:)]; - } - - if ([itemIdentifier isEqualToString: kPowerSettingsIdentifer]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kPowerSettingsIdentifer]; - toggleAdvancedSettings = [[NSButton alloc] initWithFrame:NSMakeRect(0,0,20,20)]; - [toggleAdvancedSettings setButtonType:NSSwitchButton]; - [toggleAdvancedSettings setTitle:@""]; - [toggleAdvancedSettings setState:[[NSUserDefaults standardUserDefaults] boolForKey:Preferences::ShowAdvanced]]; - [item setLabel:@"Show Advanced"]; - [item setView:toggleAdvancedSettings]; - [item setAction:@selector(togglePowerSettings:)]; - } - - if ([itemIdentifier isEqualToString: kDonePrefsIdentifer]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kDonePrefsIdentifer]; - [item setImage: [NSImage imageNamed: @"ic_action_cancel"]]; - [item setLabel: @"Done"]; - [item setAction:@selector(closePreferences:)]; - } - - if ([itemIdentifier isEqualToString: kVideoPrefsIdentifer]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kVideoPrefsIdentifer]; - [item setImage: [NSImage imageNamed: @"video"]]; - [item setLabel: @"Video"]; - [item setAction:@selector(displayVideo:)]; - } - - return item; -} - --(NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar -{ - - NSMutableArray* items = [NSMutableArray arrayWithObjects: - kPowerSettingsIdentifer, - NSToolbarFlexibleSpaceItemIdentifier, - kGeneralPrefsIdentifier, - kAudioPrefsIdentifer, - kVideoPrefsIdentifer, - // kAncragePrefsIdentifer, - NSToolbarFlexibleSpaceItemIdentifier, - kDonePrefsIdentifer, - nil]; - - if([[NSUserDefaults standardUserDefaults] boolForKey:Preferences::ShowAdvanced]) { - [items insertObject:NSToolbarSpaceItemIdentifier atIndex:5]; - [items insertObject:kProfilePrefsIdentifier atIndex:2]; - } else - [items insertObject:NSToolbarSpaceItemIdentifier atIndex:5]; - - return items; -} - --(NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar -{ - NSMutableArray* items = [NSMutableArray arrayWithObjects: - kPowerSettingsIdentifer, - kGeneralPrefsIdentifier, - kAudioPrefsIdentifer, - kVideoPrefsIdentifer, - nil]; - - if([[NSUserDefaults standardUserDefaults] boolForKey:Preferences::ShowAdvanced]) - [items insertObject:kProfilePrefsIdentifier atIndex:1]; - - - return items; -} - --(NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar -{ - return nil; -} - - - - - -@end diff --git a/src/PreferencesWindowController.h b/src/PreferencesWindowController.h deleted file mode 100644 index 13eb9aad..00000000 --- a/src/PreferencesWindowController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// PreferenceWindowController.h -// Ring -// -// Created by Alexandre Lision on 2015-02-03. -// -// - -#import <Cocoa/Cocoa.h> - -@interface PreferencesWindowController : NSWindowController - -@end diff --git a/src/PreferencesWindowController.mm b/src/PreferencesWindowController.mm deleted file mode 100644 index 97c73d92..00000000 --- a/src/PreferencesWindowController.mm +++ /dev/null @@ -1,23 +0,0 @@ -// -// PreferenceWindowController.m -// Ring -// -// Created by Alexandre Lision on 2015-02-03. -// -// - -#import "PreferencesWindowController.h" - -@interface PreferencesWindowController () - -@end - -@implementation PreferencesWindowController - -- (void)windowDidLoad { - [super windowDidLoad]; - - // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. -} - -@end diff --git a/src/QNSTreeController.h b/src/QNSTreeController.h deleted file mode 100644 index 735fe567..00000000 --- a/src/QNSTreeController.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef QNSTREECONTROLLER_H -#define QNSTREECONTROLLER_H - -#import <Cocoa/Cocoa.h> -#import <qabstractitemmodel.h> - -@interface QNSTreeController : NSTreeController { - -QAbstractItemModel *privateQModel; -NSMutableArray* topNodes; - -} - -- (void*)connect; -- (id) initWithQModel:(QAbstractItemModel*) model; -- (QModelIndex) toQIdx:(NSTreeNode*) node; - -@end - -#endif // QNSTREECONTROLLER_H \ No newline at end of file diff --git a/src/QNSTreeController.mm b/src/QNSTreeController.mm deleted file mode 100644 index f7697fb6..00000000 --- a/src/QNSTreeController.mm +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "QNSTreeController.h" - -@interface Node : NSObject { - NSMutableArray *children; -} -@end - -@implementation Node -- (id) init -{ - if (self = [super init]) { - children = [[NSMutableArray alloc] init]; - } - return self; -} - -- (void) addChild:(Node*) child -{ - [children addObject:child]; -} - -@end - - -@implementation QNSTreeController - -- (id) initWithQModel:(QAbstractItemModel*) model -{ - self = [super init]; - self->privateQModel = model; - - topNodes = [[NSMutableArray alloc] init]; - [self connect]; - - [self populate]; - - return [self initWithContent:topNodes]; -} - --(void) populate -{ - for (int i =0 ; i < self->privateQModel->rowCount() ; ++i){ - [topNodes insertObject:[[Node alloc] init] atIndex:i]; - } -} - -- (BOOL)isEditable -{ - return self->privateQModel->flags(self->privateQModel->index(0, 0)) | Qt::ItemIsEditable; -} - -- (QModelIndex) toQIdx:(NSTreeNode*) node -{ - NSIndexPath* idx = node.indexPath; - NSUInteger myArray[[idx length]]; - [idx getIndexes:myArray]; - QModelIndex toReturn; - - for (int i = 0; i < idx.length; ++i) { - toReturn = self->privateQModel->index(myArray[i], 0, toReturn); - } - - return toReturn; -} - -- (void) insertChildAtQIndex:(QModelIndex) qIdx -{ - Node* child = [[Node alloc] init]; - - QModelIndex tmp = qIdx.parent(); - NSMutableArray* allIndexes = [NSMutableArray array]; - while (tmp.isValid()) { - [allIndexes insertObject:@(tmp.row()) atIndex:0]; - tmp = tmp.parent(); - } - [allIndexes insertObject:@(qIdx.row()) atIndex:allIndexes.count]; - - NSUInteger indexes[allIndexes.count]; - for (int i = 0 ; i < allIndexes.count ; ++i) { - indexes[i] = [[allIndexes objectAtIndex:i] intValue]; - } - [self insertObject:child atArrangedObjectIndexPath:[[NSIndexPath alloc] initWithIndexes:indexes length:allIndexes.count]]; -} - -- (void)connect -{ - QObject::connect(self->privateQModel, - &QAbstractItemModel::rowsInserted, - [=](const QModelIndex & parent, int first, int last) { - for( int row = first; row <= last; row++) { - if(!parent.isValid()) { - //Inserting topnode - Node* n = [[Node alloc] init]; - [self insertObject:n atArrangedObjectIndexPath:[[NSIndexPath alloc] initWithIndex:row]]; - } else { - [self insertChildAtQIndex:self->privateQModel->index(row, 0, parent)]; - } - } - } - ); - - QObject::connect(self->privateQModel, - &QAbstractItemModel::rowsAboutToBeMoved, - [=](const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { - NSLog(@"rows about to be moved, start: %d, end: %d, moved to: %d", sourceStart, sourceEnd, destinationRow); - /* first remove the row from old location - * then insert them at the new location on the "rowsMoved signal */ - for( int row = sourceStart; row <= sourceEnd; row++) { - //TODO - } - } - ); - - QObject::connect(self->privateQModel, - &QAbstractItemModel::rowsMoved, - [=](const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { - //NSLog(@"rows moved, start: %d, end: %d, moved to: %d", sourceStart, sourceEnd, destinationRow); - /* these rows should have been removed in the "rowsAboutToBeMoved" handler - * now insert them in the new location */ - for( int row = sourceStart; row <= sourceEnd; row++) { - //TODO - } - } - ); - - QObject::connect(self->privateQModel, - &QAbstractItemModel::rowsAboutToBeRemoved, - [=](const QModelIndex & parent, int first, int last) { - NSLog(@"rows about to be removed"); - } - ); - - QObject::connect(self->privateQModel, - &QAbstractItemModel::rowsRemoved, - [=](const QModelIndex & parent, int first, int last) { - //NSLog(@"rows removed"); - for( int row = first; row <= last; row++) { - if(parent.isValid()) - { - //Removing leaf - NSUInteger indexes[] = { (NSUInteger)parent.row(), (NSUInteger)row}; - [self removeObjectAtArrangedObjectIndexPath:[[NSIndexPath alloc] initWithIndexes:indexes length:2]]; - } else - { - [self removeObjectAtArrangedObjectIndexPath:[[NSIndexPath alloc] initWithIndex:row]]; - } - } - } - ); - - QObject::connect(self->privateQModel, - &QAbstractItemModel::layoutChanged, - [=]() { - //NSLog(@"layout changed"); - } - ); - - QObject::connect(self->privateQModel, - &QAbstractItemModel::dataChanged, - [=](const QModelIndex &topLeft, const QModelIndex &bottomRight) { - //NSLog(@"data changed"); - for(int row = topLeft.row() ; row <= bottomRight.row() ; ++row) - { - QModelIndex tmpIdx = self->privateQModel->index(row, 0); - if(tmpIdx.row() >= [self.arrangedObjects count]) { - Node* n = [[Node alloc] init]; - if(tmpIdx.isValid()) - [self insertObject:n atArrangedObjectIndexPath:[[NSIndexPath alloc] initWithIndex:row]]; - } - } - }); -} - -@end diff --git a/src/RingWindowController.h b/src/RingWindowController.h deleted file mode 100644 index 86b104b1..00000000 --- a/src/RingWindowController.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef RINGWINDOWCONTROLLER_H -#define RINGWINDOWCONTROLLER_H - -#import <Cocoa/Cocoa.h> -#import "HistoryVC.h" -#import "PreferencesVC.h" - -@interface RingWindowController : NSWindowController <NSToolbarDelegate, NSTextFieldDelegate>{ - IBOutlet NSView *currentView; -} -@property (nonatomic, assign) NSViewController *myCurrentViewController; -@property PreferencesVC* preferencesViewController; - -- (IBAction)openPreferences:(id)sender; -- (IBAction)closePreferences:(NSToolbarItem *)sender; - -@end - -#endif // RINGWINDOWCONTROLLER_H diff --git a/src/RingWindowController.mm b/src/RingWindowController.mm deleted file mode 100644 index 7559041d..00000000 --- a/src/RingWindowController.mm +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "RingWindowController.h" - -#import <accountmodel.h> -#import <callmodel.h> -#import <account.h> -#import <call.h> - -#import "AppDelegate.h" -#import "Constants.h" -#import "CurrentCallVC.h" - -@interface RingWindowController () - -@property NSSearchField* callField; -@property CurrentCallVC* currentVC; -@property (unsafe_unretained) IBOutlet NSView *callView; - - -@end - -@implementation RingWindowController -@synthesize callField; -@synthesize currentVC; -@synthesize callView; - -static NSString* const kSearchViewIdentifier = @"SearchViewIdentifier"; -static NSString* const kPreferencesIdentifier = @"PreferencesIdentifier"; -static NSString* const kCallButtonIdentifer = @"CallButtonIdentifier"; - -- (void)windowDidLoad { - [super windowDidLoad]; - [self.window setReleasedWhenClosed:FALSE]; - [self displayMainToolBar]; - - currentVC = [[CurrentCallVC alloc] initWithNibName:@"CurrentCall" bundle:nil]; - [callView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; - [[currentVC view] setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; - - [callView addSubview:[self.currentVC view]]; - [currentVC initFrame]; -} - -- (IBAction)openPreferences:(id)sender -{ - if(self.preferencesViewController != nil) { - [self closePreferences:nil]; - return; - } - NSToolbar* tb = [[NSToolbar alloc] initWithIdentifier: @"PreferencesToolbar"]; - - self.preferencesViewController = [[PreferencesVC alloc] initWithNibName:@"PreferencesScreen" bundle:nil]; - self.myCurrentViewController = self.preferencesViewController; - - NSLayoutConstraint* test = [NSLayoutConstraint constraintWithItem:self.preferencesViewController.view - attribute:NSLayoutAttributeWidth - relatedBy:NSLayoutRelationEqual - toItem:currentView - attribute:NSLayoutAttributeWidth - multiplier:1.0f - constant:0.0f]; - - NSLayoutConstraint* test2 = [NSLayoutConstraint constraintWithItem:self.preferencesViewController.view - attribute:NSLayoutAttributeHeight - relatedBy:NSLayoutRelationEqual - toItem:currentView - attribute:NSLayoutAttributeHeight - multiplier:1.0f - constant:0.0f]; - - NSLayoutConstraint* test3 = [NSLayoutConstraint constraintWithItem:self.preferencesViewController.view - attribute:NSLayoutAttributeCenterX - relatedBy:NSLayoutRelationEqual - toItem:currentView - attribute:NSLayoutAttributeCenterX - multiplier:1.0f - constant:0.0f]; - - - [currentView addSubview:[self.preferencesViewController view]]; - - [tb setDelegate: self.preferencesViewController]; - [self.window setToolbar: tb]; - - [self.window.toolbar setSelectedItemIdentifier:@"GeneralPrefsIdentifier"]; - - [currentView addConstraint:test]; - [currentView addConstraint:test2]; - [currentView addConstraint:test3]; - // make sure we automatically resize the controller's view to the current window size - [[self.myCurrentViewController view] setFrame:[currentView bounds]]; - - // set the view controller's represented object to the number of subviews in that controller - // (our NSTextField's value binding will reflect this value) - [self.myCurrentViewController setRepresentedObject:[NSNumber numberWithUnsignedInteger:[[[self.myCurrentViewController view] subviews] count]]]; - -} - -- (IBAction) closePreferences:(NSToolbarItem *)sender { - if(self.myCurrentViewController != nil) - { - [self.preferencesViewController close]; - [self displayMainToolBar]; - self.preferencesViewController = nil; - } -} - --(void) displayMainToolBar -{ - NSToolbar* tb = [[NSToolbar alloc] initWithIdentifier: @"MainToolbar"]; - [tb setDisplayMode:NSToolbarDisplayModeIconAndLabel]; - [tb setDelegate: self]; - [self.window setToolbar: tb]; -} - -// FIXME: This is sick, NSWindowController is catching my selectors -- (void)displayGeneral:(NSToolbarItem *)sender { - [self.preferencesViewController displayGeneral:sender]; -} - -- (void)displayAudio:(NSToolbarItem *)sender { - [self.preferencesViewController displayAudio:sender]; -} - -- (void)displayAncrage:(NSToolbarItem *)sender { - [self.preferencesViewController displayAncrage:sender]; -} - -- (void)displayVideo:(NSToolbarItem *)sender { - [self.preferencesViewController displayVideo:sender]; -} - -- (void)displayAccounts:(NSToolbarItem *)sender { - [self.preferencesViewController displayAccounts:sender]; -} - -- (void)togglePowerSettings:(id)sender -{ - BOOL advanced = [[NSUserDefaults standardUserDefaults] boolForKey:Preferences::ShowAdvanced]; - [[NSUserDefaults standardUserDefaults] setBool:!advanced forKey:Preferences::ShowAdvanced]; - [[NSUserDefaults standardUserDefaults] synchronize]; - - NSToolbar* tb = [[NSToolbar alloc] initWithIdentifier: @"PreferencesToolbar"]; - [tb setDelegate: self.preferencesViewController]; - [self.preferencesViewController displayGeneral:nil]; - [self.window setToolbar:tb]; -} - -#pragma NSToolbar Delegate - --(NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag -{ - NSToolbarItem* item = nil; - - if ([itemIdentifier isEqualToString: kSearchViewIdentifier]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kSearchViewIdentifier]; - callField = [[NSSearchField alloc] initWithFrame:NSMakeRect(0,0,400,21)]; - [[callField cell] setSearchButtonCell:nil]; - [callField setToolTip:@"Call"]; - [callField setAlignment:NSCenterTextAlignment]; - [callField setDelegate:self]; - [item setView:callField]; - } - - if ([itemIdentifier isEqualToString: kCallButtonIdentifer]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kCallButtonIdentifer]; - - NSButton *callButton = [[NSButton alloc] initWithFrame:NSMakeRect(0,0,80,30)]; - - [callButton setButtonType:NSMomentaryLightButton]; //Set what type button You want - [callButton setBezelStyle:NSRoundedBezelStyle]; //Set what style You want] - [callButton setBordered:YES]; - [callButton setTitle:@"Call"]; - [item setView:callButton]; - [item setAction:@selector(placeCall:)]; - } - - if ([itemIdentifier isEqualToString: kPreferencesIdentifier]) { - item = [[NSToolbarItem alloc] initWithItemIdentifier: kPreferencesIdentifier]; - [item setImage: [NSImage imageNamed: @"NSAdvanced"]]; - [item setLabel: @"Settings"]; - [item setAction:@selector(openPreferences:)]; - } - - return item; -} - -- (IBAction)placeCall:(id)sender -{ - Call* c = CallModel::instance()->dialingCall(); - // check for a valid ring hash - NSCharacterSet *hexSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789abcdefABCDEF"]; - BOOL valid = [[[callField stringValue] stringByTrimmingCharactersInSet:hexSet] isEqualToString:@""]; - - if(valid && callField.stringValue.length == 40) { - c->setDialNumber(QString::fromNSString([NSString stringWithFormat:@"ring:%@",[callField stringValue]])); - } else { - c->setDialNumber(QString::fromNSString([callField stringValue])); - } - - c << Call::Action::ACCEPT; -} - --(NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar -{ - return [NSArray arrayWithObjects: - NSToolbarSpaceItemIdentifier, - NSToolbarFlexibleSpaceItemIdentifier, - NSToolbarSpaceItemIdentifier, - NSToolbarSpaceItemIdentifier, - kSearchViewIdentifier, - kCallButtonIdentifer, - NSToolbarFlexibleSpaceItemIdentifier, - kPreferencesIdentifier, - nil]; -} - --(NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar -{ - return [NSArray arrayWithObjects: - kSearchViewIdentifier, - kCallButtonIdentifer, - kPreferencesIdentifier, - nil]; -} - --(NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar -{ - return nil; -} - -#pragma NSTextField Delegate - -- (BOOL)control:(NSControl *)control textView:(NSTextView *)fieldEditor doCommandBySelector:(SEL)commandSelector -{ - if (commandSelector == @selector(insertNewline:)) { - if([[callField stringValue] isNotEqualTo:@""]) { - [self placeCall:nil]; - return YES; - } - } - - return NO; -} - - -@end diff --git a/src/RingWizardWC.h b/src/RingWizardWC.h deleted file mode 100644 index 28f37552..00000000 --- a/src/RingWizardWC.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import <Cocoa/Cocoa.h> - -@interface RingWizardWC : NSWindowController <NSWindowDelegate> - -@end diff --git a/src/RingWizardWC.mm b/src/RingWizardWC.mm deleted file mode 100644 index 5868bc6a..00000000 --- a/src/RingWizardWC.mm +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (C) 2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "RingWizardWC.h" - -#import <accountmodel.h> -#import <protocolmodel.h> -#import <QItemSelectionModel> -#import <account.h> - -#import "AppDelegate.h" - - -@interface RingWizardWC () -@property (unsafe_unretained) IBOutlet NSButton *goToAppButton; -@property (unsafe_unretained) IBOutlet NSTextField *nickname; -@property (unsafe_unretained) IBOutlet NSProgressIndicator *progressBar; -@property (unsafe_unretained) IBOutlet NSTextField *indicationLabel; -@property (unsafe_unretained) IBOutlet NSButton *createButton; -@end - -@implementation RingWizardWC -@synthesize goToAppButton; -@synthesize nickname; -@synthesize progressBar; -@synthesize indicationLabel; -@synthesize createButton; - -- (void)windowDidLoad { - [super windowDidLoad]; - - [self.window makeKeyAndOrderFront:nil]; - [self.window setLevel:NSStatusWindowLevel]; - [self.window makeMainWindow]; - [self checkForRingAccount]; -} - -- (void) checkForRingAccount -{ - for (int i = 0 ; i < AccountModel::instance()->rowCount() ; ++i) { - QModelIndex idx = AccountModel::instance()->index(i); - Account* acc = AccountModel::instance()->getAccountByModelIndex(idx); - if(acc->protocol() == Account::Protocol::RING) { - [indicationLabel setStringValue:@"Ring is already ready to work"]; - [self displayHash:acc->username().toNSString()]; - } - } -} - -- (void) displayHash:(NSString* ) hash -{ - [nickname setFrameSize:NSMakeSize(400, nickname.frame.size.height)]; - [nickname setStringValue:hash]; - [nickname setEditable:NO]; - [nickname setHidden:NO]; - - [goToAppButton setHidden:NO]; - - NSSharingService* emailSharingService = [NSSharingService sharingServiceNamed:NSSharingServiceNameComposeEmail]; - - [createButton setTitle:@"Share by mail"]; - //[createButton setImage:emailSharingService.image]; - [createButton setAlternateImage:emailSharingService.alternateImage]; - [createButton setAction:@selector(shareByEmail)]; -} - -- (IBAction)createRingAccount:(id)sender { - - [nickname setHidden:YES]; - [progressBar setHidden:NO]; - [createButton setEnabled:NO]; - [indicationLabel setStringValue:@"Just a moment..."]; - - QModelIndex qIdx = AccountModel::instance()->protocolModel()->selectionModel()->currentIndex(); - - [self setCallback]; - [self performSelector:@selector(saveAccount) withObject:nil afterDelay:1]; - - [self registerAutoStartup]; -} - -/** - * Enable launch at startup by default - */ -- (void) registerAutoStartup -{ - LSSharedFileListRef loginItemsRef = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); - if (loginItemsRef == nil) return; - CFURLRef appUrl = (__bridge CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; - LSSharedFileListItemRef itemRef = LSSharedFileListInsertItemURL(loginItemsRef, kLSSharedFileListItemLast, NULL, NULL, appUrl, NULL, NULL); - if (itemRef) CFRelease(itemRef); -} - -- (void) saveAccount -{ - NSString* newAccName = @"My Ring"; - Account* newAcc = AccountModel::instance()->add([newAccName UTF8String], Account::Protocol::RING); - newAcc->setAlias([[nickname stringValue] UTF8String]); - newAcc->setUpnpEnabled(YES); // Always active upnp - newAcc << Account::EditAction::SAVE; -} - -- (void) setCallback -{ - QObject::connect(AccountModel::instance(), - &AccountModel::accountStateChanged, - [=](Account *account, const Account::RegistrationState state) { - NSLog(@"Account created!"); - [progressBar setHidden:YES]; - [createButton setEnabled:YES]; - [indicationLabel setStringValue:@"This is your number, share it with your friends!"]; - [self displayHash:account->username().toNSString()]; - }); -} - -- (IBAction)goToApp:(id)sender { - [self.window close]; - AppDelegate *appDelegate = (AppDelegate *)[[NSApplication sharedApplication] delegate]; - [appDelegate showMainWindow]; -} - -- (void) shareByEmail -{ - /* - Create the array of items to share. - Start with just the content of the text view. If there's an image, add that too. - */ - NSMutableArray *shareItems = [[NSMutableArray alloc] initWithObjects:[nickname stringValue], nil]; - NSSharingService* emailSharingService = [NSSharingService sharingServiceNamed:NSSharingServiceNameComposeEmail]; - - /* - Perform the service using the array of items. - */ - [emailSharingService performWithItems:shareItems]; -} - - -# pragma NSWindowDelegate methods - -- (BOOL)windowShouldClose:(id)sender -{ - NSLog(@"windowShouldClose"); - return YES; -} - -- (void)windowDidBecomeKey:(NSNotification *)notification -{ - NSLog(@"windowDidBecomeKey"); -} - -- (void)windowDidResignKey:(NSNotification *)notification -{ - NSLog(@"windowDidResignKey"); -} - -- (void)windowDidBecomeMain:(NSNotification *)notification -{ - NSLog(@"windowDidBecomeMain"); -} - -- (void)windowDidResignMain:(NSNotification *)notification -{ - NSLog(@"windowDidResignMain"); - [self.window close]; -} - -- (void)windowWillClose:(NSNotification *)notification -{ - //NSLog(@"windowWillClose"); - AppDelegate *appDelegate = (AppDelegate *)[[NSApplication sharedApplication] delegate]; - [appDelegate showMainWindow]; -} - -@end diff --git a/src/VideoPrefsVC.h b/src/VideoPrefsVC.h deleted file mode 100644 index 8a85304f..00000000 --- a/src/VideoPrefsVC.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef RING_VIDEOPREFSVC_H -#define RING_VIDEOPREFSVC_H - -#import <Cocoa/Cocoa.h> - -@interface VideoPrefsVC : NSViewController <NSMenuDelegate> { - -} - -@end - -#endif // RING_VIDEOPREFSVC_H diff --git a/src/VideoPrefsVC.mm b/src/VideoPrefsVC.mm deleted file mode 100644 index 79a93535..00000000 --- a/src/VideoPrefsVC.mm +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "VideoPrefsVC.h" - -#import <QuartzCore/QuartzCore.h> - -#import <QItemSelectionModel> -#import <QAbstractProxyModel> - -#import <video/configurationproxy.h> -#import <video/sourcemodel.h> -#import <video/previewmanager.h> -#import <video/renderer.h> -#import <video/device.h> -#import <video/devicemodel.h> - -@interface VideoPrefsVC () - -@property (assign) IBOutlet NSView *previewView; -@property (assign) IBOutlet NSPopUpButton *videoDevicesList; -@property (assign) IBOutlet NSPopUpButton *sizesList; -@property (assign) IBOutlet NSPopUpButton *ratesList; - -@end - -@implementation VideoPrefsVC -@synthesize previewView; -@synthesize videoDevicesList; -@synthesize sizesList; -@synthesize ratesList; - -QMetaObject::Connection frameUpdated; -QMetaObject::Connection previewStarted; -QMetaObject::Connection previewStopped; - -- (void)loadView -{ - [super loadView]; - - Video::ConfigurationProxy::deviceModel()->rowCount(); - Video::ConfigurationProxy::resolutionModel()->rowCount(); - Video::ConfigurationProxy::rateModel()->rowCount(); - - QModelIndex qDeviceIdx = Video::ConfigurationProxy::deviceSelectionModel()->currentIndex(); - qDeviceIdx = Video::ConfigurationProxy::deviceSelectionModel()->currentIndex(); - - [videoDevicesList addItemWithTitle:Video::ConfigurationProxy::deviceModel()->data(qDeviceIdx, Qt::DisplayRole).toString().toNSString()]; - - QModelIndex qSizeIdx = Video::ConfigurationProxy::resolutionSelectionModel()->currentIndex(); - [sizesList addItemWithTitle:Video::ConfigurationProxy::resolutionModel()->data(qSizeIdx, Qt::DisplayRole).toString().toNSString()]; - - if(qobject_cast<QAbstractProxyModel*>(Video::ConfigurationProxy::resolutionModel())) { - QObject::connect(qobject_cast<QAbstractProxyModel*>(Video::ConfigurationProxy::resolutionModel()), - &QAbstractProxyModel::modelReset, - [=]() { - NSLog(@"resolution Source model changed!!!"); - }); - - } - - QModelIndex qRate = Video::ConfigurationProxy::rateSelectionModel()->currentIndex(); - [ratesList addItemWithTitle:Video::ConfigurationProxy::rateModel()->data(qDeviceIdx, Qt::DisplayRole).toString().toNSString()]; - - if(qobject_cast<QAbstractProxyModel*>(Video::ConfigurationProxy::rateModel())) { - QObject::connect(qobject_cast<QAbstractProxyModel*>(Video::ConfigurationProxy::rateModel()), - &QAbstractProxyModel::modelReset, - [=]() { - NSLog(@"rates Source model changed!!!"); - }); - - } - - - [previewView setWantsLayer:YES]; - [previewView setLayer:[CALayer layer]]; - [previewView.layer setBackgroundColor:[NSColor blackColor].CGColor]; - [previewView.layer setContentsGravity:kCAGravityResizeAspect]; - [previewView.layer setFrame:previewView.frame]; - [previewView.layer setBounds:previewView.frame]; - - [self connectPreviewSignals]; -} - -- (IBAction)chooseDevice:(id)sender { - int index = [sender indexOfSelectedItem]; - QModelIndex qIdx = Video::ConfigurationProxy::deviceModel()->index(index, 0); - Video::ConfigurationProxy::deviceSelectionModel()->setCurrentIndex(qIdx, QItemSelectionModel::ClearAndSelect); -} - -- (IBAction)chooseSize:(id)sender { - int index = [sender indexOfSelectedItem]; - QModelIndex qIdx = Video::ConfigurationProxy::resolutionModel()->index(index, 0); - Video::ConfigurationProxy::resolutionSelectionModel()->setCurrentIndex(qIdx, QItemSelectionModel::ClearAndSelect); -} - -- (IBAction)chooseRate:(id)sender { - int index = [sender indexOfSelectedItem]; - QModelIndex qIdx = Video::ConfigurationProxy::rateModel()->index(index, 0); - Video::ConfigurationProxy::rateSelectionModel()->setCurrentIndex(qIdx, QItemSelectionModel::ClearAndSelect); -} - -- (void) connectPreviewSignals -{ - QObject::disconnect(frameUpdated); - QObject::disconnect(previewStopped); - QObject::disconnect(previewStarted); - previewStarted = QObject::connect(Video::PreviewManager::instance(), - &Video::PreviewManager::previewStarted, - [=](Video::Renderer* renderer) { - NSLog(@"Preview started"); - QObject::disconnect(frameUpdated); - frameUpdated = QObject::connect(renderer, - &Video::Renderer::frameUpdated, - [=]() { - [self renderer:Video::PreviewManager::instance()->previewRenderer() renderFrameForView:previewView]; - }); - }); - - previewStopped = QObject::connect(Video::PreviewManager::instance(), - &Video::PreviewManager::previewStopped, - [=](Video::Renderer* renderer) { - NSLog(@"Preview stopped"); - QObject::disconnect(frameUpdated); - [previewView.layer setContents:nil]; - }); - - frameUpdated = QObject::connect(Video::PreviewManager::instance()->previewRenderer(), - &Video::Renderer::frameUpdated, - [=]() { - [self renderer:Video::PreviewManager::instance()->previewRenderer() - renderFrameForView:previewView]; - }); -} - --(void) renderer: (Video::Renderer*)renderer renderFrameForView:(NSView*) view -{ - const QByteArray& data = renderer->currentFrame(); - QSize res = renderer->size(); - - auto buf = reinterpret_cast<const unsigned char*>(data.data()); - - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGContextRef newContext = CGBitmapContextCreate((void *)buf, - res.width(), - res.height(), - 8, - 4*res.width(), - colorSpace, - kCGImageAlphaPremultipliedLast); - - - CGImageRef newImage = CGBitmapContextCreateImage(newContext); - - /*We release some components*/ - CGContextRelease(newContext); - CGColorSpaceRelease(colorSpace); - - [CATransaction begin]; - view.layer.contents = (__bridge id)newImage; - [CATransaction commit]; - - CFRelease(newImage); -} - -- (IBAction)togglePreview:(id)sender { - if([sender state] == NSOnState) - Video::PreviewManager::instance()->startPreview(); - else - Video::PreviewManager::instance()->stopPreview(); -} - -- (void)viewWillDisappear -{ - Video::PreviewManager::instance()->stopPreview(); -} - -#pragma mark - NSMenuDelegate methods - -- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(NSInteger)index shouldCancel:(BOOL)shouldCancel -{ - QModelIndex qIdx; - if([menu.title isEqualToString:@"devices"]) { - - qIdx = Video::ConfigurationProxy::deviceModel()->index(index, 0); - [item setTitle:Video::ConfigurationProxy::deviceModel()->data(qIdx, Qt::DisplayRole).toString().toNSString()]; - - } else if([menu.title isEqualToString:@"sizes"]) { - - qIdx = Video::ConfigurationProxy::resolutionModel()->index(index, 0); - [item setTitle:Video::ConfigurationProxy::resolutionModel()->data(qIdx, Qt::DisplayRole).toString().toNSString()]; - - } else if([menu.title isEqualToString:@"rates"]) { - - qIdx = Video::ConfigurationProxy::rateModel()->index(index, 0); - [item setTitle:Video::ConfigurationProxy::rateModel()->data(qIdx, Qt::DisplayRole).toString().toNSString()]; - - } - return YES; -} - -- (NSInteger)numberOfItemsInMenu:(NSMenu *)menu -{ - if([menu.title isEqualToString:@"devices"]) { - return Video::ConfigurationProxy::deviceModel()->rowCount(); - } else if([menu.title isEqualToString:@"sizes"]) { - return Video::ConfigurationProxy::resolutionModel()->rowCount(); - } else if([menu.title isEqualToString:@"rates"]) { - return Video::ConfigurationProxy::rateModel()->rowCount(); - } -} - -@end diff --git a/src/backends/AddressBookBackend.h b/src/backends/AddressBookBackend.h deleted file mode 100644 index 74a24c45..00000000 --- a/src/backends/AddressBookBackend.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef ADDRESSBOOKBACKEND_H -#define ADDRESSBOOKBACKEND_H - -#include <collectioninterface.h> -#include <collectioneditor.h> - -class Person; - -template<typename T> class CollectionMediator; - -class AddressBookBackend : public CollectionInterface -{ -public: - explicit AddressBookBackend(CollectionMediator<Person>* mediator); - virtual ~AddressBookBackend(); - - virtual bool load() override; - virtual bool reload() override; - virtual bool clear() override; - virtual QString name () const override; - virtual QString category () const override; - virtual QVariant icon () const override; - virtual bool isEnabled() const override; - virtual QByteArray id () const override; - virtual FlagPack<SupportedFeatures> supportedFeatures() const override; - -private: - CollectionMediator<Person>* m_pMediator; - - void asyncLoad(int startingPoint); -}; - -#endif // ADDRESSBOOKBACKEND_H diff --git a/src/backends/AddressBookBackend.mm b/src/backends/AddressBookBackend.mm deleted file mode 100644 index f98e7736..00000000 --- a/src/backends/AddressBookBackend.mm +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall import the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "AddressBookBackend.h" - -#import <AddressBook/AddressBook.h> - -//Qt -#import <QtCore/QFile> -#import <QtCore/QDir> -#import <QtCore/QHash> -#import <QtWidgets/QApplication> -#import <QtCore/QStandardPaths> -#import <QTimer> -#import <QPixmap> -#import <QtGlobal> - -//Ring -#import <Person.h> -#import <account.h> -#import <person.h> -#import <contactmethod.h> - -/** - * - *kABFirstNameProperty - kABLastNameProperty - kABFirstNamePhoneticProperty - kABLastNamePhoneticProperty - kABBirthdayProperty - kABOrganizationProperty - kABJobTitleProperty - kABHomePageProperty - kABEmailProperty - kABAddressProperty - kABPhoneProperty - kABAIMInstantProperty - kABJabberInstantProperty - kABMSNInstantProperty - kABYahooInstantProperty - kABICQInstantProperty - kABNoteProperty - kABMiddleNameProperty - kABMiddleNamePhoneticProperty - kABTitleProperty - kABSuffixProperty - kABNicknameProperty - kABMaidenNameProperty - */ - -class AddressBookEditor : public CollectionEditor<Person> -{ -public: - AddressBookEditor(CollectionMediator<Person>* m, AddressBookBackend* parent); - virtual bool save ( const Person* item ) override; - virtual bool remove ( const Person* item ) override; - virtual bool edit ( Person* item ) override; - virtual bool addNew ( const Person* item ) override; - virtual bool addExisting( const Person* item ) override; - -private: - virtual QVector<Person*> items() const override; - - //Helpers - void savePerson(QTextStream& stream, const Person* Person); - bool regenFile(const Person* toIgnore); - - //Attributes - QVector<Person*> m_lItems; - AddressBookBackend* m_pCollection; -}; - -AddressBookEditor::AddressBookEditor(CollectionMediator<Person>* m, AddressBookBackend* parent) : -CollectionEditor<Person>(m),m_pCollection(parent) -{ - -} - -AddressBookBackend::AddressBookBackend(CollectionMediator<Person>* mediator) : -CollectionInterface(new AddressBookEditor(mediator,this)),m_pMediator(mediator) -{ - -} - -AddressBookBackend::~AddressBookBackend() -{ - -} - -void AddressBookEditor::savePerson(QTextStream& stream, const Person* Person) -{ - - qDebug() << "Saving Person!"; -} - -bool AddressBookEditor::regenFile(const Person* toIgnore) -{ - QDir dir(QString('/')); - dir.mkpath(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1Char('/') + QString()); - - - return false; -} - -bool AddressBookEditor::save(const Person* Person) -{ - //if (Person->collection()->editor<Person>() != this) - // return addNew(Person); - - return regenFile(nullptr); -} - -bool AddressBookEditor::remove(const Person* item) -{ - return regenFile(item); -} - -bool AddressBookEditor::edit( Person* item) -{ - Q_UNUSED(item) - return false; -} - -bool AddressBookEditor::addNew(const Person* Person) -{ - QDir dir(QString('/')); - dir.mkpath(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1Char('/') + QString()); - - return false; -} - -bool AddressBookEditor::addExisting(const Person* item) -{ - m_lItems << const_cast<Person*>(item); - mediator()->addItem(item); - return true; -} - -QVector<Person*> AddressBookEditor::items() const -{ - return m_lItems; -} - -QString AddressBookBackend::name () const -{ - return QObject::tr("AddressBook backend"); -} - -QString AddressBookBackend::category () const -{ - return QObject::tr("Persons"); -} - -QVariant AddressBookBackend::icon() const -{ - return QVariant(); -} - -bool AddressBookBackend::isEnabled() const -{ - return true; -} - -bool AddressBookBackend::load() -{ - QTimer::singleShot(100, [=] { - asyncLoad(0); - }); - return false; -} - -void AddressBookBackend::asyncLoad(int startingPoint) -{ - ABAddressBook *book = [ABAddressBook sharedAddressBook]; - NSArray *everyone = [book people]; - int endPoint = qMin(startingPoint + 10, (int)everyone.count); - - for (int i = startingPoint; i < endPoint; ++i) { - - ABPerson* abPerson = ((ABPerson*)[everyone objectAtIndex:i]); - - Person* person = new Person(QByteArray::fromNSData(abPerson.vCardRepresentation), - Person::Encoding::vCard, - this); - - if(abPerson.imageData) - person->setPhoto(QVariant(QPixmap::fromImage(QImage::fromData(QByteArray::fromNSData((abPerson.imageData)))))); - - if([person->formattedName().toNSString() isEqualToString:@""] && - [person->secondName().toNSString() isEqualToString:@""] && - [person->firstName().toNSString() isEqualToString:@""]) { - continue; - } - - person->setCollection(this); - - editor<Person>()->addExisting(person); - } - - if(endPoint < everyone.count) { - QTimer::singleShot(100, [=] { - asyncLoad(endPoint); - }); - } - -} - - -bool AddressBookBackend::reload() -{ - return false; -} - -FlagPack<AddressBookBackend::SupportedFeatures> AddressBookBackend::supportedFeatures() const -{ - return (FlagPack<SupportedFeatures>) ( - CollectionInterface::SupportedFeatures::NONE | - CollectionInterface::SupportedFeatures::LOAD | - CollectionInterface::SupportedFeatures::CLEAR | - CollectionInterface::SupportedFeatures::REMOVE| - CollectionInterface::SupportedFeatures::ADD ); -} - -bool AddressBookBackend::clear() -{ - /* TODO: insert confirm dialog? */ - return true; -} - -QByteArray AddressBookBackend::id() const -{ - return "abb"; -} diff --git a/src/delegates/ImageManipulationDelegate.h b/src/delegates/ImageManipulationDelegate.h deleted file mode 100644 index 2f711aea..00000000 --- a/src/delegates/ImageManipulationDelegate.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#ifndef IMAGEMANIPULATION_H -#define IMAGEMANIPULATION_H - -#import <QuartzCore/QuartzCore.h> - -#import <delegates/pixmapmanipulationdelegate.h> -#import <call.h> - -class Person; -class QPixmap; - -class ImageManipulationDelegate : public PixmapManipulationDelegate { - -public: - ImageManipulationDelegate(); - QVariant contactPhoto(Person* c, const QSize& size, bool displayPresence = true) override; - virtual QByteArray toByteArray(const QVariant& pxm) override; - virtual QVariant personPhoto(const QByteArray& data, const QString& type = "PNG") override; - -private: - //Helper - QPixmap drawDefaultUserPixmap(const QSize& size, bool displayPresence, bool isPresent); - CGImageRef resizeCGImage(CGImageRef image, const QSize& size); - - -}; - -#endif // IMAGEMANIPULATION_H diff --git a/src/delegates/ImageManipulationDelegate.mm b/src/delegates/ImageManipulationDelegate.mm deleted file mode 100644 index 40f7a0a6..00000000 --- a/src/delegates/ImageManipulationDelegate.mm +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall import the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import "ImageManipulationDelegate.h" - -#import <Cocoa/Cocoa.h> -#import <Foundation/Foundation.h> - -//Qt -#import <QSize> -#import <QBuffer> -#import <QtGui/QColor> -#import <QtGui/QPainter> -#import <QtGui/QBitmap> -#import <QtWidgets/QApplication> -#import <QtGui/QImage> -#import <QtMacExtras/qmacfunctions.h> -#import <QtGui/QPalette> - -//Ring -#import <person.h> -#import <contactmethod.h> - -ImageManipulationDelegate::ImageManipulationDelegate() : PixmapManipulationDelegate() -{ - -} - -QVariant ImageManipulationDelegate::contactPhoto(Person* c, const QSize& size, bool displayPresence) { - const int radius = (size.height() > 35) ? 7 : 5; - - QPixmap pxm; - if (c->photo().isValid()) { - QPixmap contactPhoto((qvariant_cast<QPixmap>(c->photo())).scaledToWidth(size.height()-6)); - pxm = QPixmap(size); - pxm.fill(Qt::transparent); - QPainter painter(&pxm); - - //Clear the pixmap - painter.setCompositionMode(QPainter::CompositionMode_Clear); - painter.fillRect(0,0,size.width(),size.height(),QBrush(Qt::white)); - painter.setCompositionMode(QPainter::CompositionMode_SourceOver); - - //Add corner radius to the Pixmap - QRect pxRect = contactPhoto.rect(); - QBitmap mask(pxRect.size()); - QPainter customPainter(&mask); - customPainter.setRenderHint (QPainter::Antialiasing, true ); - customPainter.fillRect (pxRect , Qt::white ); - customPainter.setBackground (Qt::black ); - customPainter.setBrush (Qt::black ); - customPainter.drawRoundedRect(pxRect,radius,radius); - contactPhoto.setMask(mask); - painter.drawPixmap(3,3,contactPhoto); - painter.setBrush(Qt::NoBrush); - painter.setPen(Qt::white); - painter.setRenderHint (QPainter::Antialiasing, true ); - painter.setCompositionMode(QPainter::CompositionMode_SourceIn); - painter.drawRoundedRect(3,3,pxm.height()-6,pxm.height()-6,radius,radius); - painter.setCompositionMode(QPainter::CompositionMode_SourceOver); - - } - else { - pxm = drawDefaultUserPixmap(size, false, false); - } - - return pxm; -} - -QVariant ImageManipulationDelegate::personPhoto(const QByteArray& data, const QString& type) -{ - QImage image; - //For now, ENCODING is only base64 and image type PNG or JPG - const bool ret = image.loadFromData(QByteArray::fromBase64(data),type.toLatin1()); - if (!ret) - qDebug() << "vCard image loading failed"; - - return QPixmap::fromImage(image); -} - -QByteArray ImageManipulationDelegate::toByteArray(const QVariant& pxm) -{ - //Preparation of our QPixmap - QByteArray bArray; - QBuffer buffer(&bArray); - buffer.open(QIODevice::WriteOnly); - - //PNG ? - (qvariant_cast<QPixmap>(pxm)).save(&buffer, "PNG"); - buffer.close(); - - return bArray; -} - -QPixmap ImageManipulationDelegate::drawDefaultUserPixmap(const QSize& size, bool displayPresence, bool isPresent) { - - QPixmap pxm(size); - pxm.fill(Qt::transparent); - QPainter painter(&pxm); - - // create the image somehow, load from file, draw into it... - auto sourceImgRef = CGImageSourceCreateWithData((CFDataRef)[[NSImage imageNamed:@"NSUser"] TIFFRepresentation], NULL); - auto imgRef = CGImageSourceCreateImageAtIndex(sourceImgRef, 0, NULL); - auto finalImgRef = resizeCGImage(imgRef, size); - painter.drawPixmap(3,3,QtMac::fromCGImageRef(finalImgRef)); - - CFRelease(sourceImgRef); - CFRelease(imgRef); - CFRelease(finalImgRef); - - return pxm; -} - -CGImageRef ImageManipulationDelegate::resizeCGImage(CGImageRef image, const QSize& size) { - // create context, keeping original image properties - CGColorSpaceRef colorspace = CGImageGetColorSpace(image); - - CGContextRef context = CGBitmapContextCreate(NULL, size.width(), size.height(), - CGImageGetBitsPerComponent(image), - size.width() * CGImageGetBitsPerComponent(image), - colorspace, - CGImageGetAlphaInfo(image)); - - if(context == NULL) - return nil; - - // draw image to context (resizing it) - CGContextDrawImage(context, CGRectMake(0, 0, size.width(), size.height()), image); - // extract resulting image from context - CGImageRef imgRef = CGBitmapContextCreateImage(context); - CGContextRelease(context); - - return imgRef; -} diff --git a/src/main.mm b/src/main.mm deleted file mode 100644 index c1d86761..00000000 --- a/src/main.mm +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import <AppKit/NSApplication.h> // NSApplicationMain -#import <qapplication.h> -#import <QDebug> -#import <QDir> - -int main(int argc, const char *argv[]) { - - QDir dir(QString::fromUtf8(argv[0])); - dir.cdUp(); - dir.cdUp(); - dir.cd("Plugins"); - QCoreApplication::addLibraryPath(dir.absolutePath()); - qDebug() << "" << QCoreApplication::libraryPaths(); - //Qt event loop will override native event loop - QApplication* app = new QApplication(argc, const_cast<char**>(argv)); - app->setAttribute(Qt::AA_MacPluginApplication); - - - return NSApplicationMain(argc, argv); -} diff --git a/src/views/CallView.h b/src/views/CallView.h deleted file mode 100644 index b15d5251..00000000 --- a/src/views/CallView.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ -#import <Cocoa/Cocoa.h> - -@protocol FullScreenDelegate; -@protocol FullScreenDelegate - -@optional - --(void) callShouldToggleFullScreen; - -@end - -@interface CallView : NSView <NSDraggingDestination, NSOpenSavePanelDelegate> -{ - //highlight the drop zone - BOOL highlight; -} - -- (id)initWithCoder:(NSCoder *)coder; - -/** - * Sets weither this view allow first click interactions - */ -@property BOOL shouldAcceptInteractions; - -/** - * Delegate to inform about desire to move - */ -@property (nonatomic) id <FullScreenDelegate> fullScreenDelegate; - -@end diff --git a/src/views/CallView.mm b/src/views/CallView.mm deleted file mode 100644 index 8fe60c63..00000000 --- a/src/views/CallView.mm +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (C) 2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import "CallView.h" - -#import <QItemSelectionModel> -#import <QAbstractProxyModel> -#import <QUrl> - -#import <video/configurationproxy.h> -#import <video/sourcemodel.h> -#import <video/previewmanager.h> -#import <video/renderer.h> -#import <video/device.h> -#import <video/devicemodel.h> - -@interface CallView () - -@property NSMenu *contextualMenu; - -@end - -@implementation CallView -@synthesize contextualMenu; -@synthesize shouldAcceptInteractions; - - -- (id)initWithFrame:(NSRect)frame -{ - self = [super initWithFrame:frame]; - if (self) - { - [self registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, nil]]; - } - return self; -} - - -#pragma mark - Destination Operations - -- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender -{ - /*------------------------------------------------------ - method called whenever a drag enters our drop zone - --------------------------------------------------------*/ - NSLog(@"Dragging entered"); - - NSURL* fileURL = [NSURL URLFromPasteboard: [sender draggingPasteboard]]; - CFStringRef fileExtension = (__bridge CFStringRef) [fileURL.path pathExtension]; - CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL); - - // Check if the pasteboard contains image data and source/user wants it copied - if ( [sender draggingSourceOperationMask] & NSDragOperationCopy && - (UTTypeConformsTo(fileUTI, kUTTypeVideo)) || (UTTypeConformsTo(fileUTI, kUTTypeMovie))) { - - //highlight our drop zone - highlight=YES; - - [self setNeedsDisplay: YES]; - - /* When an image from one window is dragged over another, we want to resize the dragging item to - * preview the size of the image as it would appear if the user dropped it in. */ - [sender enumerateDraggingItemsWithOptions:NSDraggingItemEnumerationConcurrent - forView:self - classes:[NSArray arrayWithObject:[NSPasteboardItem class]] - searchOptions:nil - usingBlock:^(NSDraggingItem *draggingItem, NSInteger idx, BOOL *stop) { - *stop = YES; - }]; - CFRelease(fileUTI); - //accept data as a copy operation - return NSDragOperationCopy; - } - - CFRelease(fileUTI); - return NSDragOperationNone; -} - -- (void)draggingExited:(id <NSDraggingInfo>)sender -{ - /*------------------------------------------------------ - method called whenever a drag exits our drop zone - --------------------------------------------------------*/ - //remove highlight of the drop zone - highlight=NO; - - [self setNeedsDisplay: YES]; -} - --(void)drawRect:(NSRect)rect -{ - /*------------------------------------------------------ - draw method is overridden to do drop highlighing - --------------------------------------------------------*/ - //do the usual draw operation to display the image - [super drawRect:rect]; - - if ( highlight ) { - //highlight by overlaying a gray border - [[NSColor blueColor] set]; - [NSBezierPath setDefaultLineWidth: 5]; - [NSBezierPath strokeRect: rect]; - } -} - -- (BOOL)prepareForDragOperation:(id <NSDraggingInfo>)sender -{ - /*------------------------------------------------------ - method to determine if we can accept the drop - --------------------------------------------------------*/ - //finished with the drag so remove any highlighting - highlight=NO; - - [self setNeedsDisplay: YES]; - - NSURL* fileURL = [NSURL URLFromPasteboard: [sender draggingPasteboard]]; - CFStringRef fileExtension = (__bridge CFStringRef) [fileURL.path pathExtension]; - CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL); - - BOOL conforms = (UTTypeConformsTo(fileUTI, kUTTypeVideo)) || (UTTypeConformsTo(fileUTI, kUTTypeMovie)); - CFRelease(fileUTI); - //check to see if we can accept the data - return conforms; -} - -- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender -{ - /*------------------------------------------------------ - method that should handle the drop data - --------------------------------------------------------*/ - if ( [sender draggingSource] != self ) { - NSURL* fileURL = [NSURL URLFromPasteboard: [sender draggingPasteboard]]; - Video::SourceModel::instance()->setFile(QUrl::fromLocalFile(QString::fromUtf8([fileURL.path UTF8String]))); - } - - return YES; -} - -- (void)showContextualMenu:(NSEvent *)theEvent { - - contextualMenu = [[NSMenu alloc] initWithTitle:@"Switch camera"]; - - for(int i = 0 ; i < Video::DeviceModel::instance()->devices().size() ; ++i) { - Video::Device* device = Video::DeviceModel::instance()->devices()[i]; - [contextualMenu insertItemWithTitle:device->name().toNSString() action:@selector(switchInput:) keyEquivalent:@"" atIndex:i]; - } - - [contextualMenu addItem:[NSMenuItem separatorItem]]; - [contextualMenu insertItemWithTitle:@"Choose file" action:@selector(chooseFile:) keyEquivalent:@"" atIndex:contextualMenu.itemArray.count]; - - [NSMenu popUpContextMenu:contextualMenu withEvent:theEvent forView:self]; -} - -- (void)mouseUp:(NSEvent *)theEvent -{ - if([theEvent clickCount] == 1 && shouldAcceptInteractions) { - if(!contextualMenu) - [self performSelector:@selector(showContextualMenu:) withObject:theEvent afterDelay:[NSEvent doubleClickInterval]]; - else - contextualMenu = nil; - } - else if([theEvent clickCount] == 2) - { - [NSObject cancelPreviousPerformRequestsWithTarget:self]; // cancel showContextualMenu - if(self.fullScreenDelegate) - [self.fullScreenDelegate callShouldToggleFullScreen]; - } -} - -- (void) switchInput:(NSMenuItem*) sender -{ - int index = [contextualMenu indexOfItem:sender]; - Video::SourceModel::instance()->switchTo(Video::DeviceModel::instance()->devices()[index]); -} - -- (void) chooseFile:(NSMenuItem*) sender -{ - NSOpenPanel *browsePanel = [[NSOpenPanel alloc] init]; - [browsePanel setDirectoryURL:[NSURL URLWithString:NSHomeDirectory()]]; - [browsePanel setCanChooseFiles:YES]; - [browsePanel setCanChooseDirectories:NO]; - [browsePanel setCanCreateDirectories:NO]; - - //NSMutableArray* fileTypes = [[NSMutableArray alloc] initWithArray:[NSImage imageTypes]]; - NSMutableArray* fileTypes = [NSMutableArray array]; - [fileTypes addObject:(__bridge NSString *)kUTTypeVideo]; - [fileTypes addObject:(__bridge NSString *)kUTTypeMovie]; - [browsePanel setAllowedFileTypes:fileTypes]; - - [browsePanel beginSheetModalForWindow:[self window] completionHandler:^(NSInteger result) { - if (result == NSFileHandlingPanelOKButton) { - NSURL* theDoc = [[browsePanel URLs] objectAtIndex:0]; - Video::SourceModel::instance()->setFile(QUrl::fromLocalFile(QString::fromUtf8([theDoc.path UTF8String]))); - } - }]; - -} - -@end diff --git a/src/views/ITProgressIndicator.h b/src/views/ITProgressIndicator.h deleted file mode 100644 index 59ee8ea0..00000000 --- a/src/views/ITProgressIndicator.h +++ /dev/null @@ -1,88 +0,0 @@ -//Copyright 2013-2015 Ilija Tovilo -// -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at -// -//http://www.apache.org/licenses/LICENSE-2.0 -// -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. - - -#import <Cocoa/Cocoa.h> -#import <QuartzCore/QuartzCore.h> - -// -// !!!IMPORTANT!!! - Embedd ITProgressIndicator in a layer-backed view to avoid side-effects! -// - -/** - * @class ITProgressIndicator - * - * A replacement for `NSProgressIndicator`. - * It's a highly customizable control, driven by Core Animation, which makes it much more performant. - * - * So basically, it's awesome. - * - */ -@interface ITProgressIndicator : NSView - -#pragma mark - Methods - -/** - * Override this method to achieve a custom animation - * - * @return CAKeyframeAnimation - animation which will be put on the progress indicator layer - */ -- (CAKeyframeAnimation *)keyFrameAnimationForCurrentPreferences; - -#pragma mark - Properties - - -/// @property isIndeterminate - Indicates if the view will show the progress, or just spin -@property (nonatomic, setter = setIndeterminate:) BOOL isIndeterminate; - - -/// @property progress - The amount that should be shown when `isIndeterminate` is set to `YES` -@property (nonatomic) CGFloat progress; - - -/// @property animates - Indicates if the view is animating -@property (nonatomic) BOOL animates; - - -/// @property hideWhenStopped - Indicates if the view will be hidden if it's stopped -@property (nonatomic) BOOL hideWhenStopped; - - -/// @property lengthOfLine - The length of a single line -@property (nonatomic) CGFloat lengthOfLine; - - -/// @property widthOfLine - The width of a single line -@property (nonatomic) CGFloat widthOfLine; - - -/// @property numberOfLines - The number of lines of the indicator -@property (nonatomic) NSUInteger numberOfLines; - - -/// @property innerMargin - The distance of the lines from the middle -@property (nonatomic) CGFloat innerMargin; - - -/// @property animationDuration - Duration of a single rotation -@property (nonatomic) CGFloat animationDuration; - - -/// @property gradualAnimation - Defines if the animation is smooth or gradual -@property (nonatomic) BOOL steppedAnimation; - -/// @property color - The color of the progress indicator -@property (nonatomic, strong) NSColor *color; - -@end diff --git a/src/views/ITProgressIndicator.mm b/src/views/ITProgressIndicator.mm deleted file mode 100644 index 189ea79d..00000000 --- a/src/views/ITProgressIndicator.mm +++ /dev/null @@ -1,349 +0,0 @@ -//Copyright 2013-2015 Ilija Tovilo -// -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at -// -//http://www.apache.org/licenses/LICENSE-2.0 -// -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. - -#if !__has_feature(objc_arc) -#error ARC needs to be enabled! -#endif - - -#import "ITProgressIndicator.h" - - -#pragma mark - Consts -#define kITSpinAnimationKey @"spinAnimation" -#define kITProgressPropertyKey @"progress" - - -// ---------------------------------------------------------------------------------------- -#pragma mark - NSBezierPath+IT_Geometry -// ---------------------------------------------------------------------------------------- - -@interface NSBezierPath (IT_Geometry) - -- (NSBezierPath*)it_rotatedBezierPath:(float) angle; -- (NSBezierPath*)it_rotatedBezierPath:(float) angle aboutPoint:(NSPoint)point; - -@end - -@implementation NSBezierPath (IT_Geometry) - -- (NSBezierPath *)it_rotatedBezierPath:(float)angle { - return [self it_rotatedBezierPath:angle aboutPoint:NSMakePoint(NSMidX(self.bounds), NSMidY(self.bounds))]; -} - -- (NSBezierPath*)it_rotatedBezierPath:(float)angle aboutPoint:(NSPoint)point { - if(angle == 0.0) return self; - else - { - NSBezierPath* copy = [self copy]; - NSAffineTransform *xfm = [self it_rotationTransformWithAngle:angle aboutPoint:point]; - [copy transformUsingAffineTransform:xfm]; - - return copy; - } -} - -- (NSAffineTransform *)it_rotationTransformWithAngle:(const float)angle aboutPoint:(const NSPoint)aboutPoint { - NSAffineTransform *xfm = [NSAffineTransform transform]; - [xfm translateXBy:aboutPoint.x yBy:aboutPoint.y]; - [xfm rotateByRadians:angle]; - [xfm translateXBy:-aboutPoint.x yBy:-aboutPoint.y]; - - return xfm; -} - -@end - - - - -// ---------------------------------------------------------------------------------------- -#pragma mark - ITProgressIndicator -// ---------------------------------------------------------------------------------------- - -#pragma mark - Private Interface - -@interface ITProgressIndicator () -@property (nonatomic, strong, readonly) CALayer *rootLayer; -@property (nonatomic, strong, readonly) CALayer *progressIndicatorLayer; -@end - - -#pragma mark - Implementation - -@implementation ITProgressIndicator -@synthesize progressIndicatorLayer = _progressIndicatorLayer; - - -#pragma mark - Init - -- (id)initWithCoder:(NSCoder *)coder -{ - self = [super initWithCoder:coder]; - if (self) { - [self initLayers]; - } - return self; -} - -- (id)initWithFrame:(NSRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - [self initLayers]; - } - return self; -} - -- (void)initLayers { - // Setting initial values - self.color = [NSColor blackColor]; - self.innerMargin = 4; - self.widthOfLine = 3; - self.lengthOfLine = 6; - self.numberOfLines = 8; - self.animationDuration = 0.6; - self.isIndeterminate = YES; - self.steppedAnimation = YES; - self.hideWhenStopped = YES; - self.animates = YES; - - // Init layers - _rootLayer = [CALayer layer]; - self.layer = _rootLayer; - [self setWantsLayer:YES]; - self.progressIndicatorLayer.frame = _rootLayer.bounds; - [_rootLayer addSublayer:self.progressIndicatorLayer]; - - [self reloadIndicatorContent]; - [self reloadAnimation]; -} - -- (void)awakeFromNib { - [self reloadAnimation]; -} - -- (void)reloadIndicatorContent { - self.progressIndicatorLayer.contents = [self progressImage]; -} - -- (void)reloadAnimation { - [self.progressIndicatorLayer removeAnimationForKey:kITSpinAnimationKey]; - - if (self.animates) { - [self.progressIndicatorLayer addAnimation:[self keyFrameAnimationForCurrentPreferences] forKey:kITSpinAnimationKey]; - } -} - - -#pragma mark - Drawing - -- (NSImage *)progressImage { - NSImage *progressImage = [[NSImage alloc] initWithSize:self.bounds.size]; - [progressImage lockFocus]; - { - [NSGraphicsContext saveGraphicsState]; - { - [self.color set]; - - NSRect r = self.bounds; - NSBezierPath *line = [NSBezierPath bezierPathWithRoundedRect: - NSMakeRect((NSWidth(r) / 2) - (self.widthOfLine / 2), - (NSHeight(r) / 2) - self.innerMargin - self.lengthOfLine, - self.widthOfLine, self.lengthOfLine) - xRadius:self.widthOfLine / 2 - yRadius:self.widthOfLine / 2]; - - void (^lineDrawingBlock)(NSUInteger line) = - ^(NSUInteger lineNumber) { - NSBezierPath *lineInstance = [line copy]; - lineInstance = [lineInstance it_rotatedBezierPath:((2 * M_PI) / self.numberOfLines * lineNumber) + M_PI - aboutPoint:NSMakePoint(NSWidth(r) / 2, NSHeight(r) / 2)]; - - if (_isIndeterminate) [[self.color colorWithAlphaComponent:1.0 - (1.0 / self.numberOfLines * lineNumber)] set]; - - [lineInstance fill]; - }; - - if (!self.isIndeterminate) { - for (NSUInteger i = self.numberOfLines; - i > round(self.numberOfLines - (self.numberOfLines * self.progress)); - i--) - { - lineDrawingBlock(i); - } - } else { - for (NSUInteger i = 0; i < self.numberOfLines; i++) { - lineDrawingBlock(i); - } - } - } - [NSGraphicsContext restoreGraphicsState]; - } - [progressImage unlockFocus]; - - return progressImage; -} - - -#pragma mark - Helpers - -- (CAKeyframeAnimation *)keyFrameAnimationForCurrentPreferences { - NSMutableArray* keyFrameValues = [NSMutableArray array]; - NSMutableArray* keyTimeValues; - - if (self.steppedAnimation) { - { - [keyFrameValues addObject:[NSNumber numberWithFloat:0.0]]; - for (NSUInteger i = 0; i < self.numberOfLines; i++) { - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI * (2.0 / self.numberOfLines * i)]]; - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI * (2.0 / self.numberOfLines * i)]]; - } - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI*2.0]]; - } - - keyTimeValues = [NSMutableArray array]; - { - [keyTimeValues addObject:[NSNumber numberWithFloat:0.0]]; - for (NSUInteger i = 0; i < (self.numberOfLines - 1); i++) { - [keyTimeValues addObject:[NSNumber numberWithFloat:1.0 / self.numberOfLines * i]]; - [keyTimeValues addObject:[NSNumber numberWithFloat:1.0 / self.numberOfLines * (i + 1)]]; - } - [keyTimeValues addObject:[NSNumber numberWithFloat:1.0 / self.numberOfLines * (self.numberOfLines - 1)]]; - } - } else { - { - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI*0.0]]; - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI*0.5]]; - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI*1.0]]; - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI*1.5]]; - [keyFrameValues addObject:[NSNumber numberWithFloat:-M_PI*2.0]]; - } - } - - - CAKeyframeAnimation* animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"]; - - [animation setRepeatCount:HUGE_VALF]; - [animation setValues:keyFrameValues]; - [animation setKeyTimes:keyTimeValues]; - [animation setValueFunction:[CAValueFunction functionWithName: kCAValueFunctionRotateZ]]; - [animation setDuration:self.animationDuration]; - - return animation; -} - -- (void)reloadVisibility { - if (_hideWhenStopped && !_animates && _isIndeterminate) { - [self setHidden:YES]; - } else { - [self setHidden:NO]; - } -} - - -#pragma mark - NSView methods - -// Animatible proxy -+ (id)defaultAnimationForKey:(NSString *)key -{ - if ([key isEqualToString:kITProgressPropertyKey]) { - return [CABasicAnimation animation]; - } else { - return [super defaultAnimationForKey:key]; - } -} - - -#pragma mark - Setters & Getters - -- (void)setIndeterminate:(BOOL)isIndeterminate { - _isIndeterminate = isIndeterminate; - - if (!_isIndeterminate) { - self.animates = NO; - } -} - -- (void)setProgress:(CGFloat)progress { - if (progress < 0 || progress > 1) { - @throw [NSException exceptionWithName:@"Invalid `progress` property value" - reason:@"`progress` property needs to be between 0 and 1" - userInfo:nil]; - } - - _progress = progress; - - if (!self.isIndeterminate) { - [self reloadIndicatorContent]; - } -} - -- (void)setAnimates:(BOOL)animates { - _animates = animates; - [self reloadIndicatorContent]; - [self reloadAnimation]; - [self reloadVisibility]; -} - -- (void)setHideWhenStopped:(BOOL)hideWhenStopped { - _hideWhenStopped = hideWhenStopped; - [self reloadVisibility]; -} - -- (CALayer *)progressIndicatorLayer { - if (!_progressIndicatorLayer) { - _progressIndicatorLayer = [CALayer layer]; - } - - return _progressIndicatorLayer; -} - -- (void)setLengthOfLine:(CGFloat)lengthOfLine { - _lengthOfLine = lengthOfLine; - [self reloadIndicatorContent]; -} - -- (void)setWidthOfLine:(CGFloat)widthOfLine { - _widthOfLine = widthOfLine; - [self reloadIndicatorContent]; -} - -- (void)setInnerMargin:(CGFloat)innerMargin { - _innerMargin = innerMargin; - [self reloadIndicatorContent]; -} - -- (void)setAnimationDuration:(CGFloat)animationDuration { - _animationDuration = animationDuration; - [self reloadAnimation]; -} - -- (void)setNumberOfLines:(NSUInteger)numberOfLines { - _numberOfLines = numberOfLines; - [self reloadIndicatorContent]; - [self reloadAnimation]; -} - -- (void)setSteppedAnimation:(BOOL)steppedAnimation { - _steppedAnimation = steppedAnimation; - [self reloadAnimation]; -} - -- (void)setColor:(NSColor *)color { - _color = color; - [self reloadIndicatorContent]; -} - -@end diff --git a/src/views/PersonCell.h b/src/views/PersonCell.h deleted file mode 100644 index 34aeecdb..00000000 --- a/src/views/PersonCell.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import <Cocoa/Cocoa.h> - - -@interface PersonCell : NSTextFieldCell -{ - BOOL mIsEditingOrSelecting; - -} -@property NSImage *personImage; -@property NSString* primaryText; -@property NSString* secondaryText; - -@end diff --git a/src/views/PersonCell.mm b/src/views/PersonCell.mm deleted file mode 100644 index 9b6bede5..00000000 --- a/src/views/PersonCell.mm +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright (C) 2004-2015 Savoir-Faire Linux Inc. - * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. - */ - -#import "PersonCell.h" - -#define kImageOriginXOffset 3 -#define kImageOriginYOffset 1 - -#define kTextOriginXOffset 2 -#define kTextOriginYOffset 2 -#define kTextHeightAdjust 4 - -@implementation PersonCell - -// ------------------------------------------------------------------------------- -// initTextCell:aString -// ------------------------------------------------------------------------------- -- (instancetype)initTextCell:(NSString *)aString -{ - self = [super initTextCell:aString]; - if (self != nil) - { - // we want a smaller font - [self setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]]; - } - return self; -} - -// ------------------------------------------------------------------------------- -// copyWithZone:zone -// ------------------------------------------------------------------------------- -- (id)copyWithZone:(NSZone *)zone -{ - PersonCell *cell = (PersonCell *)[super copyWithZone:zone]; - cell.personImage = self.personImage; - return cell; -} - -// ------------------------------------------------------------------------------- -// titleRectForBounds:cellRect -// -// Returns the proper bound for the cell's title while being edited -// ------------------------------------------------------------------------------- -- (NSRect)titleRectForBounds:(NSRect)cellRect -{ - // the cell has an image: draw the normal item cell - NSSize imageSize; - NSRect imageFrame; - - imageSize = [self.personImage size]; - NSDivideRect(cellRect, &imageFrame, &cellRect, 3 + imageSize.width, NSMinXEdge); - - imageFrame.origin.x += kImageOriginXOffset; - imageFrame.origin.y -= kImageOriginYOffset; - imageFrame.size = imageSize; - - imageFrame.origin.y += ceil((cellRect.size.height - imageFrame.size.height) / 2); - - NSRect newFrame = cellRect; - newFrame.origin.x += kTextOriginXOffset; - newFrame.origin.y += kTextOriginYOffset; - newFrame.size.height -= kTextHeightAdjust; - - return newFrame; -} - -// ------------------------------------------------------------------------------- -// editWithFrame:inView:editor:delegate:event -// ------------------------------------------------------------------------------- -- (void)editWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject event:(NSEvent *)theEvent -{ - NSRect textFrame = [self titleRectForBounds:aRect]; - [super editWithFrame:textFrame inView:controlView editor:textObj delegate:anObject event:theEvent]; -} - -// ------------------------------------------------------------------------------- -// selectWithFrame:inView:editor:delegate:event:start:length -// ------------------------------------------------------------------------------- -- (void)selectWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject start:(NSInteger)selStart length:(NSInteger)selLength -{ - NSRect textFrame = [self titleRectForBounds:aRect]; - [super selectWithFrame:textFrame inView:controlView editor:textObj delegate:anObject start:selStart length:selLength]; -} - -// ------------------------------------------------------------------------------- -// drawWithFrame:cellFrame:controlView -// ------------------------------------------------------------------------------- -- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView -{ - NSRect newCellFrame = cellFrame; - - if (self.personImage != nil) - { - NSSize imageSize; - NSRect imageFrame; - - imageSize = [self.personImage size]; - NSDivideRect(newCellFrame, &imageFrame, &newCellFrame, imageSize.width, NSMinXEdge); - if ([self drawsBackground]) - { - [[self backgroundColor] set]; - NSRectFill(imageFrame); - } - - imageFrame.origin.y += 2; - imageFrame.size = imageSize; - - [self.personImage drawInRect:imageFrame - fromRect:NSZeroRect - operation:NSCompositeSourceOver - fraction:1.0 - respectFlipped:YES - hints:nil]; - } - - [super drawWithFrame:newCellFrame inView:controlView]; -} - -- (NSRect)drawingRectForBounds:(NSRect)theRect -{ - // Get the parent's idea of where we should draw - NSRect newRect = [super drawingRectForBounds:theRect]; - - // When the text field is being - // edited or selected, we have to turn off the magic because it screws up - // the configuration of the field editor. We sneak around this by - // intercepting selectWithFrame and editWithFrame and sneaking a - // reduced, centered rect in at the last minute. - if (mIsEditingOrSelecting == NO) - { - // Get our ideal size for current text - NSSize textSize = [self cellSizeForBounds:theRect]; - - // Center that in the proposed rect - float heightDelta = newRect.size.height - textSize.height; - if (heightDelta > 0) - { - newRect.size.height -= heightDelta; - newRect.origin.y += (heightDelta / 2); - } - } - return newRect; -} - -// ------------------------------------------------------------------------------- -// cellSize -// ------------------------------------------------------------------------------- -- (NSSize)cellSize -{ - NSSize cellSize = [super cellSize]; - cellSize.width += (self.personImage ? [self.personImage size].width : 0) + 3; - return cellSize; -} - -@end diff --git a/ui/AccAdvanced.xib b/ui/AccAdvanced.xib deleted file mode 100644 index 291a17d1..00000000 --- a/ui/AccAdvanced.xib +++ /dev/null @@ -1,342 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="13F1077" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AccAdvancedVC"> - <connections> - <outlet property="STUNserverURLField" destination="UzM-52-IoD" id="c9s-CY-ddq"/> - <outlet property="isUsingSTUN" destination="Ikz-bh-3CP" id="jVW-qt-Hli"/> - <outlet property="localPortField" destination="TgP-vt-AeS" id="tUL-iH-syM"/> - <outlet property="localPortStepper" destination="e6E-9n-08s" id="gYC-T3-tWa"/> - <outlet property="maxAudioPortStepper" destination="FI1-5p-EcC" id="Ccr-2G-j76"/> - <outlet property="maxAudioRTPRange" destination="GOf-0V-pyS" id="Mah-xo-lFA"/> - <outlet property="maxVideoPortStepper" destination="uac-nZ-Hcw" id="78s-Ku-9u2"/> - <outlet property="maxVideoRTPRange" destination="IJS-5x-riX" id="Qu6-kT-XHO"/> - <outlet property="minAudioPortStepper" destination="Bnh-Mc-8kR" id="fwD-ce-ucD"/> - <outlet property="minAudioRTPRange" destination="b3n-gl-1th" id="g0l-Xh-drV"/> - <outlet property="minVideoPortStepper" destination="caC-em-Z8T" id="6qu-g1-jMF"/> - <outlet property="minVideoRTPRange" destination="khU-Ue-Hen" id="zbv-aS-keU"/> - <outlet property="publishAddrAndPortRadioGroup" destination="2yz-X7-dVm" id="nYj-hx-kGP"/> - <outlet property="publishedAddrField" destination="ryd-ae-UlI" id="LEs-wA-9ZR"/> - <outlet property="publishedPortField" destination="dv9-ge-r39" id="8BV-0K-vYH"/> - <outlet property="registrationField" destination="Vy9-CY-MrG" id="VIZ-Xh-xgL"/> - <outlet property="registrationStepper" destination="A98-ed-6iq" id="9xz-YE-0Oj"/> - <outlet property="view" destination="AbB-UE-K5b" id="4kT-yF-ZLy"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="AbB-UE-K5b"> - <rect key="frame" x="0.0" y="0.0" width="403" height="448"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="34d-K8-hiB"> - <rect key="frame" x="0.0" y="-36" width="403" height="484"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PKT-m2-pyb"> - <rect key="frame" x="18" y="467" width="87" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Registration" id="yB5-ET-gBL"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="A98-ed-6iq"> - <rect key="frame" x="219" y="434" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="200" id="3kR-uk-WAl"/> - <connections> - <action selector="valueDidChange:" target="-2" id="eL2-tT-Wdd"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Vy9-CY-MrG"> - <rect key="frame" x="165" y="437" width="49" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="rtX-dk-eMQ"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="99r-pE-lsZ"/> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="4VF-mH-9oL"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5MD-Oa-odZ"> - <rect key="frame" x="32" y="440" width="127" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Registration expire:" id="fCd-4d-sP0"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hjM-Bv-taZ"> - <rect key="frame" x="18" y="398" width="125" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Network Interface" id="K9I-vh-jeu"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9Ql-Mh-xsG"> - <rect key="frame" x="18" y="332" width="127" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Published Address" id="Qf3-E3-5U6"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fG9-DY-4e7"> - <rect key="frame" x="92" y="371" width="71" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Local port:" id="shs-Xm-qnY"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ikz-bh-3CP"> - <rect key="frame" x="64" y="303" width="104" height="18"/> - <buttonCell key="cell" type="check" title="Using STUN" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="gVd-Dw-1B4"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleSTUN:" target="-2" id="bEq-xa-RSk"/> - </connections> - </button> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e6E-9n-08s"> - <rect key="frame" x="266" y="365" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="65534" id="sr0-PX-dXX"/> - <connections> - <action selector="valueDidChange:" target="-2" id="5GF-aO-SNO"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TgP-vt-AeS"> - <rect key="frame" x="165" y="368" width="96" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="x39-hY-AAQ"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="7Cv-xY-6X5"> - <real key="maximum" value="65534"/> - </numberFormatter> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="Nw1-aw-EYL"/> - </connections> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="UzM-52-IoD"> - <rect key="frame" x="165" y="301" width="216" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Server url..." drawsBackground="YES" id="0eY-9x-bAr"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="oVM-Gy-EtW"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8By-AB-PoT"> - <rect key="frame" x="17" y="184" width="152" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Audio RTP port Range" id="Jho-hi-Mvg"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Bnh-Mc-8kR"> - <rect key="frame" x="198" y="153" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="65534" id="IDZ-ip-UEs"/> - <connections> - <action selector="valueDidChange:" target="-2" id="Daw-BV-Edf"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="b3n-gl-1th"> - <rect key="frame" x="97" y="156" width="96" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="fsG-bB-ubb"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="oaP-iC-Alq"> - <real key="maximum" value="65534"/> - </numberFormatter> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="mJQ-Rw-fAz"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cXv-gK-UME"> - <rect key="frame" x="63" y="159" width="28" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Min" id="FQ4-fp-Pxj"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FI1-5p-EcC"> - <rect key="frame" x="364" y="153" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="65534" id="6DL-JU-9vo"/> - <connections> - <action selector="valueDidChange:" target="-2" id="qZ3-R2-m60"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GOf-0V-pyS"> - <rect key="frame" x="263" y="156" width="96" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="rcL-uY-sov"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="nBc-fC-RAm"> - <real key="maximum" value="65534"/> - </numberFormatter> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="CfD-13-buD"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="x2Z-q3-aIi"> - <rect key="frame" x="229" y="159" width="30" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Max" id="oa2-Pe-6Uw"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZUS-3h-z8V"> - <rect key="frame" x="16" y="123" width="150" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Video RTP port Range" id="XA8-Sy-CYG"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="caC-em-Z8T"> - <rect key="frame" x="197" y="92" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="65534" id="uSL-4H-pJJ"/> - <connections> - <action selector="valueDidChange:" target="-2" id="gab-7r-VfC"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="khU-Ue-Hen"> - <rect key="frame" x="96" y="95" width="96" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="J1A-gZ-lMv"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="7Vg-kX-7gY"> - <real key="maximum" value="65534"/> - </numberFormatter> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="aPt-Wo-7Lr"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KPh-9i-Qrw"> - <rect key="frame" x="62" y="98" width="28" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Min" id="a6W-wm-OmC"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uac-nZ-Hcw"> - <rect key="frame" x="363" y="92" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="65534" id="heA-0J-Vqe"/> - <connections> - <action selector="valueDidChange:" target="-2" id="uJU-9R-UJR"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IJS-5x-riX"> - <rect key="frame" x="262" y="95" width="96" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="L2A-qa-yTI"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="qXb-fv-xC6"> - <real key="maximum" value="65534"/> - </numberFormatter> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="flV-30-UWF"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bcF-7Z-p3q"> - <rect key="frame" x="228" y="98" width="30" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Max" id="dbq-qU-93x"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <matrix verticalHuggingPriority="750" fixedFrame="YES" allowsEmptySelection="NO" autorecalculatesCellSize="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2yz-X7-dVm"> - <rect key="frame" x="64" y="255" width="320" height="38"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - <size key="cellSize" width="217" height="18"/> - <size key="intercellSpacing" width="4" height="2"/> - <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="fB0-X8-GXk"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <cells> - <column> - <buttonCell type="radio" title="Same as local parameters" imagePosition="left" alignment="left" state="on" tag="1" inset="2" id="Atv-t7-5YJ"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <buttonCell type="radio" title="Set published address and port" imagePosition="left" alignment="left" inset="2" id="OL5-DI-aCq"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </column> - </cells> - <connections> - <action selector="didSwitchPublishedAddress:" target="-2" id="Vvb-5M-Kjg"/> - </connections> - </matrix> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ryd-ae-UlI"> - <rect key="frame" x="87" y="225" width="187" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="qPj-kN-HbQ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dv9-ge-r39"> - <rect key="frame" x="316" y="225" width="63" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="O4C-1Q-phD"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bMB-dd-hy0"> - <rect key="frame" x="280" y="228" width="30" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Port" id="wl8-YK-M76"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vXQ-hF-wyV"> - <rect key="frame" x="30" y="228" width="55" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Address" id="sTk-1C-1KO"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Kpt-7R-pUj"> - <rect key="frame" x="240" y="440" width="55" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="seconds" id="xGw-j0-4ID"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - </customView> - </subviews> - <point key="canvasLocation" x="127.5" y="478"/> - </customView> - </objects> -</document> diff --git a/ui/AccAudio.xib b/ui/AccAudio.xib deleted file mode 100644 index bea5d2f4..00000000 --- a/ui/AccAudio.xib +++ /dev/null @@ -1,168 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6254" systemVersion="13F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6254"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AccAudioVC"> - <connections> - <outlet property="codecsView" destination="qUo-eR-iuq" id="gyu-3z-rNc"/> - <outlet property="view" destination="c22-O7-iKe" id="PBG-fI-bZm"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="c22-O7-iKe"> - <rect key="frame" x="0.0" y="0.0" width="525" height="356"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <scrollView focusRingType="none" fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yLX-W9-gcE"> - <rect key="frame" x="32" y="122" width="317" height="189"/> - <clipView key="contentView" misplaced="YES" id="ttA-YT-HQA"> - <rect key="frame" x="1" y="17" width="238" height="117"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="WuO-RU-Dfb" indentationPerLevel="16" outlineTableColumn="PGV-RF-f13" id="qUo-eR-iuq"> - <rect key="frame" x="0.0" y="0.0" width="315" height="19"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="AudioStateColumn" width="49.3828125" minWidth="10" maxWidth="3.4028234663852886e+38" id="txE-JZ-54H"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Enabled"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <buttonCell key="dataCell" type="check" bezelStyle="regularSquare" imagePosition="overlaps" inset="2" id="9bj-Tu-ggx"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - <connections> - <action selector="toggleCodec:" target="-2" id="huW-3m-PQc"/> - </connections> - </buttonCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="AudioCodecsColumn" width="116" minWidth="40" maxWidth="1000" id="PGV-RF-f13"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Codecs"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Text" id="RBO-p6-Wej"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="AudioFrequencyColumn" width="64" minWidth="10" maxWidth="3.4028234663852886e+38" id="hjc-hd-CQe"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Frequency"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="PYp-JZ-g1v"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="AudioBitrateColumn" width="73.5" minWidth="10" maxWidth="3.4028234663852886e+38" id="sd4-Co-8hS"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Bitrate"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="bZK-L6-HSm"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - </tableColumns> - <connections> - <outlet property="delegate" destination="-2" id="PfI-dp-hKo"/> - </connections> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="tAn-XY-KM0"> - <rect key="frame" x="1" y="119" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="e9m-eK-gwP"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="WuO-RU-Dfb"> - <rect key="frame" x="0.0" y="0.0" width="238" height="17"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zaU-3l-OYA"> - <rect key="frame" x="26" y="89" width="58" height="32"/> - <buttonCell key="cell" type="push" title="Up" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="MbZ-7X-K5I"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="moveUp:" target="-2" id="3SD-Po-WZK"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qs3-sN-wPV"> - <rect key="frame" x="18" y="319" width="53" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Codecs" id="biN-bX-qM1"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ipf-oU-a70"> - <rect key="frame" x="18" y="63" width="72" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Ringtones" id="aMg-uJ-Krx"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <pathControl hidden="YES" verticalHuggingPriority="750" fixedFrame="YES" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8cX-0X-us7"> - <rect key="frame" x="161" y="25" width="207" height="26"/> - <pathCell key="cell" selectable="YES" editable="YES" alignment="left" pathStyle="popUp" id="SGo-Cl-DoP"> - <font key="font" metaFont="system"/> - <url key="url" string="file://localhost/Applications/"/> - <allowedTypes> - <string>public.folder</string> - </allowedTypes> - </pathCell> - <connections> - <outlet property="delegate" destination="-2" id="X9a-9D-s9f"/> - </connections> - </pathControl> - <button hidden="YES" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Hmk-UR-N3c"> - <rect key="frame" x="30" y="29" width="128" height="18"/> - <buttonCell key="cell" type="check" title="Enable ringtones" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="KkI-i1-mfY"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xN7-EP-314"> - <rect key="frame" x="77" y="89" width="76" height="32"/> - <buttonCell key="cell" type="push" title="Down" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Bbz-hd-1CE"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="moveDown:" target="-2" id="mQQ-dj-CAq"/> - </connections> - </button> - </subviews> - <point key="canvasLocation" x="139.5" y="52"/> - </customView> - </objects> -</document> diff --git a/ui/AccGeneral.xib b/ui/AccGeneral.xib deleted file mode 100644 index b4d5ad2d..00000000 --- a/ui/AccGeneral.xib +++ /dev/null @@ -1,221 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AccGeneralVC"> - <connections> - <outlet property="aliasTextField" destination="cGn-lu-mR8" id="G6U-3X-2rr"/> - <outlet property="autoAnswerButton" destination="FTy-Hl-7T5" id="fx4-rJ-nkq"/> - <outlet property="boxingAccount" destination="glf-lD-9Ek" id="dBv-Qv-b6s"/> - <outlet property="boxingCommon" destination="7NY-Hh-Icd" id="h49-Lo-Dvu"/> - <outlet property="boxingParameters" destination="q3B-PO-gof" id="0IJ-nh-QcG"/> - <outlet property="passwordTextField" destination="z6E-MS-XO4" id="7fs-ya-IdO"/> - <outlet property="serverHostTextField" destination="VQ7-fk-qZo" id="QC9-bM-d21"/> - <outlet property="typeLabel" destination="PlU-eH-IIN" id="UkJ-O6-zNs"/> - <outlet property="upnpButton" destination="Yzc-a2-DiF" id="lT2-iz-yAO"/> - <outlet property="userAgentButton" destination="P32-TS-Ny3" id="OUI-PW-iVC"/> - <outlet property="userAgentTextField" destination="kYw-wK-QQ3" id="gi0-cN-A0d"/> - <outlet property="usernameTextField" destination="buY-tc-FzT" id="16j-lL-5qR"/> - <outlet property="view" destination="c22-O7-iKe" id="7Iz-V2-xwH"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="c22-O7-iKe"> - <rect key="frame" x="0.0" y="0.0" width="481" height="413"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="glf-lD-9Ek"> - <rect key="frame" x="0.0" y="297" width="481" height="96"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Nfh-LJ-1Ua"> - <rect key="frame" x="18" y="70" width="56" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Account" id="iDL-4x-HD7"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cGn-lu-mR8"> - <rect key="frame" x="70" y="38" width="150" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="XAv-CR-j3y"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="4xl-t6-6ES"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MI7-us-ZkL"> - <rect key="frame" x="32" y="13" width="38" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Type:" id="kBP-se-g6m"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mAb-FM-hKN"> - <rect key="frame" x="30" y="45" width="34" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Alias" id="c1H-HN-jVv"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PlU-eH-IIN"> - <rect key="frame" x="68" y="13" width="35" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="TYPE" id="oqm-WC-cUn"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - </customView> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="q3B-PO-gof"> - <rect key="frame" x="0.0" y="159" width="481" height="130"/> - <subviews> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="buY-tc-FzT"> - <rect key="frame" x="171" y="43" width="150" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="BZ0-CK-ZiB"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="caT-Ue-Eqc"/> - </connections> - </textField> - <secureTextField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="z6E-MS-XO4"> - <rect key="frame" x="171" y="3" width="150" height="22"/> - <secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="j5K-aY-7a7"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - <allowedInputSourceLocales> - <string>NSAllRomanInputSourcesLocaleIdentifier</string> - </allowedInputSourceLocales> - </secureTextFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="VWB-U6-6cX"/> - </connections> - </secureTextField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="okm-Pr-cQr"> - <rect key="frame" x="96" y="46" width="67" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Username:" id="iP9-Y8-f6g"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VQ7-fk-qZo"> - <rect key="frame" x="171" y="83" width="150" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="f2O-9o-s6f"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="X87-TV-z3J"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XLL-uL-tGL"> - <rect key="frame" x="103" y="8" width="62" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Password:" id="rbi-vX-SIf"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="H6b-V3-Fr1"> - <rect key="frame" x="52" y="86" width="113" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Server hostname:" id="jfA-bh-FEA"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jDy-a2-As7"> - <rect key="frame" x="18" y="111" width="81" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Parameters" id="yHO-fn-nw5"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="SEc-jZ-TUE"> - <rect key="frame" x="327" y="5" width="129" height="18"/> - <buttonCell key="cell" type="check" title="Show password" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="Ue3-ai-FBV"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="showPassword:" target="-2" id="5zI-is-yfV"/> - </connections> - </button> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jgg-ZS-LyJ"> - <rect key="frame" x="323" y="37" width="137" height="32"/> - <buttonCell key="cell" type="push" title="Try Registration" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="j6w-ZG-17T"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="tryRegistration:" target="-2" id="KIF-Ps-esl"/> - </connections> - </button> - </subviews> - </customView> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7NY-Hh-Icd"> - <rect key="frame" x="0.0" y="22" width="481" height="129"/> - <subviews> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FTy-Hl-7T5"> - <rect key="frame" x="18" y="63" width="135" height="18"/> - <buttonCell key="cell" type="check" title="Auto-answer calls" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="bMM-fn-lDE"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleAutoAnswer:" target="-2" id="kPB-je-Xwq"/> - </connections> - </button> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="P32-TS-Ny3"> - <rect key="frame" x="18" y="32" width="168" height="18"/> - <buttonCell key="cell" type="check" title="Use custom user-agent" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="G7B-Zc-Ssi"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleCustomAgent:" target="-2" id="rRm-Uw-ytS"/> - </connections> - </button> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kYw-wK-QQ3"> - <rect key="frame" x="192" y="30" width="224" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="eZQ-nF-umK"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="SUB-cL-2oC"/> - </connections> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Yzc-a2-DiF"> - <rect key="frame" x="18" y="93" width="110" height="18"/> - <buttonCell key="cell" type="check" title="Upnp enabled" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="66H-HH-dbA"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleUpnp:" target="-2" id="4P9-Jo-ztu"/> - </connections> - </button> - </subviews> - </customView> - </subviews> - <point key="canvasLocation" x="-37.5" y="53.5"/> - </customView> - </objects> -</document> diff --git a/ui/AccRing.xib b/ui/AccRing.xib deleted file mode 100644 index 82eebdb4..00000000 --- a/ui/AccRing.xib +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="14C1510" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AccRingVC"> - <connections> - <outlet property="aliasTextField" destination="D7f-4A-xXM" id="i9Y-jZ-iWM"/> - <outlet property="autoAnswerButton" destination="6uh-UC-6i9" id="6e1-1I-OY3"/> - <outlet property="bootstrapField" destination="phb-wW-DQS" id="kcY-7z-bjM"/> - <outlet property="hashField" destination="c6M-WV-uVk" id="Jhb-0k-sBc"/> - <outlet property="typeLabel" destination="vov-vT-UPq" id="cy7-xb-0xG"/> - <outlet property="upnpButton" destination="eaR-8q-smW" id="8KN-3k-B3c"/> - <outlet property="userAgentButton" destination="e6G-kW-opo" id="HC1-QL-Z0U"/> - <outlet property="userAgentTextField" destination="fJM-4J-mvZ" id="2jX-ak-jgJ"/> - <outlet property="view" destination="Hz6-mo-xeY" id="SZA-8c-IZl"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="Hz6-mo-xeY"> - <rect key="frame" x="0.0" y="0.0" width="481" height="430"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="c6M-WV-uVk"> - <rect key="frame" x="42" y="219" width="419" height="30"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" borderStyle="border" alignment="center" title="hash" id="cf0-xD-2WZ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FlW-Vd-Eem"> - <rect key="frame" x="40" y="186" width="112" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Bootstrap servers" id="B6b-iB-REZ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4QL-FW-Kjb"> - <rect key="frame" x="40" y="257" width="377" height="34"/> - <textFieldCell key="cell" sendsActionOnEndEditing="YES" title="This is the hash you need to communicate to pass calls with a RING account" id="bca-Wv-Xul"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="P8b-Ru-H5G"> - <rect key="frame" x="18" y="298" width="77" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Hash DHT" id="dPO-b1-o58"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="D7f-4A-xXM"> - <rect key="frame" x="80" y="365" width="150" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="HN3-i9-zmw"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="6da-DY-mtf"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="iSd-2v-I3h"> - <rect key="frame" x="18" y="393" width="56" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Account" id="1Sx-Et-CDM"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PJq-0f-wMN"> - <rect key="frame" x="42" y="336" width="38" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Type:" id="ubB-AZ-nAm"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="idQ-yZ-XB3"> - <rect key="frame" x="40" y="368" width="34" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Alias" id="Wzq-V2-YLU"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vov-vT-UPq"> - <rect key="frame" x="78" y="336" width="35" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="TYPE" id="Bqr-Gq-OgA"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="phb-wW-DQS"> - <rect key="frame" x="158" y="183" width="303" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="WQz-3X-MeC"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="2dc-GE-Fic"/> - </connections> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6uh-UC-6i9"> - <rect key="frame" x="18" y="115" width="135" height="18"/> - <buttonCell key="cell" type="check" title="Auto-answer calls" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="OeY-na-0YT"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleAutoAnswer:" target="-2" id="ir9-1A-f2c"/> - </connections> - </button> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e6G-kW-opo"> - <rect key="frame" x="18" y="84" width="168" height="18"/> - <buttonCell key="cell" type="check" title="Use custom user-agent" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="ddk-1G-0jU"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleCustomAgent:" target="-2" id="SZh-M9-dRS"/> - </connections> - </button> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fJM-4J-mvZ"> - <rect key="frame" x="192" y="82" width="269" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Rs0-jZ-NYs"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="fRb-fH-3R6"/> - </connections> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="eaR-8q-smW"> - <rect key="frame" x="18" y="145" width="110" height="18"/> - <buttonCell key="cell" type="check" title="Upnp enabled" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="lHI-bz-ddQ"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleUpnp:" target="-2" id="Ptl-25-3Xz"/> - </connections> - </button> - </subviews> - <point key="canvasLocation" x="139.5" y="233"/> - </customView> - </objects> -</document> diff --git a/ui/AccSecurity.xib b/ui/AccSecurity.xib deleted file mode 100644 index 30b8bc62..00000000 --- a/ui/AccSecurity.xib +++ /dev/null @@ -1,337 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AccSecurityVC"> - <connections> - <outlet property="caListPathControl" destination="D3W-lQ-lnP" id="LS8-ny-clH"/> - <outlet property="certificatePathControl" destination="nm6-E0-NSH" id="fCd-di-v07"/> - <outlet property="cipherListView" destination="J53-ev-CMr" id="G0A-j6-uHa"/> - <outlet property="outgoingTlsServerName" destination="Zw6-Ys-Kie" id="JQC-aS-9eu"/> - <outlet property="pvkPasswordField" destination="bZ4-7D-4l0" id="EEN-a1-4oT"/> - <outlet property="pvkPathControl" destination="88W-qC-bQk" id="rWY-57-6pv"/> - <outlet property="requireCertButton" destination="oUu-x4-vV2" id="PNH-3v-phG"/> - <outlet property="srtpRTPFallback" destination="uPY-dc-wnh" id="mqd-Uf-g1o"/> - <outlet property="tlsContainer" destination="Ubf-Oe-BbE" id="a5m-qR-9n2"/> - <outlet property="tlsMethodList" destination="OzX-Lm-vTo" id="t16-Ed-be0"/> - <outlet property="tlsNegotiationTimeout" destination="Vei-qo-Elj" id="aHP-q0-cLi"/> - <outlet property="tlsNegotiationTimeoutStepper" destination="HTb-Hz-UsO" id="nAt-yM-bvQ"/> - <outlet property="useSRTP" destination="MDR-gI-NEM" id="cEh-uu-v1A"/> - <outlet property="useTLS" destination="KkG-2O-ExR" id="Ain-yM-iXd"/> - <outlet property="verifyCertAsClientButton" destination="IEc-xs-DVB" id="jxt-UK-0Pr"/> - <outlet property="verifyCertAsServerButton" destination="zc3-fU-bFt" id="DmT-0V-uWA"/> - <outlet property="view" destination="Hz6-mo-xeY" id="zzq-0g-nOy"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="Hz6-mo-xeY"> - <rect key="frame" x="0.0" y="0.0" width="694" height="628"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KkG-2O-ExR"> - <rect key="frame" x="18" y="532" width="133" height="18"/> - <buttonCell key="cell" type="check" title="Use TLS transport" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="oTT-gO-fqM"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleUseTLS:" target="-2" id="ThA-al-8l0"/> - </connections> - </button> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ubf-Oe-BbE"> - <rect key="frame" x="27" y="305" width="625" height="221"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JIN-cT-eC7"> - <rect key="frame" x="54" y="85" width="135" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="TLS protocol method" id="uOE-XA-5gW"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <pathControl verticalHuggingPriority="750" fixedFrame="YES" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="D3W-lQ-lnP"> - <rect key="frame" x="193" y="177" width="200" height="26"/> - <pathCell key="cell" selectable="YES" editable="YES" alignment="left" pathStyle="popUp" id="onD-BW-yiQ"> - <font key="font" metaFont="system"/> - </pathCell> - <connections> - <action selector="caListPathControlSingleClick:" target="-2" id="q3F-hD-ivO"/> - <outlet property="delegate" destination="-2" id="xmv-cI-kXi"/> - </connections> - </pathControl> - <pathControl verticalHuggingPriority="750" fixedFrame="YES" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nm6-E0-NSH"> - <rect key="frame" x="193" y="146" width="200" height="26"/> - <pathCell key="cell" selectable="YES" editable="YES" alignment="left" pathStyle="popUp" id="jgm-ZK-yDf"> - <font key="font" metaFont="system"/> - </pathCell> - <connections> - <action selector="certificatePathControlSingleClick:" target="-2" id="QEp-Pf-AmX"/> - <outlet property="delegate" destination="-2" id="7dO-SK-pkt"/> - </connections> - </pathControl> - <pathControl verticalHuggingPriority="750" fixedFrame="YES" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="88W-qC-bQk"> - <rect key="frame" x="193" y="111" width="200" height="26"/> - <pathCell key="cell" selectable="YES" editable="YES" alignment="left" pathStyle="popUp" id="peP-JR-p0s"> - <font key="font" metaFont="system"/> - </pathCell> - <connections> - <action selector="pvkFilePathControlSingleClick:" target="-2" id="zsf-fI-Wms"/> - <outlet property="delegate" destination="-2" id="Lg6-ti-eMl"/> - </connections> - </pathControl> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oPj-Ol-4rt"> - <rect key="frame" x="92" y="150" width="101" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="User Certificate" id="Jqz-P0-zAz"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1Si-LL-vAi"> - <rect key="frame" x="121" y="117" width="72" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Private key" id="JHb-iu-ZwI"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OzX-Lm-vTo"> - <rect key="frame" x="194" y="80" width="204" height="26"/> - <popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="XAT-9Y-9e0"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" title="tlsmethodlist" id="hOG-SW-CBI"> - <connections> - <outlet property="delegate" destination="-2" id="ri6-UD-0cj"/> - </connections> - </menu> - </popUpButtonCell> - <connections> - <action selector="chooseTlsMethod:" target="-2" id="Mas-vi-T6e"/> - </connections> - </popUpButton> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Vei-qo-Elj"> - <rect key="frame" x="346" y="17" width="96" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="wIn-YV-Pbm"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="Duh-um-Evj"/> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="vaP-6X-fFT"/> - </connections> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Zw6-Ys-Kie"> - <rect key="frame" x="346" y="46" width="244" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="CAB-Dc-UQr"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="OPQ-A6-Llk"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TnB-RJ-T6u"> - <rect key="frame" x="23" y="49" width="317" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Server name instance for outgoing TLS connection" id="UxS-et-whJ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9Nq-Sf-LSO"> - <rect key="frame" x="211" y="20" width="129" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Negociation timeout" id="9Q3-1W-Lh3"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Bea-Hp-LP1"> - <rect key="frame" x="392" y="169" width="39" height="38"/> - <buttonCell key="cell" type="round" bezelStyle="circular" image="NSInfo" imagePosition="above" alignment="left" borderStyle="border" imageScaling="proportionallyDown" id="un1-35-2si"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="label"/> - </buttonCell> - <connections> - <action selector="showCA:" target="-2" id="tfO-R7-Odx"/> - </connections> - </button> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aTq-AA-kGe"> - <rect key="frame" x="392" y="138" width="39" height="38"/> - <buttonCell key="cell" type="round" bezelStyle="circular" image="NSInfo" imagePosition="above" alignment="left" borderStyle="border" imageScaling="proportionallyDown" id="lFn-d8-HkS"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="label"/> - </buttonCell> - <connections> - <action selector="showEndpointCertificate:" target="-2" id="1dC-9g-Uax"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="J7P-Gf-Pq8"> - <rect key="frame" x="38" y="181" width="155" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Certificate Authority list" id="vPF-Rp-aR6"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <secureTextField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bZ4-7D-4l0"> - <rect key="frame" x="398" y="112" width="192" height="22"/> - <secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" placeholderString="Password..." drawsBackground="YES" usesSingleLineMode="YES" id="7c2-kF-dcs"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - <allowedInputSourceLocales> - <string>NSAllRomanInputSourcesLocaleIdentifier</string> - </allowedInputSourceLocales> - </secureTextFieldCell> - <connections> - <outlet property="delegate" destination="-2" id="xf5-zS-Th0"/> - </connections> - </secureTextField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HTb-Hz-UsO"> - <rect key="frame" x="447" y="14" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="NiO-pL-W7t"/> - <connections> - <action selector="valueDidChange:" target="-2" id="SZI-r3-CRu"/> - </connections> - </stepper> - </subviews> - </customView> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Hb0-lT-WfA"> - <rect key="frame" x="27" y="35" width="625" height="262"/> - <subviews> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3df-06-qZy"> - <rect key="frame" x="44" y="178" width="160" height="18"/> - <buttonCell key="cell" type="check" title="Use custom cipher list" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="2e5-zS-ghg"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zc3-fU-bFt"> - <rect key="frame" x="44" y="63" width="290" height="18"/> - <buttonCell key="cell" type="check" title="Verify incoming certificates, as a server" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="x2s-ov-cVQ"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleVerifyCertServer:" target="-2" id="c4y-hN-v0d"/> - </connections> - </button> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oUu-x4-vV2"> - <rect key="frame" x="44" y="42" width="333" height="18"/> - <buttonCell key="cell" type="check" title="Require certificates for incoming TLS connections" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="1f9-X5-ykb"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleRequireCert:" target="-2" id="4Vu-Hg-beA"/> - </connections> - </button> - <scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rf5-DP-g8u"> - <rect key="frame" x="230" y="113" width="395" height="149"/> - <clipView key="contentView" misplaced="YES" id="5qx-CS-RZZ"> - <rect key="frame" x="1" y="17" width="238" height="117"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="d0e-h3-O5f" indentationPerLevel="16" outlineTableColumn="n3A-3A-ad2" id="J53-ev-CMr"> - <rect key="frame" x="0.0" y="0.0" width="393" height="19"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="StateColumn" width="30.08984375" minWidth="10" maxWidth="3.4028234663852886e+38" id="Ctd-77-A6e" userLabel="State"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <buttonCell key="dataCell" type="check" bezelStyle="regularSquare" imagePosition="overlaps" alignment="left" inset="2" id="lbr-Bo-TJZ"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - <connections> - <action selector="toggleCipher:" target="-2" id="IJu-SC-UzR"/> - </connections> - </buttonCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="CipherNameColumn" width="357" minWidth="40" maxWidth="1000" id="n3A-3A-ad2"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="5LC-T6-hpk"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - </tableColumns> - <connections> - <outlet property="delegate" destination="-2" id="wwd-1j-4m9"/> - </connections> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="IPW-7g-Ykq"> - <rect key="frame" x="1" y="119" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="P9Y-fn-MnT"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="d0e-h3-O5f"> - <rect key="frame" x="0.0" y="0.0" width="238" height="17"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IEc-xs-DVB"> - <rect key="frame" x="44" y="83" width="243" height="18"/> - <buttonCell key="cell" type="check" title="Verify certificates, as a client" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="1xi-9G-zOX"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleVerifyCertAsClient:" target="-2" id="fau-7t-gD2"/> - </connections> - </button> - </subviews> - </customView> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uPY-dc-wnh"> - <rect key="frame" x="38" y="564" width="149" height="18"/> - <buttonCell key="cell" type="check" title="Fallback on RTP" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Ig9-B1-7N3"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleRTPFallback:" target="-2" id="UOi-fW-eWB"/> - </connections> - </button> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MDR-gI-NEM"> - <rect key="frame" x="18" y="592" width="85" height="18"/> - <buttonCell key="cell" type="check" title="Use SRTP" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="YtQ-hx-hih"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleUseSRTP:" target="-2" id="crs-ka-i2O"/> - </connections> - </button> - </subviews> - <point key="canvasLocation" x="263" y="156"/> - </customView> - </objects> - <resources> - <image name="NSInfo" width="32" height="32"/> - </resources> -</document> diff --git a/ui/AccVideo.xib b/ui/AccVideo.xib deleted file mode 100644 index d6b02dbd..00000000 --- a/ui/AccVideo.xib +++ /dev/null @@ -1,156 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="13F1077" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AccVideoVC"> - <connections> - <outlet property="codecsView" destination="H2b-i2-whr" id="bYR-bH-sP6"/> - <outlet property="toggleVideoButton" destination="cmS-cV-mVo" id="gSM-x9-hli"/> - <outlet property="videoPanelContainer" destination="qN4-Se-Waf" id="dfa-7c-bzY"/> - <outlet property="view" destination="c22-O7-iKe" id="H3B-2k-h1y"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="c22-O7-iKe"> - <rect key="frame" x="0.0" y="0.0" width="432" height="342"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cmS-cV-mVo"> - <rect key="frame" x="18" y="306" width="102" height="18"/> - <buttonCell key="cell" type="check" title="Enable video" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="ZYO-6G-DC2"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleVideoEnabled:" target="-2" id="nS4-3Q-Exm"/> - </connections> - </button> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qN4-Se-Waf"> - <rect key="frame" x="33" y="55" width="379" height="245"/> - <subviews> - <scrollView focusRingType="none" fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Xq-Du-JwG"> - <rect key="frame" x="0.0" y="46" width="315" height="170"/> - <clipView key="contentView" focusRingType="none" misplaced="YES" id="rmO-Zw-KC1"> - <rect key="frame" x="1" y="17" width="238" height="117"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="bYO-LR-nVo" indentationPerLevel="16" outlineTableColumn="DSk-Vi-l91" id="H2b-i2-whr"> - <rect key="frame" x="0.0" y="0.0" width="366" height="19"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="VideoStateColumn" width="50" minWidth="10" maxWidth="100" id="eGS-FS-4hO" userLabel="State"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Enabled"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <buttonCell key="dataCell" type="check" bezelStyle="regularSquare" imagePosition="overlaps" inset="2" id="bwc-hf-hZK"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - <connections> - <action selector="toggleCodec:" target="-2" id="A0P-gP-mz3"/> - </connections> - </buttonCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="VideoCodecsColumn" width="116" minWidth="40" maxWidth="1000" id="DSk-Vi-l91"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Codecs"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Text" id="DmR-7J-s8s"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="VideoFrequencyColumn" width="64" minWidth="10" maxWidth="3.4028234663852886e+38" id="WAr-DG-2aa"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Frequency"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="dRe-pp-ok2"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="VideoBitrateColumn" width="124" minWidth="10" maxWidth="3.4028234663852886e+38" id="jvv-dK-jMu"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Bitrate"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="HcP-F1-RiZ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - </tableColumns> - <connections> - <outlet property="delegate" destination="-2" id="cLl-c7-8rg"/> - </connections> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <scroller key="horizontalScroller" verticalHuggingPriority="750" horizontal="YES" id="TDX-wc-woT"> - <rect key="frame" x="1" y="119" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="d7s-2o-Oxb"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="bYO-LR-nVo"> - <rect key="frame" x="0.0" y="0.0" width="238" height="17"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Kgn-Ue-zMe"> - <rect key="frame" x="42" y="13" width="76" height="32"/> - <buttonCell key="cell" type="push" title="Down" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="YYh-3p-JG5"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="moveDown:" target="-2" id="Eew-cq-oSJ"/> - </connections> - </button> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8M7-MC-vJE"> - <rect key="frame" x="-6" y="13" width="58" height="32"/> - <buttonCell key="cell" type="push" title="Up" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ZYZ-Vd-MXi"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="moveUp:" target="-2" id="y2e-P5-leK"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="flI-L9-J7Q"> - <rect key="frame" x="3" y="224" width="53" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Codecs" id="DlW-RF-2xv"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - </customView> - </subviews> - <point key="canvasLocation" x="273" y="167"/> - </customView> - </objects> -</document> diff --git a/ui/Accounts.xib b/ui/Accounts.xib deleted file mode 100644 index 45f798da..00000000 --- a/ui/Accounts.xib +++ /dev/null @@ -1,256 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="14C1510" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AccountsVC"> - <connections> - <outlet property="accountDetailsView" destination="Jki-s4-F1W" id="8zf-XP-bql"/> - <outlet property="accountsListView" destination="Dsf-ph-Qfe" id="uT8-nv-e0W"/> - <outlet property="advancedTabItem" destination="RT7-u6-bhe" id="eAT-ce-MyD"/> - <outlet property="audioTabItem" destination="hiU-GG-6Eg" id="D2g-nf-MQS"/> - <outlet property="configPanels" destination="Jki-s4-F1W" id="nY4-dc-CQg"/> - <outlet property="generalTabItem" destination="tPR-Ac-N5Y" id="39S-pz-1Xs"/> - <outlet property="protocolList" destination="rZv-qd-BGe" id="yU0-6C-Vt1"/> - <outlet property="ringTabItem" destination="1HC-kF-Jun" id="FJZ-2g-Y1i"/> - <outlet property="securityTabItem" destination="Vp5-yV-ScC" id="FDx-0T-3t9"/> - <outlet property="videoTabItem" destination="GIU-kn-D57" id="oH6-MT-bSN"/> - <outlet property="view" destination="Hz6-mo-xeY" id="eBn-rZ-84z"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="Hz6-mo-xeY"> - <rect key="frame" x="0.0" y="0.0" width="894" height="525"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <scrollView focusRingType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="USD-1t-wb3"> - <rect key="frame" x="20" y="164" width="320" height="341"/> - <clipView key="contentView" misplaced="YES" id="fqt-7S-Xp4"> - <rect key="frame" x="1" y="17" width="238" height="117"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="0lm-pU-hrg" indentationPerLevel="16" outlineTableColumn="Ppv-dQ-Azf" id="Dsf-ph-Qfe"> - <rect key="frame" x="0.0" y="0.0" width="318" height="19"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="EnableColumn" width="51.234375" minWidth="10" maxWidth="3.4028234663852886e+38" id="Ybc-ak-pA6"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Enabled"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <buttonCell key="dataCell" type="check" bezelStyle="regularSquare" imagePosition="overlaps" alignment="center" inset="2" id="DaG-xx-jzW"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="NameColumn" editable="NO" width="123.640625" minWidth="40" maxWidth="1000" id="Ppv-dQ-Azf"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Accounts"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Text" id="qIw-uf-vBM"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="StateColumn" editable="NO" width="134.5" minWidth="10" maxWidth="3.4028234663852886e+38" id="GB3-Dr-Fey"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Status"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="State" id="ntA-Li-XNQ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - </tableColumns> - <connections> - <action selector="toggleAccount:" target="-2" id="NMv-Mg-7TX"/> - <outlet property="delegate" destination="-2" id="SI8-vg-gB0"/> - </connections> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <constraints> - <constraint firstAttribute="width" constant="320" id="L7g-ZA-zfy"/> - </constraints> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="2Jz-0X-Ltx"> - <rect key="frame" x="1" y="117.97246444225311" width="238" height="16"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="0TD-fd-ht6"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="0lm-pU-hrg"> - <rect key="frame" x="0.0" y="0.0" width="10000" height="17"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - <button identifier="RemoveAccount" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="99I-xI-Ioi"> - <rect key="frame" x="14" y="128" width="82" height="32"/> - <constraints> - <constraint firstAttribute="height" constant="21" id="Lcf-3l-7oj"/> - <constraint firstAttribute="width" constant="70" id="YaI-pj-FUh"/> - </constraints> - <buttonCell key="cell" type="push" bezelStyle="rounded" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Ziu-EK-QJX"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="removeAccount:" target="-2" id="h9h-4J-fcH"/> - </connections> - </button> - <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zWn-Zy-Uau"> - <rect key="frame" x="14" y="74" width="82" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="70" id="wC2-dX-oeG"/> - </constraints> - <buttonCell key="cell" type="push" bezelStyle="rounded" image="NSAddTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="3we-3L-Sib"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="addAccount:" target="-2" id="P9N-LS-Ikk"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9VL-9a-rDg"> - <rect key="frame" x="18" y="110" width="107" height="17"/> - <constraints> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="41" id="VFE-du-cB1"/> - </constraints> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Create Account" id="OZ9-qH-dYW"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rZv-qd-BGe"> - <rect key="frame" x="96" y="78" width="247" height="26"/> - <popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" identifier="protocolList" imageScaling="proportionallyDown" inset="2" id="bfy-Lh-jXj"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" id="C4E-fX-038"> - <connections> - <outlet property="delegate" destination="-2" id="J3b-L2-TQ3"/> - </connections> - </menu> - </popUpButtonCell> - <connections> - <action selector="protocolSelectedChanged:" target="-2" id="83Y-L0-Bav"/> - </connections> - </popUpButton> - <tabView hidden="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Jki-s4-F1W"> - <rect key="frame" x="341" y="11" width="540" height="500"/> - <font key="font" metaFont="system"/> - <tabViewItems> - <tabViewItem label="General" identifier="1" id="tPR-Ac-N5Y"> - <view key="view" id="8c3-Js-oxO"> - <rect key="frame" x="10" y="33" width="520" height="454"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - </view> - </tabViewItem> - <tabViewItem label="Audio" identifier="2" id="hiU-GG-6Eg"> - <view key="view" id="yYL-8c-xzR"> - <rect key="frame" x="10" y="33" width="520" height="454"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - </view> - </tabViewItem> - <tabViewItem label="Video" identifier="" id="GIU-kn-D57"> - <view key="view" id="hD4-t0-Nbw"> - <rect key="frame" x="10" y="33" width="520" height="454"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - </view> - </tabViewItem> - <tabViewItem label="Advanced" identifier="" id="RT7-u6-bhe"> - <view key="view" id="Pp4-JG-r1v"> - <rect key="frame" x="10" y="33" width="520" height="454"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - </view> - </tabViewItem> - <tabViewItem label="Security" identifier="" id="Vp5-yV-ScC"> - <view key="view" id="p3d-5C-tAZ"> - <rect key="frame" x="10" y="33" width="520" height="454"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - </view> - </tabViewItem> - <tabViewItem label="Ring" identifier="" id="1HC-kF-Jun"> - <view key="view" id="asB-J0-2bi"> - <rect key="frame" x="10" y="33" width="520" height="454"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - </view> - </tabViewItem> - </tabViewItems> - <connections> - <outlet property="delegate" destination="-2" id="hfK-WK-DJT"/> - </connections> - </tabView> - <button verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IqR-Q4-2bh"> - <rect key="frame" x="266" y="128" width="80" height="32"/> - <buttonCell key="cell" type="push" title="Down" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6Co-ei-tUA"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="moveDown:" target="-2" id="0GS-Xo-bu7"/> - </connections> - </button> - <button verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dxk-Wh-H0B"> - <rect key="frame" x="186" y="128" width="80" height="32"/> - <buttonCell key="cell" type="push" title="Up" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="HoA-BH-xam"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="moveUp:" target="-2" id="Na8-jb-xhV"/> - </connections> - </button> - </subviews> - <constraints> - <constraint firstItem="99I-xI-Ioi" firstAttribute="top" secondItem="USD-1t-wb3" secondAttribute="bottom" constant="8" id="1XJ-nm-ejL"/> - <constraint firstItem="USD-1t-wb3" firstAttribute="trailing" secondItem="rZv-qd-BGe" secondAttribute="trailing" id="6e4-1p-ZkS"/> - <constraint firstAttribute="bottom" secondItem="Jki-s4-F1W" secondAttribute="bottom" constant="21" id="C1O-rd-eUI"/> - <constraint firstItem="99I-xI-Ioi" firstAttribute="leading" secondItem="USD-1t-wb3" secondAttribute="leading" id="DEr-QA-KVD"/> - <constraint firstItem="9VL-9a-rDg" firstAttribute="top" secondItem="99I-xI-Ioi" secondAttribute="bottom" constant="8" id="Hqz-b8-72b"/> - <constraint firstItem="dxk-Wh-H0B" firstAttribute="top" secondItem="USD-1t-wb3" secondAttribute="bottom" constant="8" id="I6a-5r-IWG"/> - <constraint firstAttribute="trailing" secondItem="Jki-s4-F1W" secondAttribute="trailing" constant="20" id="J96-3h-sxa"/> - <constraint firstItem="zWn-Zy-Uau" firstAttribute="top" secondItem="rZv-qd-BGe" secondAttribute="top" id="KqW-8M-1Ad"/> - <constraint firstItem="99I-xI-Ioi" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="Mif-e1-csx"/> - <constraint firstItem="zWn-Zy-Uau" firstAttribute="leading" secondItem="9VL-9a-rDg" secondAttribute="leading" id="N5s-qp-4jy"/> - <constraint firstItem="zWn-Zy-Uau" firstAttribute="top" secondItem="9VL-9a-rDg" secondAttribute="bottom" constant="8" id="PQk-F1-OVM"/> - <constraint firstItem="IqR-Q4-2bh" firstAttribute="trailing" secondItem="USD-1t-wb3" secondAttribute="trailing" id="PRl-vJ-LZB"/> - <constraint firstAttribute="bottom" secondItem="zWn-Zy-Uau" secondAttribute="bottom" constant="81" id="TKb-2d-r0S"/> - <constraint firstItem="zWn-Zy-Uau" firstAttribute="bottom" secondItem="rZv-qd-BGe" secondAttribute="bottom" id="UIa-O1-w7s"/> - <constraint firstItem="USD-1t-wb3" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="UMl-rU-m5q"/> - <constraint firstItem="zWn-Zy-Uau" firstAttribute="leading" secondItem="99I-xI-Ioi" secondAttribute="leading" id="b1b-5h-ggf"/> - <constraint firstItem="zWn-Zy-Uau" firstAttribute="leading" secondItem="USD-1t-wb3" secondAttribute="leading" id="b7w-li-5Xd"/> - <constraint firstItem="IqR-Q4-2bh" firstAttribute="top" secondItem="USD-1t-wb3" secondAttribute="bottom" constant="8" id="bn8-b3-3Bx"/> - <constraint firstItem="Jki-s4-F1W" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" id="fez-KJ-jhG"/> - <constraint firstItem="USD-1t-wb3" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" id="kk3-Vh-Zw5"/> - <constraint firstItem="zWn-Zy-Uau" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="lRr-SS-K5h"/> - <constraint firstItem="Jki-s4-F1W" firstAttribute="leading" secondItem="USD-1t-wb3" secondAttribute="trailing" constant="8" id="sH0-jY-3Fg"/> - <constraint firstItem="rZv-qd-BGe" firstAttribute="leading" secondItem="zWn-Zy-Uau" secondAttribute="trailing" constant="8" id="y2z-JO-Y63"/> - <constraint firstItem="IqR-Q4-2bh" firstAttribute="leading" secondItem="dxk-Wh-H0B" secondAttribute="trailing" constant="12" id="yYZ-UL-F0F"/> - </constraints> - <point key="canvasLocation" x="517" y="249.5"/> - </customView> - </objects> - <resources> - <image name="NSAddTemplate" width="11" height="11"/> - <image name="NSRemoveTemplate" width="11" height="11"/> - </resources> -</document> diff --git a/ui/AudioPrefs.xib b/ui/AudioPrefs.xib deleted file mode 100644 index 3dcd213e..00000000 --- a/ui/AudioPrefs.xib +++ /dev/null @@ -1,148 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="13F1077" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="AudioPrefsVC"> - <connections> - <outlet property="alwaysRecordingButton" destination="kOg-hX-1Q5" id="n6R-hv-JLY"/> - <outlet property="inputDeviceList" destination="bK9-uH-jDb" id="zhZ-Cr-n6B"/> - <outlet property="muteDTMFButton" destination="Jyg-5H-Ygw" id="PDq-aH-ieL"/> - <outlet property="outputDeviceList" destination="9SA-9E-IzQ" id="YpE-Fz-J8P"/> - <outlet property="recordingsPathControl" destination="nyE-tZ-v4C" id="4cw-pY-c3Z"/> - <outlet property="view" destination="c22-O7-iKe" id="qz7-de-jg2"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="c22-O7-iKe"> - <rect key="frame" x="0.0" y="0.0" width="362" height="424"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="deY-JV-Rfe"> - <rect key="frame" x="20" y="20" width="322" height="384"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ftI-JV-7cE"> - <rect key="frame" x="19" y="347" width="80" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recordings" id="9HH-Pa-4Aq"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Y73-M5-wnx"> - <rect key="frame" x="44" y="226" width="53" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Output:" id="2gZ-Ab-XHf"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="She-fN-vzD"> - <rect key="frame" x="46" y="322" width="49" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Save in" id="ksV-r2-EVJ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kOg-hX-1Q5"> - <rect key="frame" x="46" y="287" width="130" height="18"/> - <buttonCell key="cell" type="check" title="Always recording" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="jeD-Nk-KHA"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleAlwaysRecording:" target="-2" id="sOq-tA-ZBV"/> - </connections> - </button> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9SA-9E-IzQ" userLabel="Outputs"> - <rect key="frame" x="96" y="221" width="209" height="26"/> - <popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="4Fp-hR-KdJ"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" title="outputlist" id="eao-Bf-buc"> - <connections> - <outlet property="delegate" destination="-2" id="dXz-O7-2jP"/> - </connections> - </menu> - </popUpButtonCell> - <connections> - <action selector="chooseOutput:" target="-2" id="SIh-kG-rV5"/> - </connections> - </popUpButton> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bMB-Zm-k0Z"> - <rect key="frame" x="20" y="253" width="99" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Audio devices" id="B0r-wh-wc3"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JuP-vn-Oim"> - <rect key="frame" x="19" y="136" width="92" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Tone settings:" id="NvN-ip-svk"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Jyg-5H-Ygw"> - <rect key="frame" x="115" y="135" width="94" height="18"/> - <buttonCell key="cell" type="check" title="Mute DTMF" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="pAA-Iv-EmI"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleMuteDTMF:" target="-2" id="RNQ-D2-2m6"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wn2-fz-UW2"> - <rect key="frame" x="56" y="185" width="42" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Input:" id="x1o-rT-jy6"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bK9-uH-jDb" userLabel="Inputs"> - <rect key="frame" x="99" y="180" width="206" height="26"/> - <popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="3mj-4K-xif"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" title="inputlist" id="szZ-RR-Ewo"> - <connections> - <outlet property="delegate" destination="-2" id="g3C-Tc-BTO"/> - </connections> - </menu> - </popUpButtonCell> - <connections> - <action selector="chooseInput:" target="-2" id="ADO-Qj-tAz"/> - </connections> - </popUpButton> - <pathControl verticalHuggingPriority="750" fixedFrame="YES" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nyE-tZ-v4C"> - <rect key="frame" x="95" y="318" width="210" height="26"/> - <pathCell key="cell" selectable="YES" editable="YES" alignment="left" pathStyle="popUp" id="SPB-Bz-vDM"> - <font key="font" metaFont="system"/> - <url key="url" string="file://localhost/Applications/"/> - </pathCell> - <connections> - <action selector="pathControlSingleClick:" target="-2" id="jyC-qZ-OzW"/> - <outlet property="delegate" destination="-2" id="JXx-Le-f5R"/> - </connections> - </pathControl> - </subviews> - </customView> - </subviews> - <constraints> - <constraint firstAttribute="trailing" secondItem="deY-JV-Rfe" secondAttribute="trailing" constant="20" id="EI7-CU-xOt"/> - <constraint firstAttribute="centerX" secondItem="deY-JV-Rfe" secondAttribute="centerX" id="LTH-TO-EQo"/> - <constraint firstItem="deY-JV-Rfe" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="20" id="Yfs-Gb-o1f"/> - <constraint firstAttribute="bottom" secondItem="deY-JV-Rfe" secondAttribute="bottom" constant="20" id="aKg-uU-3ut"/> - <constraint firstItem="deY-JV-Rfe" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" constant="20" id="kYM-ud-zum"/> - </constraints> - <point key="canvasLocation" x="220" y="241"/> - </customView> - </objects> -</document> diff --git a/ui/CertificateWindow.xib b/ui/CertificateWindow.xib deleted file mode 100644 index 107b06f3..00000000 --- a/ui/CertificateWindow.xib +++ /dev/null @@ -1,148 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="13F1077" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="CertificateWC"> - <connections> - <outlet property="window" destination="QvC-M9-y7g" id="bos-rN-Jgz"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="QvC-M9-y7g"> - <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> - <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> - <rect key="contentRect" x="196" y="240" width="601" height="388"/> - <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1050"/> - <view key="contentView" id="EiT-Mj-1SZ"> - <rect key="frame" x="0.0" y="0.0" width="601" height="388"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Oot-0X-jju"> - <rect key="frame" x="20" y="54" width="561" height="135"/> - <clipView key="contentView" misplaced="YES" id="rbk-gh-ueD"> - <rect key="frame" x="1" y="17" width="238" height="117"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" headerView="MKo-as-RdY" viewBased="YES" indentationPerLevel="16" outlineTableColumn="UEk-iW-QGt" id="GQE-up-gwL"> - <rect key="frame" x="0.0" y="0.0" width="238" height="117"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn width="116" minWidth="40" maxWidth="1000" id="UEk-iW-QGt"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="G7a-wY-fOS"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - <prototypeCellViews> - <tableCellView id="EQf-hj-0zK"> - <rect key="frame" x="1" y="1" width="116" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qaS-Bh-sxP"> - <rect key="frame" x="0.0" y="0.0" width="100" height="17"/> - <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="Od1-pH-TGO"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <connections> - <outlet property="textField" destination="qaS-Bh-sxP" id="OtI-5l-esy"/> - </connections> - </tableCellView> - </prototypeCellViews> - </tableColumn> - <tableColumn width="437" minWidth="40" maxWidth="1000" id="09Y-Vz-ax6"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="RMj-fd-OsX"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - <prototypeCellViews> - <tableCellView id="ekp-aB-Wuv"> - <rect key="frame" x="120" y="1" width="437" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="A3p-Z8-Fhy"> - <rect key="frame" x="0.0" y="0.0" width="100" height="17"/> - <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="khh-uZ-Keh"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <connections> - <outlet property="textField" destination="A3p-Z8-Fhy" id="5Ui-kq-mhW"/> - </connections> - </tableCellView> - </prototypeCellViews> - </tableColumn> - </tableColumns> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Gim-9c-e4f"> - <rect key="frame" x="1" y="119" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="Gdk-7j-Chx"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="MKo-as-RdY"> - <rect key="frame" x="0.0" y="0.0" width="238" height="17"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pXw-HJ-Apl"> - <rect key="frame" x="505" y="13" width="82" height="32"/> - <buttonCell key="cell" type="push" title="OK" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="x6p-u4-4Ot"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - <string key="keyEquivalent" base64-UTF8="YES"> -DQ -</string> - </buttonCell> - <connections> - <action selector="closePanel:" target="-2" id="0f6-l1-xBw"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yvG-8F-MvY"> - <rect key="frame" x="18" y="351" width="177" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Certificate information" id="BrE-Hz-sVE"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - </view> - <connections> - <outlet property="delegate" destination="-2" id="3wn-SC-48D"/> - </connections> - <point key="canvasLocation" x="167.5" y="128"/> - </window> - </objects> -</document> diff --git a/ui/CurrentCall.xib b/ui/CurrentCall.xib deleted file mode 100644 index 49907df9..00000000 --- a/ui/CurrentCall.xib +++ /dev/null @@ -1,372 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14D2134" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="CurrentCallVC"> - <connections> - <outlet property="chatButton" destination="fmp-x4-Pef" id="ARt-dr-TRo"/> - <outlet property="controlsPanel" destination="Eoi-B8-iL6" id="4xn-3b-SNn"/> - <outlet property="hangUpButton" destination="Kjq-iM-NBL" id="Puz-4L-Okl"/> - <outlet property="holdOnOffButton" destination="anb-Y8-JQi" id="HSl-pE-Kwg"/> - <outlet property="loadingIndicator" destination="JwW-2h-DyZ" id="EEb-50-oSJ"/> - <outlet property="muteAudioButton" destination="tQl-cT-0Lb" id="qV4-Ef-UTx"/> - <outlet property="muteVideoButton" destination="LVS-yZ-98V" id="qQs-zP-wQ4"/> - <outlet property="personLabel" destination="bg3-hB-nE8" id="t6l-1B-JxI"/> - <outlet property="pickUpButton" destination="qgD-3D-nD5" id="mkD-IT-22E"/> - <outlet property="previewView" destination="6y6-RH-qOp" id="1PY-sd-mh4"/> - <outlet property="recordOnOffButton" destination="oRa-pS-HN2" id="N7C-wn-0le"/> - <outlet property="splitView" destination="GIJ-gB-FZo" id="PM0-az-Q8X"/> - <outlet property="stateLabel" destination="kFD-FB-vig" id="SSO-14-q2t"/> - <outlet property="timeSpentLabel" destination="cIU-M7-xpN" id="9Rl-t3-gjY"/> - <outlet property="videoView" destination="2wf-Py-l6B" id="dEF-Gx-w6x"/> - <outlet property="view" destination="Hz6-mo-xeY" id="VKn-lN-ijP"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="Hz6-mo-xeY"> - <rect key="frame" x="0.0" y="0.0" width="1014" height="509"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <splitView dividerStyle="thin" vertical="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GIJ-gB-FZo"> - <rect key="frame" x="0.0" y="0.0" width="1014" height="509"/> - <subviews> - <customView id="2wf-Py-l6B" customClass="CallView"> - <rect key="frame" x="0.0" y="0.0" width="675" height="509"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="d0X-cW-Xgz"> - <rect key="frame" x="20" y="438" width="635" height="71"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kFD-FB-vig"> - <rect key="frame" x="18" y="42" width="37" height="17"/> - <constraints> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="29" id="pft-oc-ZNh"/> - </constraints> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="State" id="ugy-uK-901"> - <font key="font" metaFont="system"/> - <color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="highlightColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cIU-M7-xpN"> - <rect key="frame" x="513" y="23" width="104" height="24"/> - <constraints> - <constraint firstAttribute="width" constant="100" id="9vz-kb-6L6"/> - </constraints> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Time" id="zsO-T7-9yi"> - <font key="font" size="20" name="HelveticaNeue"/> - <color key="textColor" name="alternateSelectedControlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="highlightColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="string" keyPath="layer.cornerRadius" value="15"/> - </userDefinedRuntimeAttributes> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bg3-hB-nE8"> - <rect key="frame" x="18" y="17" width="85" height="17"/> - <constraints> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="81" id="gT7-Wu-XtU"/> - </constraints> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Person name" id="osk-LS-0Qg"> - <font key="font" metaFont="system"/> - <color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <constraints> - <constraint firstItem="kFD-FB-vig" firstAttribute="leading" secondItem="bg3-hB-nE8" secondAttribute="leading" id="LXG-QI-oPf"/> - <constraint firstItem="cIU-M7-xpN" firstAttribute="top" secondItem="d0X-cW-Xgz" secondAttribute="top" constant="24" id="Qc7-qp-qSV"/> - <constraint firstAttribute="trailing" secondItem="cIU-M7-xpN" secondAttribute="trailing" constant="20" id="RXf-xZ-4f9"/> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="568" id="Xeq-Aa-f1W"/> - <constraint firstItem="kFD-FB-vig" firstAttribute="top" secondItem="bg3-hB-nE8" secondAttribute="bottom" constant="-42" id="Z06-5v-81Q"/> - <constraint firstItem="kFD-FB-vig" firstAttribute="top" secondItem="bg3-hB-nE8" secondAttribute="bottom" constant="-42" id="gRn-E6-o6O"/> - <constraint firstItem="kFD-FB-vig" firstAttribute="leading" secondItem="d0X-cW-Xgz" secondAttribute="leading" constant="20" id="i5C-8o-qKp"/> - <constraint firstAttribute="bottom" secondItem="kFD-FB-vig" secondAttribute="bottom" constant="42" id="l71-7V-oLx"/> - <constraint firstItem="bg3-hB-nE8" firstAttribute="leading" secondItem="d0X-cW-Xgz" secondAttribute="leading" constant="20" id="nV4-Vy-vqK"/> - <constraint firstAttribute="centerY" secondItem="cIU-M7-xpN" secondAttribute="centerY" id="yvc-8B-cEu"/> - </constraints> - </customView> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="6y6-RH-qOp" userLabel="Preview"> - <rect key="frame" x="480" y="20" width="175" height="120"/> - <constraints> - <constraint firstAttribute="height" constant="120" id="BvU-kV-0uD"/> - <constraint firstAttribute="width" constant="175" id="aEv-Tt-tSD"/> - </constraints> - </customView> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="Eoi-B8-iL6" userLabel="Controls"> - <rect key="frame" x="20" y="20" width="452" height="81"/> - <subviews> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Kjq-iM-NBL" userLabel="Hang Up"> - <rect key="frame" x="162" y="40" width="58" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="54" id="7Ja-wI-kLL"/> - <constraint firstAttribute="height" constant="27" id="E2W-LK-NfM"/> - </constraints> - <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="ic_action_hangup" imagePosition="overlaps" alignment="left" borderStyle="border" imageScaling="proportionallyDown" id="kR5-bV-2KY"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="hangUp:" target="-2" id="1Fj-b8-nfh"/> - </connections> - </button> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tQl-cT-0Lb" userLabel="Mute Audio"> - <rect key="frame" x="197" y="5" width="58" height="32"/> - <constraints> - <constraint firstAttribute="height" constant="27" id="TbE-0y-0UT"/> - <constraint firstAttribute="width" constant="54" id="eIi-Jg-kdC"/> - </constraints> - <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="ic_action_mute_audio" imagePosition="overlaps" alignment="left" borderStyle="border" imageScaling="proportionallyDown" id="7wg-Q4-mbD"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="muteAudio:" target="-2" id="DBk-mG-FLj"/> - </connections> - </button> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LVS-yZ-98V" userLabel="Mute Video"> - <rect key="frame" x="259" y="5" width="58" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="54" id="D26-l1-SRe"/> - <constraint firstAttribute="height" constant="27" id="qDd-Wq-7QG"/> - </constraints> - <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="ic_action_mute_video" imagePosition="overlaps" alignment="left" borderStyle="border" imageScaling="proportionallyDown" id="sSe-V6-C7i"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="muteVideo:" target="-2" id="a6W-aB-zWX"/> - </connections> - </button> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qgD-3D-nD5" userLabel="Accept"> - <rect key="frame" x="100" y="40" width="58" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="54" id="9Aq-GM-wT2"/> - <constraint firstAttribute="height" constant="27" id="mnN-fs-Rr6"/> - </constraints> - <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="ic_action_call" imagePosition="overlaps" alignment="left" borderStyle="border" imageScaling="proportionallyDown" id="CoO-HS-nEB"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="accept:" target="-2" id="maS-G8-eY7"/> - </connections> - </button> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oRa-pS-HN2"> - <rect key="frame" x="124" y="5" width="69" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="65" id="Afw-2T-aY9"/> - <constraint firstAttribute="height" constant="27" id="t21-HC-Wvs"/> - </constraints> - <buttonCell key="cell" type="bevel" title="Record" bezelStyle="regularSquare" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" id="rhz-4Z-avV"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleRecording:" target="-2" id="gAc-ZJ-9PN"/> - </connections> - </button> - <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="anb-Y8-JQi" userLabel="Hold"> - <rect key="frame" x="224" y="40" width="53" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="49" id="QBx-uC-sub"/> - <constraint firstAttribute="height" constant="27" id="nPV-iA-aaw"/> - </constraints> - <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="ic_action_hold" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" id="7w5-d1-mNe"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleHold:" target="-2" id="O18-nN-hHE"/> - </connections> - </button> - <button wantsLayer="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fmp-x4-Pef" userLabel="Chat"> - <rect key="frame" x="281" y="40" width="54" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="50" id="eC5-B4-omb"/> - <constraint firstAttribute="height" constant="27" id="wYS-TH-4rc"/> - </constraints> - <backgroundFilters> - <ciFilter name="CIColorMonochrome"> - <configuration> - <ciColor key="inputColor" red="1" green="0.53908981990000004" blue="0.1518531061" alpha="1"/> - <null key="inputImage"/> - <real key="inputIntensity" value="1"/> - </configuration> - </ciFilter> - </backgroundFilters> - <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="ic_action_chat" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyUpOrDown" id="1fJ-X6-Rza"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleChat:" target="-2" id="7HN-HS-oqT"/> - </connections> - </button> - </subviews> - <constraints> - <constraint firstItem="qgD-3D-nD5" firstAttribute="top" secondItem="Eoi-B8-iL6" secondAttribute="top" constant="11" id="1lr-kB-A5h"/> - <constraint firstItem="Kjq-iM-NBL" firstAttribute="leading" secondItem="qgD-3D-nD5" secondAttribute="trailing" constant="8" id="3iK-1x-F2q"/> - <constraint firstItem="anb-Y8-JQi" firstAttribute="top" secondItem="Eoi-B8-iL6" secondAttribute="top" constant="11" id="4C3-og-43v"/> - <constraint firstAttribute="bottom" secondItem="fmp-x4-Pef" secondAttribute="bottom" constant="43" id="4qt-Sw-3oV"/> - <constraint firstItem="LVS-yZ-98V" firstAttribute="top" secondItem="fmp-x4-Pef" secondAttribute="bottom" constant="8" id="6Tt-Zj-Gnf"/> - <constraint firstAttribute="bottom" secondItem="LVS-yZ-98V" secondAttribute="bottom" constant="8" id="9xT-hf-H7Q"/> - <constraint firstAttribute="bottom" secondItem="Kjq-iM-NBL" secondAttribute="bottom" constant="43" id="IPS-1V-PVm"/> - <constraint firstItem="LVS-yZ-98V" firstAttribute="leading" secondItem="tQl-cT-0Lb" secondAttribute="trailing" constant="8" id="IUv-fA-Zva"/> - <constraint firstAttribute="bottom" secondItem="qgD-3D-nD5" secondAttribute="bottom" constant="43" id="KYy-za-dDq"/> - <constraint firstItem="anb-Y8-JQi" firstAttribute="leading" secondItem="Kjq-iM-NBL" secondAttribute="trailing" constant="8" id="Mcj-US-rZq"/> - <constraint firstAttribute="bottom" secondItem="anb-Y8-JQi" secondAttribute="bottom" constant="43" id="MwL-3I-lJv"/> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="385" id="TSJ-9A-brf"/> - <constraint firstItem="fmp-x4-Pef" firstAttribute="top" secondItem="Eoi-B8-iL6" secondAttribute="top" constant="11" id="Wmf-0A-jba"/> - <constraint firstItem="Kjq-iM-NBL" firstAttribute="top" secondItem="Eoi-B8-iL6" secondAttribute="top" constant="11" id="a1R-g8-5gl"/> - <constraint firstAttribute="bottom" secondItem="oRa-pS-HN2" secondAttribute="bottom" constant="8" id="aOv-xQ-1pk"/> - <constraint firstItem="fmp-x4-Pef" firstAttribute="leading" secondItem="anb-Y8-JQi" secondAttribute="trailing" constant="8" id="bSy-yw-J5C"/> - <constraint firstItem="tQl-cT-0Lb" firstAttribute="leading" secondItem="oRa-pS-HN2" secondAttribute="trailing" constant="8" id="d6a-bF-2d5"/> - <constraint firstItem="oRa-pS-HN2" firstAttribute="top" secondItem="Eoi-B8-iL6" secondAttribute="top" constant="46" id="faC-l8-iCU"/> - <constraint firstItem="tQl-cT-0Lb" firstAttribute="top" secondItem="anb-Y8-JQi" secondAttribute="bottom" constant="8" id="gZK-fs-Aml"/> - <constraint firstItem="oRa-pS-HN2" firstAttribute="leading" secondItem="Eoi-B8-iL6" secondAttribute="leading" constant="126" id="htl-he-rlg"/> - <constraint firstAttribute="bottom" secondItem="tQl-cT-0Lb" secondAttribute="bottom" constant="8" id="iWQ-V7-2PF"/> - <constraint firstItem="fmp-x4-Pef" firstAttribute="leading" secondItem="anb-Y8-JQi" secondAttribute="trailing" constant="8" id="jfN-xU-POX"/> - <constraint firstItem="qgD-3D-nD5" firstAttribute="leading" secondItem="oRa-pS-HN2" secondAttribute="trailing" constant="-89" id="wQF-FD-dbj"/> - </constraints> - </customView> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="JwW-2h-DyZ" customClass="ITProgressIndicator"> - <rect key="frame" x="287" y="205" width="100" height="100"/> - <constraints> - <constraint firstAttribute="height" constant="100" id="gpl-re-hHE"/> - <constraint firstAttribute="width" constant="100" id="nmo-HF-lhL"/> - </constraints> - </customView> - </subviews> - <constraints> - <constraint firstAttribute="centerX" secondItem="JwW-2h-DyZ" secondAttribute="centerX" id="4eh-az-oI5"/> - <constraint firstItem="6y6-RH-qOp" firstAttribute="leading" secondItem="Eoi-B8-iL6" secondAttribute="trailing" constant="8" id="7wV-uh-Xb7"/> - <constraint firstAttribute="trailing" secondItem="d0X-cW-Xgz" secondAttribute="trailing" constant="20" id="G79-Jv-EYw"/> - <constraint firstAttribute="bottom" secondItem="6y6-RH-qOp" secondAttribute="bottom" constant="20" id="HOt-7O-FU2"/> - <constraint firstAttribute="trailing" secondItem="6y6-RH-qOp" secondAttribute="trailing" constant="20" id="KTx-SN-RUg"/> - <constraint firstItem="d0X-cW-Xgz" firstAttribute="top" secondItem="2wf-Py-l6B" secondAttribute="top" id="MKB-zm-C75"/> - <constraint firstAttribute="centerY" secondItem="JwW-2h-DyZ" secondAttribute="centerY" id="Na1-o4-4Ds"/> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="675" id="ciq-ed-2FK"/> - <constraint firstItem="d0X-cW-Xgz" firstAttribute="leading" secondItem="2wf-Py-l6B" secondAttribute="leading" constant="20" id="efy-70-qsJ"/> - <constraint firstAttribute="bottom" secondItem="Eoi-B8-iL6" secondAttribute="bottom" constant="20" id="glQ-Is-Pk6"/> - <constraint firstItem="Eoi-B8-iL6" firstAttribute="leading" secondItem="2wf-Py-l6B" secondAttribute="leading" constant="20" id="sHw-xg-QAo"/> - </constraints> - </customView> - <customView id="TdD-3L-553"> - <rect key="frame" x="676" y="0.0" width="338" height="509"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kW2-Cx-fNv"> - <rect key="frame" x="274" y="13" width="50" height="32"/> - <constraints> - <constraint firstAttribute="width" constant="38" id="0Qx-5g-ThL"/> - </constraints> - <buttonCell key="cell" type="push" bezelStyle="rounded" image="NSGoRightTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="5Nl-aV-9kl"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="sendMessage:" target="LWe-df-dS6" id="Hlj-og-5rV"/> - <binding destination="LWe-df-dS6" name="enabled" keyPath="self.message.length" id="ec2-s1-Hpt"/> - </connections> - </button> - <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OBX-o0-u1k"> - <rect key="frame" x="20" y="20" width="252" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" state="on" borderStyle="bezel" bezelStyle="round" id="QW9-Ty-ZEe"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="LWe-df-dS6" name="value" keyPath="self.message" id="suS-k6-ypU"> - <dictionary key="options"> - <bool key="NSContinuouslyUpdatesValue" value="YES"/> - </dictionary> - </binding> - <outlet property="delegate" destination="LWe-df-dS6" id="9by-zr-IW0"/> - </connections> - </textField> - <scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="i3X-6S-mKF"> - <rect key="frame" x="0.0" y="50" width="338" height="459"/> - <clipView key="contentView" id="Tbz-Bj-Y3K"> - <rect key="frame" x="1" y="1" width="223" height="133"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textView editable="NO" importsGraphics="NO" findStyle="panel" continuousSpellChecking="YES" allowsUndo="YES" usesRuler="YES" usesFontPanel="YES" verticallyResizable="YES" allowsNonContiguousLayout="YES" quoteSubstitution="YES" dataDetection="YES" dashSubstitution="YES" spellingCorrection="YES" smartInsertDelete="YES" id="9jD-8j-lXO"> - <rect key="frame" x="0.0" y="0.0" width="223" height="459"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> - <size key="minSize" width="338" height="459"/> - <size key="maxSize" width="463" height="10000000"/> - <color key="insertionPointColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <size key="minSize" width="338" height="459"/> - <size key="maxSize" width="463" height="10000000"/> - </textView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="Uo5-G8-d2s"> - <rect key="frame" x="-100" y="-100" width="87" height="18"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="eno-qS-nJm"> - <rect key="frame" x="224" y="1" width="15" height="133"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - </scrollView> - </subviews> - <constraints> - <constraint firstItem="kW2-Cx-fNv" firstAttribute="leading" secondItem="OBX-o0-u1k" secondAttribute="trailing" constant="8" id="5sg-0N-YSw"/> - <constraint firstAttribute="bottom" secondItem="kW2-Cx-fNv" secondAttribute="bottom" constant="20" id="EeC-o1-xNE"/> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="250" id="KI6-XT-afu"/> - <constraint firstItem="i3X-6S-mKF" firstAttribute="top" secondItem="TdD-3L-553" secondAttribute="top" id="LoI-gZ-Gp6"/> - <constraint firstItem="i3X-6S-mKF" firstAttribute="leading" secondItem="TdD-3L-553" secondAttribute="leading" id="NVH-57-1Yw"/> - <constraint firstAttribute="width" relation="lessThanOrEqual" constant="400" id="Szn-hz-Zcv"/> - <constraint firstAttribute="bottom" secondItem="OBX-o0-u1k" secondAttribute="bottom" constant="20" id="eOH-Wv-Zuo"/> - <constraint firstAttribute="trailing" secondItem="kW2-Cx-fNv" secondAttribute="trailing" constant="20" id="g3z-YY-hyn"/> - <constraint firstItem="OBX-o0-u1k" firstAttribute="leading" secondItem="TdD-3L-553" secondAttribute="leading" constant="20" id="wTD-wE-axZ"/> - <constraint firstItem="OBX-o0-u1k" firstAttribute="top" secondItem="i3X-6S-mKF" secondAttribute="bottom" constant="8" id="yKJ-bq-2wk"/> - <constraint firstAttribute="trailing" secondItem="i3X-6S-mKF" secondAttribute="trailing" id="zdl-DO-8e8"/> - </constraints> - </customView> - </subviews> - <holdingPriorities> - <real value="250"/> - <real value="250"/> - </holdingPriorities> - <connections> - <outlet property="delegate" destination="-2" id="Srr-ek-32R"/> - </connections> - </splitView> - </subviews> - <constraints> - <constraint firstAttribute="trailing" secondItem="GIJ-gB-FZo" secondAttribute="trailing" id="0em-qy-QDF"/> - <constraint firstItem="GIJ-gB-FZo" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="BMA-1U-7qS"/> - <constraint firstAttribute="bottom" secondItem="GIJ-gB-FZo" secondAttribute="bottom" id="cSp-R2-2P7"/> - <constraint firstItem="GIJ-gB-FZo" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="gYP-xn-tdT"/> - </constraints> - <point key="canvasLocation" x="1428" y="21.5"/> - </customView> - <viewController id="LWe-df-dS6" customClass="ChatVC"> - <connections> - <outlet property="chatView" destination="9jD-8j-lXO" id="nRK-qZ-xex"/> - <outlet property="messageField" destination="OBX-o0-u1k" id="MS2-Hl-as4"/> - <outlet property="sendButton" destination="kW2-Cx-fNv" id="7iO-d1-LsM"/> - <outlet property="view" destination="TdD-3L-553" id="HQf-B1-D8b"/> - </connections> - </viewController> - </objects> - <resources> - <image name="NSGoRightTemplate" width="9" height="12"/> - <image name="ic_action_call" width="72" height="72"/> - <image name="ic_action_chat" width="72" height="72"/> - <image name="ic_action_hangup" width="72" height="72"/> - <image name="ic_action_hold" width="72" height="72"/> - <image name="ic_action_mute_audio" width="72" height="72"/> - <image name="ic_action_mute_video" width="72" height="72"/> - </resources> -</document> diff --git a/ui/GeneralPrefs.xib b/ui/GeneralPrefs.xib deleted file mode 100644 index 3167824c..00000000 --- a/ui/GeneralPrefs.xib +++ /dev/null @@ -1,337 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14D2134" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="GeneralPrefsVC"> - <connections> - <outlet property="advancedGeneralSettings" destination="VH6-yw-pgr" id="lSD-RY-Puf"/> - <outlet property="checkIntervalPopUp" destination="RYP-3d-PCa" id="JNO-GR-CV8"/> - <outlet property="historyChangedLabel" destination="Gyi-ID-Z3v" id="aoO-Fh-UCQ"/> - <outlet property="sparkleContainer" destination="yVO-jk-ay3" id="zni-hI-88D"/> - <outlet property="startUpButton" destination="1Nr-L4-fcd" id="veu-Hi-c7L"/> - <outlet property="toggleAutomaticUpdateCheck" destination="MCd-PD-kd7" id="rSB-ac-Nm2"/> - <outlet property="view" destination="c22-O7-iKe" id="kqH-6G-Ohq"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="c22-O7-iKe"> - <rect key="frame" x="0.0" y="0.0" width="899" height="583"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kYQ-jU-skU"> - <rect key="frame" x="57" y="528" width="143" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Desktop Notifications:" id="xlz-zw-IJI"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lIm-zX-RIV"> - <rect key="frame" x="76" y="492" width="124" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Window behaviour:" id="sog-Ok-Y0N"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Oth-up-2k2"> - <rect key="frame" x="204" y="526" width="147" height="18"/> - <buttonCell key="cell" type="check" title="Enable Notifications" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="uCL-ye-tsv"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <binding destination="Sz0-vm-i3t" name="value" keyPath="values.enable_notifications" id="PuD-KZ-Zat"/> - </connections> - </button> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Is4-pD-LOT"> - <rect key="frame" x="204" y="491" width="294" height="18"/> - <buttonCell key="cell" type="check" title="Bring Ring to foreground on incoming calls" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="uYI-hA-JHk"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <binding destination="Sz0-vm-i3t" name="value" keyPath="values.window_behaviour" id="ZSW-he-LAz"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fC0-ce-Yiz"> - <rect key="frame" x="38" y="423" width="54" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="History" id="DSD-yl-noX"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DgD-2y-4g5"> - <rect key="frame" x="56" y="396" width="195" height="18"/> - <buttonCell key="cell" type="check" title="Keep my history for at least" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="3Pb-Ec-zl5"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="QmA-ZI-ZL5"> - <rect key="frame" x="302" y="390" width="19" height="27"/> - <stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" doubleValue="30" id="30B-YQ-Opa"/> - <connections> - <binding destination="Sz0-vm-i3t" name="value" keyPath="values.history_limit" id="c2j-mK-kYa"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tHZ-7Q-5iP"> - <rect key="frame" x="257" y="393" width="40" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="center" title="30" drawsBackground="YES" id="JvS-c4-OeT"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="Sz0-vm-i3t" name="value" keyPath="values.history_limit" id="O2j-lT-MbR"/> - </connections> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nah-Jm-ZYB"> - <rect key="frame" x="324" y="397" width="33" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="days" id="e5K-l0-Nfw"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="U84-le-Iy4"> - <rect key="frame" x="58" y="359" width="122" height="19"/> - <buttonCell key="cell" type="roundRect" title="Clear History" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="cd5-9L-Bbb"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="cellTitle"/> - </buttonCell> - <connections> - <action selector="clearHistory:" target="-2" id="yN7-bB-7EY"/> - </connections> - </button> - <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Gyi-ID-Z3v"> - <rect key="frame" x="361" y="393" width="167" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="(Applied on application restart)" id="OTl-vx-S43"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="j3T-5j-Fom"> - <rect key="frame" x="38" y="553" width="94" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Interruptions" id="Rzy-Gh-3wQ"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1Nr-L4-fcd"> - <rect key="frame" x="204" y="455" width="136" height="18"/> - <buttonCell key="cell" type="check" title="Launch on Startup" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="O2C-xR-mHF"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="toggleLaunchAtStartup:" target="-2" id="Rky-YK-2yk"/> - </connections> - </button> - <customView hidden="YES" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VH6-yw-pgr"> - <rect key="frame" x="20" y="69" width="859" height="181"/> - <subviews> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kAy-G5-0gJ"> - <rect key="frame" x="65" y="116" width="104" height="18"/> - <buttonCell key="cell" type="check" title="Using STUN" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="J3i-Kd-ufy"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sMR-LQ-v1D"> - <rect key="frame" x="166" y="114" width="216" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Server url..." drawsBackground="YES" id="MzH-CP-Tf3"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <matrix verticalHuggingPriority="750" fixedFrame="YES" allowsEmptySelection="NO" autorecalculatesCellSize="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vSL-q3-yQ7"> - <rect key="frame" x="67" y="61" width="320" height="38"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - <size key="cellSize" width="216" height="18"/> - <size key="intercellSpacing" width="4" height="2"/> - <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="JPG-Km-0oR"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <cells> - <column> - <buttonCell type="radio" title="Same as local parameters" imagePosition="left" alignment="left" state="on" tag="1" inset="2" id="jLT-dL-1vJ"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <buttonCell type="radio" title="Set published address and port" imagePosition="left" alignment="left" inset="2" id="qQz-Qg-AcZ"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </column> - </cells> - </matrix> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Zjo-JQ-eys"> - <rect key="frame" x="87" y="20" width="187" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="mWy-F0-AW6"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8Tf-sb-mk9"> - <rect key="frame" x="316" y="20" width="63" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="u2t-ps-CAH"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="asH-TC-Vjh"> - <rect key="frame" x="280" y="23" width="30" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Port" id="mfD-5d-YAO"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Rcn-X4-Z0S"> - <rect key="frame" x="30" y="23" width="55" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Address" id="mDR-e7-DwU"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="v1V-gL-Qea"> - <rect key="frame" x="18" y="144" width="87" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="STUN server" id="5BD-IL-feS"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Tlg-3Y-SwP"> - <rect key="frame" x="564" y="114" width="216" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Server url..." drawsBackground="YES" id="5IL-CF-xNE"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <matrix verticalHuggingPriority="750" fixedFrame="YES" allowsEmptySelection="NO" autorecalculatesCellSize="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Jxr-u3-BHN"> - <rect key="frame" x="465" y="61" width="320" height="38"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - <size key="cellSize" width="216" height="18"/> - <size key="intercellSpacing" width="4" height="2"/> - <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="5or-Uc-aW4"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <cells> - <column> - <buttonCell type="radio" title="Same as local parameters" imagePosition="left" alignment="left" state="on" tag="1" inset="2" id="AyQ-SW-wnT"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <buttonCell type="radio" title="Set published address and port" imagePosition="left" alignment="left" inset="2" id="S5X-FW-4tQ"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </column> - </cells> - </matrix> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="orf-tH-Ryt"> - <rect key="frame" x="485" y="20" width="187" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="DxB-Pf-IB5"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="L7A-C3-OaS"> - <rect key="frame" x="714" y="20" width="63" height="22"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="qBg-Z7-cPZ"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cy7-Hu-7rs"> - <rect key="frame" x="678" y="23" width="30" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Port" id="Kby-vh-BDl"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qwZ-OU-p2U"> - <rect key="frame" x="428" y="23" width="55" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Address" id="fsN-LH-LkL"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IVO-Du-c46"> - <rect key="frame" x="416" y="144" width="88" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="TURN server" id="RdV-YO-mtx"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="H4W-dK-kUO"> - <rect key="frame" x="463" y="116" width="104" height="18"/> - <buttonCell key="cell" type="check" title="Using TURN" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="jr8-R1-kiL"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - </subviews> - </customView> - <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yVO-jk-ay3"> - <rect key="frame" x="20" y="270" width="506" height="82"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="diX-uH-Ce8"> - <rect key="frame" x="14" y="45" width="52" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Update" id="r4u-t3-gBc"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RYP-3d-PCa" userLabel="Update interval"> - <rect key="frame" x="265" y="17" width="100" height="26"/> - <popUpButtonCell key="cell" type="push" title="Monthly" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="2629800" imageScaling="proportionallyDown" inset="2" selectedItem="42E-UY-qlP" id="tTF-gp-Rti"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" id="GJ4-0X-PTn"> - <items> - <menuItem title="Hourly" tag="3600" id="mbu-TH-bs8"/> - <menuItem title="Daily" tag="86400" id="cB6-4m-9MU"/> - <menuItem title="Weekly" tag="604800" id="AId-am-73Q"/> - <menuItem title="Monthly" state="on" tag="2629800" id="42E-UY-qlP"/> - </items> - </menu> - </popUpButtonCell> - </popUpButton> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MCd-PD-kd7"> - <rect key="frame" x="31" y="21" width="221" height="18"/> - <buttonCell key="cell" type="check" title="Automatically check for updates" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="T3a-yx-ZaW"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - </button> - </subviews> - </customView> - </subviews> - <point key="canvasLocation" x="523.5" y="220.5"/> - </customView> - <userDefaultsController representsSharedInstance="YES" id="Sz0-vm-i3t"/> - <customObject id="VEJ-ic-3Ub" customClass="SUUpdater"/> - </objects> -</document> diff --git a/ui/MainMenu.xib b/ui/MainMenu.xib deleted file mode 100644 index 5c46bfe9..00000000 --- a/ui/MainMenu.xib +++ /dev/null @@ -1,1736 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> - <data> - <int key="IBDocument.SystemTarget">101000</int> - <string key="IBDocument.SystemVersion">14D2134</string> - <string key="IBDocument.InterfaceBuilderVersion">7706</string> - <string key="IBDocument.AppKitVersion">1347.57</string> - <string key="IBDocument.HIToolboxVersion">758.70</string> - <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">7706</string> - </object> - <array key="IBDocument.IntegratedClassDependencies"> - <string>NSCustomObject</string> - <string>NSMenu</string> - <string>NSMenuItem</string> - </array> - <array key="IBDocument.PluginDependencies"> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - </array> - <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <string key="NS.key.0">PluginDependencyRecalculationVersion</string> - <integer value="1" key="NS.object.0"/> - </object> - <array class="NSMutableArray" key="IBDocument.RootObjects" id="1048"> - <object class="NSCustomObject" id="1021"> - <string key="NSClassName">NSApplication</string> - </object> - <object class="NSCustomObject" id="1014"> - <string key="NSClassName">FirstResponder</string> - </object> - <object class="NSCustomObject" id="1050"> - <string key="NSClassName">NSApplication</string> - </object> - <object class="NSMenu" id="649796088"> - <string key="NSTitle">AMainMenu</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="694149608"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Ring</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <object class="NSCustomResource" key="NSOnImage" id="35465992"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuCheckmark</string> - </object> - <object class="NSCustomResource" key="NSMixedImage" id="502551668"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuMixedState</string> - </object> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="110575045"/> - <object class="NSMenu" key="NSSubmenu" id="110575045"> - <string key="NSTitle">Ring</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="238522557"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">About Ring</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="478989275"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Setup Ring</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="709467494"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Check for Update...</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="304266470"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="609285721"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Preferences…</string> - <string key="NSKeyEquiv">,</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="481834944"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1046388886"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Services</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="752062318"/> - <object class="NSMenu" key="NSSubmenu" id="752062318"> - <string key="NSTitle">Services</string> - <array class="NSMutableArray" key="NSMenuItems"/> - <string key="NSName">_NSServicesMenu</string> - </object> - </object> - <object class="NSMenuItem" id="646227648"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="755159360"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Hide Ring</string> - <string key="NSKeyEquiv">h</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="342932134"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Hide Others</string> - <string key="NSKeyEquiv">h</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="908899353"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Show All</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1056857174"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="632727374"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Quit Ring</string> - <string key="NSKeyEquiv">q</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - <string key="NSName">_NSAppleMenu</string> - </object> - </object> - <object class="NSMenuItem" id="952259628"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Edit</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="789758025"/> - <object class="NSMenu" key="NSSubmenu" id="789758025"> - <string key="NSTitle">Edit</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="1058277027"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Undo</string> - <string key="NSKeyEquiv">z</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="790794224"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Redo</string> - <string key="NSKeyEquiv">Z</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1040322652"> - <reference key="NSMenu" ref="789758025"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="296257095"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Cut</string> - <string key="NSKeyEquiv">x</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="860595796"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Copy</string> - <string key="NSKeyEquiv">c</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="29853731"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Paste</string> - <string key="NSKeyEquiv">v</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="82994268"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Paste and Match Style</string> - <string key="NSKeyEquiv">V</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="437104165"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Delete</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="583158037"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Select All</string> - <string key="NSKeyEquiv">a</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="212016141"> - <reference key="NSMenu" ref="789758025"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="892235320"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Find</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="963351320"/> - <object class="NSMenu" key="NSSubmenu" id="963351320"> - <string key="NSTitle">Find</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="447796847"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Find…</string> - <string key="NSKeyEquiv">f</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">1</int> - </object> - <object class="NSMenuItem" id="738670835"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Find and Replace…</string> - <string key="NSKeyEquiv">f</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">12</int> - </object> - <object class="NSMenuItem" id="326711663"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Find Next</string> - <string key="NSKeyEquiv">g</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">2</int> - </object> - <object class="NSMenuItem" id="270902937"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Find Previous</string> - <string key="NSKeyEquiv">G</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">3</int> - </object> - <object class="NSMenuItem" id="159080638"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Use Selection for Find</string> - <string key="NSKeyEquiv">e</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">7</int> - </object> - <object class="NSMenuItem" id="88285865"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Jump to Selection</string> - <string key="NSKeyEquiv">j</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - </object> - </object> - <object class="NSMenuItem" id="972420730"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Spelling and Grammar</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="769623530"/> - <object class="NSMenu" key="NSSubmenu" id="769623530"> - <string key="NSTitle">Spelling and Grammar</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="679648819"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Show Spelling and Grammar</string> - <string key="NSKeyEquiv">:</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="96193923"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Check Document Now</string> - <string key="NSKeyEquiv">;</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="859480356"> - <reference key="NSMenu" ref="769623530"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="948374510"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Check Spelling While Typing</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="967646866"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Check Grammar With Spelling</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="795346622"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Correct Spelling Automatically</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - </object> - </object> - <object class="NSMenuItem" id="507821607"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Substitutions</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="698887838"/> - <object class="NSMenu" key="NSSubmenu" id="698887838"> - <string key="NSTitle">Substitutions</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="65139061"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Show Substitutions</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="19036812"> - <reference key="NSMenu" ref="698887838"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="605118523"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Copy/Paste</string> - <string key="NSKeyEquiv">f</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">1</int> - </object> - <object class="NSMenuItem" id="197661976"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Quotes</string> - <string key="NSKeyEquiv">g</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">2</int> - </object> - <object class="NSMenuItem" id="672708820"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Dashes</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="708854459"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Links</string> - <string key="NSKeyEquiv">G</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">3</int> - </object> - <object class="NSMenuItem" id="537092702"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Text Replacement</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - </object> - </object> - <object class="NSMenuItem" id="288088188"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Transformations</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="579392910"/> - <object class="NSMenu" key="NSSubmenu" id="579392910"> - <string key="NSTitle">Transformations</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="1060694897"> - <reference key="NSMenu" ref="579392910"/> - <string key="NSTitle">Make Upper Case</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="879586729"> - <reference key="NSMenu" ref="579392910"/> - <string key="NSTitle">Make Lower Case</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="56570060"> - <reference key="NSMenu" ref="579392910"/> - <string key="NSTitle">Capitalize</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - </object> - </object> - <object class="NSMenuItem" id="676164635"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Speech</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="785027613"/> - <object class="NSMenu" key="NSSubmenu" id="785027613"> - <string key="NSTitle">Speech</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="731782645"> - <reference key="NSMenu" ref="785027613"/> - <string key="NSTitle">Start Speaking</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="680220178"> - <reference key="NSMenu" ref="785027613"/> - <string key="NSTitle">Stop Speaking</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - </object> - </object> - </array> - </object> - </object> - <object class="NSMenuItem" id="586577488"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">View</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="466310130"/> - <object class="NSMenu" key="NSSubmenu" id="466310130"> - <string key="NSTitle">View</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="102151532"> - <reference key="NSMenu" ref="466310130"/> - <string key="NSTitle">Show Toolbar</string> - <string key="NSKeyEquiv">t</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="237841660"> - <reference key="NSMenu" ref="466310130"/> - <string key="NSTitle">Customize Toolbar…</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - </object> - </object> - <object class="NSMenuItem" id="713487014"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Window</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="835318025"/> - <object class="NSMenu" key="NSSubmenu" id="835318025"> - <string key="NSTitle">Window</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="1011231497"> - <reference key="NSMenu" ref="835318025"/> - <string key="NSTitle">Minimize</string> - <string key="NSKeyEquiv">m</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="575023229"> - <reference key="NSMenu" ref="835318025"/> - <string key="NSTitle">Zoom</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="299356726"> - <reference key="NSMenu" ref="835318025"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="625202149"> - <reference key="NSMenu" ref="835318025"/> - <string key="NSTitle">Bring All to Front</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - <string key="NSName">_NSWindowsMenu</string> - </object> - </object> - <object class="NSMenuItem" id="448692316"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Help</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <reference key="NSTarget" ref="992780483"/> - <object class="NSMenu" key="NSSubmenu" id="992780483"> - <string key="NSTitle">Help</string> - <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="105068016"> - <reference key="NSMenu" ref="992780483"/> - <string key="NSTitle">Ring Help</string> - <string key="NSKeyEquiv">?</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </array> - <string key="NSName">_NSHelpMenu</string> - </object> - </object> - </array> - <string key="NSName">_NSMainMenu</string> - </object> - <object class="NSCustomObject" id="976324537"> - <string key="NSClassName">AppDelegate</string> - </object> - <object class="NSCustomObject" id="755631768"> - <string key="NSClassName">NSFontManager</string> - </object> - <object class="NSCustomObject" id="931776921"> - <string key="NSClassName">SUUpdater</string> - </object> - </array> - <object class="IBObjectContainer" key="IBDocument.Objects"> - <array key="connectionRecords"> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">terminate:</string> - <reference key="source" ref="1050"/> - <reference key="destination" ref="632727374"/> - </object> - <int key="connectionID">449</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">orderFrontStandardAboutPanel:</string> - <reference key="source" ref="1021"/> - <reference key="destination" ref="238522557"/> - </object> - <int key="connectionID">142</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">delegate</string> - <reference key="source" ref="1021"/> - <reference key="destination" ref="976324537"/> - </object> - <int key="connectionID">495</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performMiniaturize:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1011231497"/> - </object> - <int key="connectionID">37</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">arrangeInFront:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="625202149"/> - </object> - <int key="connectionID">39</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleContinuousSpellChecking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="948374510"/> - </object> - <int key="connectionID">222</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">undo:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1058277027"/> - </object> - <int key="connectionID">223</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">copy:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="860595796"/> - </object> - <int key="connectionID">224</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">checkSpelling:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="96193923"/> - </object> - <int key="connectionID">225</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">paste:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="29853731"/> - </object> - <int key="connectionID">226</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">stopSpeaking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="680220178"/> - </object> - <int key="connectionID">227</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">cut:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="296257095"/> - </object> - <int key="connectionID">228</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">showGuessPanel:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="679648819"/> - </object> - <int key="connectionID">230</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">redo:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="790794224"/> - </object> - <int key="connectionID">231</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">selectAll:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="583158037"/> - </object> - <int key="connectionID">232</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">startSpeaking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="731782645"/> - </object> - <int key="connectionID">233</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">delete:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="437104165"/> - </object> - <int key="connectionID">235</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performZoom:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="575023229"/> - </object> - <int key="connectionID">240</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="447796847"/> - </object> - <int key="connectionID">241</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">centerSelectionInVisibleArea:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="88285865"/> - </object> - <int key="connectionID">245</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleGrammarChecking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="967646866"/> - </object> - <int key="connectionID">347</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleSmartInsertDelete:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="605118523"/> - </object> - <int key="connectionID">355</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticQuoteSubstitution:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="197661976"/> - </object> - <int key="connectionID">356</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticLinkDetection:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="708854459"/> - </object> - <int key="connectionID">357</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">runToolbarCustomizationPalette:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="237841660"/> - </object> - <int key="connectionID">365</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleToolbarShown:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="102151532"/> - </object> - <int key="connectionID">366</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">hide:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="755159360"/> - </object> - <int key="connectionID">367</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">hideOtherApplications:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="342932134"/> - </object> - <int key="connectionID">368</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">unhideAllApplications:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="908899353"/> - </object> - <int key="connectionID">370</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticSpellingCorrection:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="795346622"/> - </object> - <int key="connectionID">456</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">orderFrontSubstitutionsPanel:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="65139061"/> - </object> - <int key="connectionID">458</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticDashSubstitution:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="672708820"/> - </object> - <int key="connectionID">461</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticTextReplacement:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="537092702"/> - </object> - <int key="connectionID">463</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">uppercaseWord:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1060694897"/> - </object> - <int key="connectionID">464</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">capitalizeWord:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="56570060"/> - </object> - <int key="connectionID">467</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">lowercaseWord:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="879586729"/> - </object> - <int key="connectionID">468</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">pasteAsPlainText:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="82994268"/> - </object> - <int key="connectionID">486</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="326711663"/> - </object> - <int key="connectionID">487</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="270902937"/> - </object> - <int key="connectionID">488</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="159080638"/> - </object> - <int key="connectionID">489</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">showHelp:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="105068016"/> - </object> - <int key="connectionID">493</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="738670835"/> - </object> - <int key="connectionID">535</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">openPreferences:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="609285721"/> - </object> - <int key="connectionID">588</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">showWizard:</string> - <reference key="source" ref="976324537"/> - <reference key="destination" ref="478989275"/> - </object> - <int key="connectionID">591</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">checkForUpdates:</string> - <reference key="source" ref="931776921"/> - <reference key="destination" ref="709467494"/> - </object> - <int key="connectionID">595</int> - </object> - </array> - <object class="IBMutableOrderedSet" key="objectRecords"> - <array key="orderedObjects"> - <object class="IBObjectRecord"> - <int key="objectID">0</int> - <array key="object" id="0"/> - <reference key="children" ref="1048"/> - <nil key="parent"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-2</int> - <reference key="object" ref="1021"/> - <reference key="parent" ref="0"/> - <string key="objectName">File's Owner</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-1</int> - <reference key="object" ref="1014"/> - <reference key="parent" ref="0"/> - <string key="objectName">First Responder</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-3</int> - <reference key="object" ref="1050"/> - <reference key="parent" ref="0"/> - <string key="objectName">Application</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">29</int> - <reference key="object" ref="649796088"/> - <array class="NSMutableArray" key="children"> - <reference ref="713487014"/> - <reference ref="694149608"/> - <reference ref="952259628"/> - <reference ref="586577488"/> - <reference ref="448692316"/> - </array> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">19</int> - <reference key="object" ref="713487014"/> - <array class="NSMutableArray" key="children"> - <reference ref="835318025"/> - </array> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">56</int> - <reference key="object" ref="694149608"/> - <array class="NSMutableArray" key="children"> - <reference ref="110575045"/> - </array> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">217</int> - <reference key="object" ref="952259628"/> - <array class="NSMutableArray" key="children"> - <reference ref="789758025"/> - </array> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">205</int> - <reference key="object" ref="789758025"/> - <array class="NSMutableArray" key="children"> - <reference ref="437104165"/> - <reference ref="583158037"/> - <reference ref="1058277027"/> - <reference ref="212016141"/> - <reference ref="296257095"/> - <reference ref="29853731"/> - <reference ref="860595796"/> - <reference ref="1040322652"/> - <reference ref="790794224"/> - <reference ref="892235320"/> - <reference ref="972420730"/> - <reference ref="676164635"/> - <reference ref="507821607"/> - <reference ref="288088188"/> - <reference ref="82994268"/> - </array> - <reference key="parent" ref="952259628"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">202</int> - <reference key="object" ref="437104165"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">198</int> - <reference key="object" ref="583158037"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">207</int> - <reference key="object" ref="1058277027"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">214</int> - <reference key="object" ref="212016141"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">199</int> - <reference key="object" ref="296257095"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">203</int> - <reference key="object" ref="29853731"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">197</int> - <reference key="object" ref="860595796"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">206</int> - <reference key="object" ref="1040322652"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">215</int> - <reference key="object" ref="790794224"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">218</int> - <reference key="object" ref="892235320"/> - <array class="NSMutableArray" key="children"> - <reference ref="963351320"/> - </array> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">216</int> - <reference key="object" ref="972420730"/> - <array class="NSMutableArray" key="children"> - <reference ref="769623530"/> - </array> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">200</int> - <reference key="object" ref="769623530"/> - <array class="NSMutableArray" key="children"> - <reference ref="948374510"/> - <reference ref="96193923"/> - <reference ref="679648819"/> - <reference ref="967646866"/> - <reference ref="859480356"/> - <reference ref="795346622"/> - </array> - <reference key="parent" ref="972420730"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">219</int> - <reference key="object" ref="948374510"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">201</int> - <reference key="object" ref="96193923"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">204</int> - <reference key="object" ref="679648819"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">220</int> - <reference key="object" ref="963351320"/> - <array class="NSMutableArray" key="children"> - <reference ref="270902937"/> - <reference ref="88285865"/> - <reference ref="159080638"/> - <reference ref="326711663"/> - <reference ref="447796847"/> - <reference ref="738670835"/> - </array> - <reference key="parent" ref="892235320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">213</int> - <reference key="object" ref="270902937"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">210</int> - <reference key="object" ref="88285865"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">221</int> - <reference key="object" ref="159080638"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">208</int> - <reference key="object" ref="326711663"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">209</int> - <reference key="object" ref="447796847"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">57</int> - <reference key="object" ref="110575045"/> - <array class="NSMutableArray" key="children"> - <reference ref="755159360"/> - <reference ref="908899353"/> - <reference ref="632727374"/> - <reference ref="646227648"/> - <reference ref="609285721"/> - <reference ref="481834944"/> - <reference ref="304266470"/> - <reference ref="1046388886"/> - <reference ref="1056857174"/> - <reference ref="238522557"/> - <reference ref="342932134"/> - <reference ref="478989275"/> - <reference ref="709467494"/> - </array> - <reference key="parent" ref="694149608"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">58</int> - <reference key="object" ref="238522557"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">134</int> - <reference key="object" ref="755159360"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">150</int> - <reference key="object" ref="908899353"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">136</int> - <reference key="object" ref="632727374"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">144</int> - <reference key="object" ref="646227648"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">129</int> - <reference key="object" ref="609285721"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">143</int> - <reference key="object" ref="481834944"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">236</int> - <reference key="object" ref="304266470"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">131</int> - <reference key="object" ref="1046388886"/> - <array class="NSMutableArray" key="children"> - <reference ref="752062318"/> - </array> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">149</int> - <reference key="object" ref="1056857174"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">145</int> - <reference key="object" ref="342932134"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">130</int> - <reference key="object" ref="752062318"/> - <reference key="parent" ref="1046388886"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">24</int> - <reference key="object" ref="835318025"/> - <array class="NSMutableArray" key="children"> - <reference ref="299356726"/> - <reference ref="625202149"/> - <reference ref="575023229"/> - <reference ref="1011231497"/> - </array> - <reference key="parent" ref="713487014"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">92</int> - <reference key="object" ref="299356726"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">5</int> - <reference key="object" ref="625202149"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">239</int> - <reference key="object" ref="575023229"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">23</int> - <reference key="object" ref="1011231497"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">295</int> - <reference key="object" ref="586577488"/> - <array class="NSMutableArray" key="children"> - <reference ref="466310130"/> - </array> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">296</int> - <reference key="object" ref="466310130"/> - <array class="NSMutableArray" key="children"> - <reference ref="102151532"/> - <reference ref="237841660"/> - </array> - <reference key="parent" ref="586577488"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">297</int> - <reference key="object" ref="102151532"/> - <reference key="parent" ref="466310130"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">298</int> - <reference key="object" ref="237841660"/> - <reference key="parent" ref="466310130"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">211</int> - <reference key="object" ref="676164635"/> - <array class="NSMutableArray" key="children"> - <reference ref="785027613"/> - </array> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">212</int> - <reference key="object" ref="785027613"/> - <array class="NSMutableArray" key="children"> - <reference ref="680220178"/> - <reference ref="731782645"/> - </array> - <reference key="parent" ref="676164635"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">195</int> - <reference key="object" ref="680220178"/> - <reference key="parent" ref="785027613"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">196</int> - <reference key="object" ref="731782645"/> - <reference key="parent" ref="785027613"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">346</int> - <reference key="object" ref="967646866"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">348</int> - <reference key="object" ref="507821607"/> - <array class="NSMutableArray" key="children"> - <reference ref="698887838"/> - </array> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">349</int> - <reference key="object" ref="698887838"/> - <array class="NSMutableArray" key="children"> - <reference ref="605118523"/> - <reference ref="197661976"/> - <reference ref="708854459"/> - <reference ref="65139061"/> - <reference ref="19036812"/> - <reference ref="672708820"/> - <reference ref="537092702"/> - </array> - <reference key="parent" ref="507821607"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">350</int> - <reference key="object" ref="605118523"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">351</int> - <reference key="object" ref="197661976"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">354</int> - <reference key="object" ref="708854459"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">420</int> - <reference key="object" ref="755631768"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">450</int> - <reference key="object" ref="288088188"/> - <array class="NSMutableArray" key="children"> - <reference ref="579392910"/> - </array> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">451</int> - <reference key="object" ref="579392910"/> - <array class="NSMutableArray" key="children"> - <reference ref="1060694897"/> - <reference ref="879586729"/> - <reference ref="56570060"/> - </array> - <reference key="parent" ref="288088188"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">452</int> - <reference key="object" ref="1060694897"/> - <reference key="parent" ref="579392910"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">453</int> - <reference key="object" ref="859480356"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">454</int> - <reference key="object" ref="795346622"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">457</int> - <reference key="object" ref="65139061"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">459</int> - <reference key="object" ref="19036812"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">460</int> - <reference key="object" ref="672708820"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">462</int> - <reference key="object" ref="537092702"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">465</int> - <reference key="object" ref="879586729"/> - <reference key="parent" ref="579392910"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">466</int> - <reference key="object" ref="56570060"/> - <reference key="parent" ref="579392910"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">485</int> - <reference key="object" ref="82994268"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">490</int> - <reference key="object" ref="448692316"/> - <array class="NSMutableArray" key="children"> - <reference ref="992780483"/> - </array> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">491</int> - <reference key="object" ref="992780483"/> - <array class="NSMutableArray" key="children"> - <reference ref="105068016"/> - </array> - <reference key="parent" ref="448692316"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">492</int> - <reference key="object" ref="105068016"/> - <reference key="parent" ref="992780483"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">494</int> - <reference key="object" ref="976324537"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">534</int> - <reference key="object" ref="738670835"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">589</int> - <reference key="object" ref="478989275"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">592</int> - <reference key="object" ref="931776921"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">593</int> - <reference key="object" ref="709467494"/> - <reference key="parent" ref="110575045"/> - </object> - </array> - </object> - <dictionary class="NSMutableDictionary" key="flattenedProperties"> - <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="129.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="130.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="131.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="143.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="145.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="149.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="150.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="195.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="196.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="197.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="198.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="199.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="200.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="202.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="203.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="204.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="205.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="206.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="207.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="208.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="209.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="210.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="211.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="212.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="213.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="214.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="215.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="216.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="217.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="218.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="219.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="220.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="221.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="236.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="295.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="296.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="297.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="298.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="346.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="348.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="349.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="350.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="351.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="354.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="420.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="450.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="451.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="452.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="453.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="454.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="457.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="459.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="460.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="462.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="465.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="466.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="485.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="490.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="491.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="492.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="494.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="534.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="58.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="589.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="592.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="593.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="92.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - </dictionary> - <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> - <nil key="activeLocalization"/> - <dictionary class="NSMutableDictionary" key="localizations"/> - <nil key="sourceID"/> - <int key="maxID">595</int> - </object> - <object class="IBClassDescriber" key="IBDocument.Classes"/> - <int key="IBDocument.localizationMode">0</int> - <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> - <bool key="IBDocument.previouslyAttemptedUpgradeToXcode5">NO</bool> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string> - <integer value="4600" key="NS.object.0"/> - </object> - <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> - <int key="IBDocument.defaultPropertyAccessControl">3</int> - <dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> - <string key="NSMenuCheckmark">{12, 12}</string> - <string key="NSMenuMixedState">{10, 2}</string> - </dictionary> - <bool key="IBDocument.UseAutolayout">YES</bool> - </data> -</archive> diff --git a/ui/PreferencesScreen.xib b/ui/PreferencesScreen.xib deleted file mode 100644 index 8bd40002..00000000 --- a/ui/PreferencesScreen.xib +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6254" systemVersion="13F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6254"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="PreferencesViewController"> - <connections> - <outlet property="view" destination="tP7-RI-Nc4" id="eQD-Q2-z2h"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView wantsLayer="YES" focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="tP7-RI-Nc4"> - <rect key="frame" x="0.0" y="0.0" width="700" height="500"/> - <constraints> - <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="500" id="GrH-eh-xjo"/> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="700" id="hH2-R5-frs"/> - </constraints> - <point key="canvasLocation" x="412.5" y="157.5"/> - </customView> - </objects> -</document> diff --git a/ui/PreferencesWindow.xib b/ui/PreferencesWindow.xib deleted file mode 100644 index e4e5e3dc..00000000 --- a/ui/PreferencesWindow.xib +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6254" systemVersion="13F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6254"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner"/> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <window title="Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g"> - <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> - <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> - <rect key="contentRect" x="196" y="240" width="529" height="361"/> - <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1050"/> - <view key="contentView" identifier="preferences" id="EiT-Mj-1SZ"> - <rect key="frame" x="0.0" y="0.0" width="529" height="361"/> - <autoresizingMask key="autoresizingMask"/> - </view> - <toolbar key="toolbar" implicitIdentifier="CF45A262-676F-4F7B-8607-AE007CC9BD32" autosavesConfiguration="NO" displayMode="iconAndLabel" sizeMode="regular" id="rLh-7J-Daz"> - <allowedToolbarItems> - <toolbarItem implicitItemIdentifier="NSToolbarShowColorsItem" id="m2m-v6-Cr4"/> - <toolbarItem implicitItemIdentifier="NSToolbarShowFontsItem" id="Frm-v0-exu"/> - <toolbarItem implicitItemIdentifier="NSToolbarPrintItem" id="Aqg-6t-nId"/> - <toolbarItem implicitItemIdentifier="NSToolbarSpaceItem" id="MMp-QI-cJm"/> - <toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="8Mn-HP-gRX"/> - </allowedToolbarItems> - <defaultToolbarItems> - <toolbarItem reference="8Mn-HP-gRX"/> - <toolbarItem reference="m2m-v6-Cr4"/> - <toolbarItem reference="Frm-v0-exu"/> - <toolbarItem reference="Aqg-6t-nId"/> - <toolbarItem reference="8Mn-HP-gRX"/> - </defaultToolbarItems> - </toolbar> - <point key="canvasLocation" x="116.5" y="274.5"/> - </window> - </objects> -</document> diff --git a/ui/RingWindow.xib b/ui/RingWindow.xib deleted file mode 100644 index af920b8f..00000000 --- a/ui/RingWindow.xib +++ /dev/null @@ -1,277 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14D2134" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="RingWindowController"> - <connections> - <outlet property="callView" destination="tSW-YT-asL" id="NRy-rM-XW4"/> - <outlet property="currentView" destination="se5-gp-TjO" id="Sae-7F-MB3"/> - <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <window title="Ring" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5"> - <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> - <windowCollectionBehavior key="collectionBehavior" fullScreenPrimary="YES"/> - <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> - <rect key="contentRect" x="196" y="240" width="1053" height="626"/> - <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1050"/> - <view key="contentView" autoresizesSubviews="NO" id="se5-gp-TjO"> - <rect key="frame" x="0.0" y="0.0" width="1053" height="626"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <scrollView focusRingType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bqQ-DB-Z0g"> - <rect key="frame" x="20" y="461" width="295" height="145"/> - <clipView key="contentView" focusRingType="none" id="1so-Pz-QB2"> - <rect key="frame" x="1" y="17" width="238" height="117"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="nuM-bu-a6l" indentationPerLevel="16" outlineTableColumn="VDO-Cu-h8f" id="zcl-pp-rGb"> - <rect key="frame" x="0.0" y="0.0" width="293" height="19"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="ConversationsColumn" width="290" minWidth="40" maxWidth="1000" id="VDO-Cu-h8f"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Conversations"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="fca-40-NK1"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - </tableColumns> - <connections> - <outlet property="delegate" destination="txt-J3-pzW" id="6In-PG-OW4"/> - </connections> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <constraints> - <constraint firstAttribute="width" constant="295" id="eCz-d8-35b"/> - <constraint firstAttribute="height" constant="145" id="lWc-BG-yhJ"/> - </constraints> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Fze-JQ-8rU"> - <rect key="frame" x="1" y="119" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="e1E-df-1Rw"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="nuM-bu-a6l"> - <rect key="frame" x="0.0" y="0.0" width="238" height="17"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - <tabView focusRingType="none" type="bottomTabsBezelBorder" translatesAutoresizingMaskIntoConstraints="NO" id="xXW-iq-GcP"> - <rect key="frame" x="13" y="14" width="309" height="443"/> - <font key="font" metaFont="system"/> - <tabViewItems> - <tabViewItem label="History" identifier="1" id="Wi9-Zd-O1N"> - <view key="view" id="h2E-qI-upQ"> - <rect key="frame" x="10" y="7" width="295" height="405"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <scrollView misplaced="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9uI-D5-KRt"> - <rect key="frame" x="-3" y="0.0" width="295" height="408"/> - <clipView key="contentView" misplaced="YES" id="eME-fQ-3QX"> - <rect key="frame" x="1" y="17" width="238" height="117"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="u2H-dj-Z3N" indentationPerLevel="16" autoresizesOutlineColumn="YES" outlineTableColumn="pTT-gU-NVa" id="rr8-UC-gGF"> - <rect key="frame" x="0.0" y="0.0" width="226" height="19"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="DayColumn" width="87.5703125" minWidth="40" maxWidth="1000" id="pTT-gU-NVa"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Text" id="3Bh-xR-4Vn"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="ContactMethodColumn" width="64" minWidth="10" maxWidth="3.4028234663852886e+38" id="uZK-ej-3oe"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="hsi-nD-XUY"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - <tableColumn identifier="DateColumn" width="65.5" minWidth="10" maxWidth="3.4028234663852886e+38" id="HlW-br-V4K"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="TeI-6b-R8a"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - </tableColumns> - <connections> - <outlet property="delegate" destination="jzj-dD-ryc" id="UpR-Pm-j0w"/> - </connections> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <constraints> - <constraint firstAttribute="width" constant="295" id="x0a-p6-WiG"/> - </constraints> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="9To-im-dx7"> - <rect key="frame" x="1" y="119" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="oow-9i-3Tx"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <tableHeaderView key="headerView" id="u2H-dj-Z3N"> - <rect key="frame" x="0.0" y="0.0" width="10000" height="17"/> - <autoresizingMask key="autoresizingMask"/> - </tableHeaderView> - </scrollView> - </subviews> - <constraints> - <constraint firstItem="9uI-D5-KRt" firstAttribute="leading" secondItem="h2E-qI-upQ" secondAttribute="leading" id="IKi-Kl-zdl"/> - <constraint firstItem="9uI-D5-KRt" firstAttribute="top" secondItem="h2E-qI-upQ" secondAttribute="top" id="SNf-F0-6HX"/> - <constraint firstAttribute="trailing" secondItem="9uI-D5-KRt" secondAttribute="trailing" id="adg-yP-eVY"/> - <constraint firstAttribute="bottom" secondItem="9uI-D5-KRt" secondAttribute="bottom" id="nLK-Pj-h7B"/> - </constraints> - </view> - </tabViewItem> - <tabViewItem label="Contacts" identifier="" id="Zbi-X6-DLT"> - <view key="view" id="sag-tS-7Jw"> - <rect key="frame" x="10" y="7" width="295" height="405"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <scrollView focusRingType="none" misplaced="YES" autohidesScrollers="YES" horizontalLineScroll="48" horizontalPageScroll="10" verticalLineScroll="48" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rJv-ju-DFe"> - <rect key="frame" x="-3" y="5" width="295" height="403"/> - <clipView key="contentView" focusRingType="none" misplaced="YES" id="S00-xr-jYM"> - <rect key="frame" x="1" y="0.0" width="238" height="134"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowHeight="46" indentationPerLevel="16" autoresizesOutlineColumn="YES" outlineTableColumn="8Ve-L0-o7V" id="Hrg-Fe-uGq"> - <rect key="frame" x="0.0" y="0.0" width="293" height="48"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn identifier="NameColumn" width="289.7734375" minWidth="40" maxWidth="1000" id="8Ve-L0-o7V"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left"> - <font key="font" metaFont="system"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="GAa-pQ-t4g" customClass="PersonCell"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - </tableColumn> - </tableColumns> - <connections> - <outlet property="delegate" destination="9RF-6W-vEW" id="5bm-gu-2q9"/> - </connections> - </outlineView> - </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </clipView> - <constraints> - <constraint firstAttribute="width" constant="295" id="2Ia-36-f20"/> - </constraints> - <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="TGe-ww-q1j"> - <rect key="frame" x="1" y="119" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="dD5-3G-tUh"> - <rect key="frame" x="224" y="17" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - </scrollView> - </subviews> - <constraints> - <constraint firstAttribute="bottom" secondItem="rJv-ju-DFe" secondAttribute="bottom" constant="5" id="84Q-se-prS"/> - <constraint firstItem="rJv-ju-DFe" firstAttribute="leading" secondItem="sag-tS-7Jw" secondAttribute="leading" id="FHh-Sy-7VP"/> - <constraint firstItem="rJv-ju-DFe" firstAttribute="top" secondItem="sag-tS-7Jw" secondAttribute="top" id="VST-yM-sIz"/> - <constraint firstAttribute="trailing" secondItem="rJv-ju-DFe" secondAttribute="trailing" id="rZG-K9-Bc8"/> - </constraints> - </view> - </tabViewItem> - </tabViewItems> - </tabView> - <customView focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="tSW-YT-asL"> - <rect key="frame" x="323" y="0.0" width="730" height="626"/> - <constraints> - <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="626" id="5yo-rb-X1O"/> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="725" id="ccX-uq-zuj"/> - </constraints> - </customView> - </subviews> - <constraints> - <constraint firstItem="xXW-iq-GcP" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" id="6mJ-d2-JIf"/> - <constraint firstItem="bqQ-DB-Z0g" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" id="FeC-4y-ScK"/> - <constraint firstItem="xXW-iq-GcP" firstAttribute="top" secondItem="bqQ-DB-Z0g" secondAttribute="bottom" constant="8" id="KXj-CP-Fmh"/> - <constraint firstAttribute="bottom" secondItem="tSW-YT-asL" secondAttribute="bottom" id="Xa4-hd-K1t"/> - <constraint firstItem="tSW-YT-asL" firstAttribute="leading" secondItem="bqQ-DB-Z0g" secondAttribute="trailing" constant="8" id="cW1-si-AGR"/> - <constraint firstAttribute="trailing" secondItem="tSW-YT-asL" secondAttribute="trailing" id="g0F-Wt-YT6"/> - <constraint firstAttribute="bottom" secondItem="xXW-iq-GcP" secondAttribute="bottom" constant="20" id="hQL-rc-Qaw"/> - <constraint firstItem="bqQ-DB-Z0g" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" id="jQg-C7-rD0"/> - <constraint firstItem="tSW-YT-asL" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" id="w5j-cX-qS9"/> - </constraints> - </view> - <connections> - <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/> - </connections> - <point key="canvasLocation" x="529.5" y="361"/> - </window> - <viewController id="jzj-dD-ryc" customClass="HistoryVC"> - <connections> - <outlet property="historyView" destination="rr8-UC-gGF" id="8NW-8O-X5L"/> - <outlet property="view" destination="9uI-D5-KRt" id="hCt-k1-UV2"/> - </connections> - </viewController> - <viewController id="txt-J3-pzW" customClass="ConversationsVC"> - <connections> - <outlet property="conversationsView" destination="zcl-pp-rGb" id="YXp-WN-UmC"/> - <outlet property="view" destination="bqQ-DB-Z0g" id="nJI-EM-4z2"/> - </connections> - </viewController> - <viewController id="9RF-6W-vEW" customClass="PersonsVC"> - <connections> - <outlet property="personsView" destination="Hrg-Fe-uGq" id="nMb-nK-g6a"/> - <outlet property="view" destination="rJv-ju-DFe" id="A8H-6d-bW2"/> - </connections> - </viewController> - </objects> -</document> diff --git a/ui/RingWizard.xib b/ui/RingWizard.xib deleted file mode 100644 index 2e4f17f5..00000000 --- a/ui/RingWizard.xib +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="14C1510" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="RingWizardWC"> - <connections> - <outlet property="createButton" destination="rC1-mU-Scu" id="JrT-qi-fF5"/> - <outlet property="goToAppButton" destination="hKA-b6-heE" id="voO-WW-sdE"/> - <outlet property="indicationLabel" destination="07z-dh-DdR" id="SIY-tg-tdZ"/> - <outlet property="nickname" destination="Phj-na-SP1" id="HYj-kV-lyE"/> - <outlet property="progressBar" destination="nRx-qJ-VIe" id="qJ2-ra-GkK"/> - <outlet property="window" destination="4LP-GX-BkH" id="vNm-J0-gmv"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <window title="Ring" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" animationBehavior="default" id="4LP-GX-BkH"> - <windowStyleMask key="styleMask" titled="YES" closable="YES"/> - <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> - <rect key="contentRect" x="163" y="205" width="480" height="321"/> - <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1050"/> - <view key="contentView" id="Wgr-xH-z0G"> - <rect key="frame" x="0.0" y="0.0" width="480" height="321"/> - <autoresizingMask key="autoresizingMask"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rAn-Kv-PgL"> - <rect key="frame" x="18" y="265" width="79" height="36"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Hello" id="uqu-uh-Wao"> - <font key="font" metaFont="system" size="30"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Phj-na-SP1"> - <rect key="frame" x="161" y="149" width="159" height="22"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="5Z7-Wi-530"> - <font key="font" metaFont="system"/> - <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <button translatesAutoresizingMaskIntoConstraints="NO" id="rC1-mU-Scu"> - <rect key="frame" x="390" y="17" width="72" height="29"/> - <constraints> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="68" id="3Oi-R8-jmQ"/> - </constraints> - <buttonCell key="cell" type="bevel" title="OK" bezelStyle="regularSquare" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="wDw-Ut-RUm"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - <string key="keyEquivalent" base64-UTF8="YES"> -DQ -</string> - </buttonCell> - <connections> - <action selector="createRingAccount:" target="-2" id="CBc-Mm-dzm"/> - </connections> - </button> - <progressIndicator hidden="YES" ambiguous="YES" misplaced="YES" maxValue="100" indeterminate="YES" style="bar" translatesAutoresizingMaskIntoConstraints="NO" id="nRx-qJ-VIe"> - <rect key="frame" x="192" y="150" width="96" height="20"/> - </progressIndicator> - <button hidden="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hKA-b6-heE"> - <rect key="frame" x="288" y="17" width="98" height="29"/> - <buttonCell key="cell" type="bevel" title="Continue" bezelStyle="regularSquare" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Kwr-LJ-K8C"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <connections> - <action selector="goToApp:" target="-2" id="o8v-93-fE5"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="07z-dh-DdR"> - <rect key="frame" x="170" y="179" width="140" height="17"/> - <constraints> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="122" id="e4n-it-xKq"/> - </constraints> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Tell me who you are" id="yph-hz-tyP"> - <font key="font" metaFont="system"/> - <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <constraints> - <constraint firstAttribute="trailing" secondItem="rC1-mU-Scu" secondAttribute="trailing" constant="20" id="02s-v0-sLn"/> - <constraint firstItem="rAn-Kv-PgL" firstAttribute="top" secondItem="Wgr-xH-z0G" secondAttribute="top" constant="20" id="CTX-YQ-cEW"/> - <constraint firstAttribute="centerX" secondItem="nRx-qJ-VIe" secondAttribute="centerX" id="D7h-Vj-QkJ"/> - <constraint firstAttribute="centerX" secondItem="Phj-na-SP1" secondAttribute="centerX" id="Djw-wQ-YZj"/> - <constraint firstItem="rC1-mU-Scu" firstAttribute="leading" secondItem="hKA-b6-heE" secondAttribute="trailing" constant="8" id="RUS-zV-JtN"/> - <constraint firstAttribute="bottom" secondItem="hKA-b6-heE" secondAttribute="bottom" constant="20" id="TGf-Kl-MPP"/> - <constraint firstItem="rAn-Kv-PgL" firstAttribute="leading" secondItem="Wgr-xH-z0G" secondAttribute="leading" constant="20" id="Yhs-QQ-67T"/> - <constraint firstAttribute="bottom" secondItem="rC1-mU-Scu" secondAttribute="bottom" constant="20" id="dbf-vQ-Wby"/> - <constraint firstAttribute="centerX" secondItem="07z-dh-DdR" secondAttribute="centerX" id="sjA-hA-pg4"/> - </constraints> - </view> - <connections> - <outlet property="delegate" destination="-2" id="cKX-Z2-yDq"/> - </connections> - <point key="canvasLocation" x="790" y="11.5"/> - </window> - </objects> -</document> diff --git a/ui/VideoPrefs.xib b/ui/VideoPrefs.xib deleted file mode 100644 index b79be51f..00000000 --- a/ui/VideoPrefs.xib +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6751" systemVersion="14C1510" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> - <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6751"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="VideoPrefsVC"> - <connections> - <outlet property="previewView" destination="qAJ-w8-a6Q" id="uSq-tE-heV"/> - <outlet property="ratesList" destination="e3h-qA-wZ5" id="EPS-08-l6m"/> - <outlet property="sizesList" destination="Aec-P9-KNS" id="nYI-YP-fpQ"/> - <outlet property="videoDevicesList" destination="5L8-b6-N3k" id="ZsJ-sc-pYZ"/> - <outlet property="view" destination="c22-O7-iKe" id="EfM-Op-S9T"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <customView id="c22-O7-iKe"> - <rect key="frame" x="0.0" y="0.0" width="541" height="440"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FRq-3r-0WL"> - <rect key="frame" x="16" y="406" width="66" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Selection" id="VqO-Gm-CbB"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VWx-4c-7aF"> - <rect key="frame" x="61" y="381" width="50" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Device:" id="170-NP-CSP"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5L8-b6-N3k" userLabel="Devices"> - <rect key="frame" x="115" y="375" width="189" height="26"/> - <popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="6Vf-hb-26C"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" title="devices" id="zJ9-1a-cpr"> - <connections> - <outlet property="delegate" destination="-2" id="mF2-Zc-wNP"/> - </connections> - </menu> - </popUpButtonCell> - <connections> - <action selector="chooseDevice:" target="-2" id="JjJ-Ul-8VM"/> - </connections> - </popUpButton> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cDr-8B-RiJ"> - <rect key="frame" x="77" y="349" width="34" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Size:" id="4bq-ls-mCp"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="60X-MX-gun"> - <rect key="frame" x="75" y="315" width="36" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Rate:" id="5Im-df-jdd"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Aec-P9-KNS" userLabel="Sizes"> - <rect key="frame" x="115" y="344" width="189" height="26"/> - <popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="6ly-dX-MT4"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" title="sizes" id="ykd-50-las"> - <connections> - <outlet property="delegate" destination="-2" id="5cI-wH-0AT"/> - </connections> - </menu> - </popUpButtonCell> - <connections> - <action selector="chooseSize:" target="-2" id="qra-Ci-Om8"/> - </connections> - </popUpButton> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e3h-qA-wZ5" userLabel="Rates"> - <rect key="frame" x="115" y="310" width="189" height="26"/> - <popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="pDt-c4-Fhs"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="menu"/> - <menu key="menu" title="rates" id="aKL-76-vSP"> - <connections> - <outlet property="delegate" destination="-2" id="5Gu-bg-y3C"/> - </connections> - </menu> - </popUpButtonCell> - <connections> - <action selector="chooseRate:" target="-2" id="nye-jT-0NU"/> - </connections> - </popUpButton> - <customView wantsLayer="YES" canDrawConcurrently="YES" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qAJ-w8-a6Q" userLabel="Preview"> - <rect key="frame" x="32" y="20" width="470" height="230"/> - <constraints> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="470" id="WVf-8f-i99"/> - <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="230" id="udn-lE-Jd4"/> - </constraints> - </customView> - <button verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qHu-4n-CTV"> - <rect key="frame" x="32" y="257" width="122" height="19"/> - <buttonCell key="cell" type="roundRect" title="Test preview" bezelStyle="roundedRect" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="IGT-OE-qJj"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/> - <font key="font" metaFont="cellTitle"/> - </buttonCell> - <connections> - <action selector="togglePreview:" target="-2" id="Z1R-EV-1Na"/> - </connections> - </button> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DTo-76-fYS"> - <rect key="frame" x="18" y="284" width="53" height="17"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Camera" id="YCM-JC-jin"> - <font key="font" metaFont="systemBold"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <constraints> - <constraint firstAttribute="trailing" secondItem="qAJ-w8-a6Q" secondAttribute="trailing" constant="39" id="EIm-N6-noX"/> - <constraint firstItem="qHu-4n-CTV" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="32" id="HL9-hR-8AT"/> - <constraint firstAttribute="bottom" secondItem="qAJ-w8-a6Q" secondAttribute="bottom" constant="20" id="Sv6-Ls-4tS"/> - <constraint firstItem="qAJ-w8-a6Q" firstAttribute="top" secondItem="qHu-4n-CTV" secondAttribute="bottom" constant="8" id="cQh-RN-ARc"/> - <constraint firstItem="qAJ-w8-a6Q" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="32" id="gt3-zq-vOi"/> - <constraint firstItem="qAJ-w8-a6Q" firstAttribute="leading" secondItem="qHu-4n-CTV" secondAttribute="leading" id="oaw-xG-gPo"/> - </constraints> - <point key="canvasLocation" x="372.5" y="257"/> - </customView> - </objects> -</document> -- GitLab