From 591cb27068ca4963b073eae7f226b4fdf536f6b5 Mon Sep 17 00:00:00 2001 From: Sohrab Behdani Date: Tue, 26 Mar 2024 13:49:38 +0330 Subject: [PATCH] removed old config --- README.md | 2 + etc/calamares/branding/parchiso/branding.desc | 43 --- etc/calamares/branding/parchiso/show.qml | 53 --- .../branding/parchlinux/FadeBehavior.qml | 59 --- .../{parchiso => parchlinux}/ImageSlide.qml | 0 .../branding/parchlinux/ItemSection.qml | 45 --- .../branding/parchlinux/ListItemDelegate.qml | 65 ---- .../branding/parchlinux/ListViewTemplate.qml | 53 --- etc/calamares/branding/parchlinux/Map.qml | 237 ------------ etc/calamares/branding/parchlinux/Offline.qml | 232 ------------ .../branding/parchlinux/Offline_orig.qml | 84 ----- .../branding/parchlinux/ResponsiveBase.qml | 343 ------------------ .../branding/parchlinux/ViewStepsBar.qml | 71 ---- .../branding/parchlinux/branding.desc | 57 ++- .../branding/parchlinux/calamares-sidebar.qml | 86 ----- .../parchlinux/calamares_background.svg | 92 ----- .../parchlinux/calamares_bg_image.png.jpg | Bin 247027 -> 0 bytes .../parchlinux/calamares_install_image.svg | 119 ------ .../parchlinux/calamares_product_icon.svg | 74 ---- .../parchlinux/calamares_product_logo.svg | 74 ---- .../parchlinux/calamares_welcome_logo.svg | 74 ---- .../branding/parchlinux/finishedq.qml | 68 ---- etc/calamares/branding/parchlinux/i18n.qml | 173 --------- .../{parchiso => parchlinux}/idioma.png | Bin .../branding/parchlinux/keyboardq.qml | 121 ------ .../lang/calamares-default_ar.ts | 0 .../lang/calamares-default_en.ts | 0 .../lang/calamares-default_eo.ts | 0 .../lang/calamares-default_fa.ts | 0 .../lang/calamares-default_fr.ts | 0 .../lang/calamares-default_nl.ts | 0 etc/calamares/branding/parchlinux/localeq.qml | 89 ----- .../{parchiso => parchlinux}/logo.png | Bin etc/calamares/branding/parchlinux/show.qml | 156 ++------ .../{parchiso => parchlinux}/slide01.png | Bin .../{parchiso => parchlinux}/slide02.png | Bin .../{parchiso => parchlinux}/slide03.png | Bin .../{parchiso => parchlinux}/slide04.png | Bin .../{parchiso => parchlinux}/slide05.png | Bin .../{parchiso => parchlinux}/slide06.png | Bin .../{parchiso => parchlinux}/squid.png | Bin .../{parchiso => parchlinux}/stylesheet.qss | 0 .../branding/parchlinux/summaryq.qml | 47 --- etc/calamares/branding/parchlinux/usersq.qml | 264 -------------- .../branding/parchlinux/welcomeq.qml | 175 --------- etc/calamares/settings.conf | 2 +- 46 files changed, 59 insertions(+), 2899 deletions(-) create mode 100644 README.md delete mode 100644 etc/calamares/branding/parchiso/branding.desc delete mode 100644 etc/calamares/branding/parchiso/show.qml delete mode 100644 etc/calamares/branding/parchlinux/FadeBehavior.qml rename etc/calamares/branding/{parchiso => parchlinux}/ImageSlide.qml (100%) delete mode 100644 etc/calamares/branding/parchlinux/ItemSection.qml delete mode 100644 etc/calamares/branding/parchlinux/ListItemDelegate.qml delete mode 100644 etc/calamares/branding/parchlinux/ListViewTemplate.qml delete mode 100644 etc/calamares/branding/parchlinux/Map.qml delete mode 100644 etc/calamares/branding/parchlinux/Offline.qml delete mode 100644 etc/calamares/branding/parchlinux/Offline_orig.qml delete mode 100644 etc/calamares/branding/parchlinux/ResponsiveBase.qml delete mode 100644 etc/calamares/branding/parchlinux/ViewStepsBar.qml delete mode 100644 etc/calamares/branding/parchlinux/calamares-sidebar.qml delete mode 100644 etc/calamares/branding/parchlinux/calamares_background.svg delete mode 100644 etc/calamares/branding/parchlinux/calamares_bg_image.png.jpg delete mode 100644 etc/calamares/branding/parchlinux/calamares_install_image.svg delete mode 100644 etc/calamares/branding/parchlinux/calamares_product_icon.svg delete mode 100644 etc/calamares/branding/parchlinux/calamares_product_logo.svg delete mode 100644 etc/calamares/branding/parchlinux/calamares_welcome_logo.svg delete mode 100644 etc/calamares/branding/parchlinux/finishedq.qml delete mode 100644 etc/calamares/branding/parchlinux/i18n.qml rename etc/calamares/branding/{parchiso => parchlinux}/idioma.png (100%) delete mode 100644 etc/calamares/branding/parchlinux/keyboardq.qml rename etc/calamares/branding/{parchiso => parchlinux}/lang/calamares-default_ar.ts (100%) rename etc/calamares/branding/{parchiso => parchlinux}/lang/calamares-default_en.ts (100%) rename etc/calamares/branding/{parchiso => parchlinux}/lang/calamares-default_eo.ts (100%) rename etc/calamares/branding/{parchiso => parchlinux}/lang/calamares-default_fa.ts (100%) rename etc/calamares/branding/{parchiso => parchlinux}/lang/calamares-default_fr.ts (100%) rename etc/calamares/branding/{parchiso => parchlinux}/lang/calamares-default_nl.ts (100%) delete mode 100644 etc/calamares/branding/parchlinux/localeq.qml rename etc/calamares/branding/{parchiso => parchlinux}/logo.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/slide01.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/slide02.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/slide03.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/slide04.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/slide05.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/slide06.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/squid.png (100%) rename etc/calamares/branding/{parchiso => parchlinux}/stylesheet.qss (100%) delete mode 100644 etc/calamares/branding/parchlinux/summaryq.qml delete mode 100644 etc/calamares/branding/parchlinux/usersq.qml delete mode 100644 etc/calamares/branding/parchlinux/welcomeq.qml diff --git a/README.md b/README.md new file mode 100644 index 0000000..c396f43 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# Parch Linux Calamares branding and config + diff --git a/etc/calamares/branding/parchiso/branding.desc b/etc/calamares/branding/parchiso/branding.desc deleted file mode 100644 index 449d7fd..0000000 --- a/etc/calamares/branding/parchiso/branding.desc +++ /dev/null @@ -1,43 +0,0 @@ ---- -componentName: ParchLinux - -welcomeStyleCalamares: false - -welcomeExpandingLogo: true - -windowExpanding: noexpand - -windowSize: 1050px,700px - -windowPlacement: center - -sidebar: widget - -navigation: widget - -strings: - productName: ParchLinux - shortProductName: Parch - version: Rolling - shortVersion: Rolling - versionedName: Parch Linux Rolling - shortVersionedName: ParchLinux - -images: - productIcon: "logo.png" - productLogo: "squid.png" - productWelcome: "idioma.png" - -style: - sidebarBackground: "#FFFFFF" - sidebarText: "#292F34" - sidebarTextSelect: "#ffffff" - sidebarTextHighlight: "#2093d1" - -slideshow: "show.qml" - -slideshowAPI: 2 - -uploadServer : - type : "fiche" - url : "http://termbin.com:9999" diff --git a/etc/calamares/branding/parchiso/show.qml b/etc/calamares/branding/parchiso/show.qml deleted file mode 100644 index 22b5c7a..0000000 --- a/etc/calamares/branding/parchiso/show.qml +++ /dev/null @@ -1,53 +0,0 @@ - - -import QtQuick 2.0; -import calamares.slideshow 1.0; -import io.calamares.ui 1.0 // Calamares internals: Branding - -Presentation -{ - id: presentation - - Timer { - interval: 5000 - running: presentation.activatedInCalamares - repeat: true - onTriggered: presentation.goToNextSlide() - } - - function onActivate() { } - function onLeave() { } - - Rectangle { - id: mybackground - anchors.fill: parent - color: Branding.styleString(Branding.SidebarBackground) - z: -1 - } - - ImageSlide { - src: "slide01.png" - } - - ImageSlide { - src: "slide02.png" - } - - ImageSlide { - src: "slide03.png" - } - - ImageSlide { - src: "slide04.png" - } - - ImageSlide { - src: "slide05.png" - } - - ImageSlide { - src: "slide06.png" - } - - -} diff --git a/etc/calamares/branding/parchlinux/FadeBehavior.qml b/etc/calamares/branding/parchlinux/FadeBehavior.qml deleted file mode 100644 index 7bdc559..0000000 --- a/etc/calamares/branding/parchlinux/FadeBehavior.qml +++ /dev/null @@ -1,59 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2020 Pierre-Yves Siret - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -import QtQuick 2.15 -import QtQml 2.15 - -Behavior { - id: root - - property QtObject fadeTarget: targetProperty.object - property string fadeProperty: "opacity" - property int fadeDuration: 150 - property var fadeValue: 0 - property string easingType: "Quad" - - property alias exitAnimation: exitAnimation - property alias enterAnimation: enterAnimation - - SequentialAnimation { - NumberAnimation { - id: exitAnimation - target: root.fadeTarget - property: root.fadeProperty - duration: root.fadeDuration - to: root.fadeValue - easing.type: root.easingType === "Linear" ? Easing.Linear : Easing["In"+root.easingType] - } - PropertyAction { } - NumberAnimation { - id: enterAnimation - target: root.fadeTarget - property: root.fadeProperty - duration: root.fadeDuration - to: target[property] - easing.type: root.easingType === "Linear" ? Easing.Linear : Easing["Out"+root.easingType] - } - } -} diff --git a/etc/calamares/branding/parchiso/ImageSlide.qml b/etc/calamares/branding/parchlinux/ImageSlide.qml similarity index 100% rename from etc/calamares/branding/parchiso/ImageSlide.qml rename to etc/calamares/branding/parchlinux/ImageSlide.qml diff --git a/etc/calamares/branding/parchlinux/ItemSection.qml b/etc/calamares/branding/parchlinux/ItemSection.qml deleted file mode 100644 index f93eac5..0000000 --- a/etc/calamares/branding/parchlinux/ItemSection.qml +++ /dev/null @@ -1,45 +0,0 @@ -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import org.kde.kirigami 2.7 as Kirigami - -Item -{ - id: control - default property alias content: _content.data - implicitHeight: _content.implicitHeight + (Kirigami.Units.largeSpacing * 2.5) - - property alias title : _label1.text - property alias subtitle :_label2.text - - Rectangle - { - anchors.fill: parent - color: Qt.lighter(control.Kirigami.Theme.backgroundColor) - opacity: 0.7 - } - - Column - { - id: _content - anchors.fill: parent - anchors.margins: Kirigami.Units.largeSpacing - spacing: Kirigami.Units.smallSpacing - - Label - { - id: _label1 - width: parent.width - wrapMode: Text.WordWrap - } - - Label - { - id: _label2 - visible: text.length - width: parent.width - font.weight: Font.Thin - font.pointSize: 8 - wrapMode: Text.WordWrap - } - } -} diff --git a/etc/calamares/branding/parchlinux/ListItemDelegate.qml b/etc/calamares/branding/parchlinux/ListItemDelegate.qml deleted file mode 100644 index 482ea90..0000000 --- a/etc/calamares/branding/parchlinux/ListItemDelegate.qml +++ /dev/null @@ -1,65 +0,0 @@ -import io.calamares.ui 1.0 - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Layouts 1.3 -import org.kde.kirigami 2.7 as Kirigami - -ItemDelegate -{ - id: control - - - property alias label1 : _label1 - property alias label2 : _label2 - - hoverEnabled: true - - property bool isCurrentItem: ListView.isCurrentItem - background: Rectangle - { - color: isCurrentItem || hovered ? Kirigami.Theme.highlightColor : Qt.lighter(Kirigami.Theme.backgroundColor) - opacity: isCurrentItem || hovered ? 1 : 0.4 - } - - implicitWidth: ListView.view.width - implicitHeight: Math.max(48, _layout.implicitHeight + Kirigami.Units.largeSpacing *2) - - contentItem: RowLayout - { - id: _layout - anchors.fill: parent - anchors.margins: Kirigami.Units.largeSpacing - - Label - { - id: _label1 - Layout.fillHeight: true - Layout.fillWidth: true - horizontalAlignment: Qt.AlignLeft - color: isCurrentItem ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor - } - - Label - { - id: _label2 - visible: text.length - Layout.fillHeight: true - Layout.maximumWidth: parent.width * 0.4 - horizontalAlignment: Qt.AlignRight - color: isCurrentItem ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor - opacity: isCurrentItem ? 1 : 0.7 - font.weight: Font.Light - wrapMode: Text.Wrap - } - - Kirigami.Icon - { - source: "emblem-default" - Layout.preferredWidth: 22 - Layout.preferredHeight: 22 - color: Kirigami.Theme.highlightedTextColor - visible: isCurrentItem - } - } -} diff --git a/etc/calamares/branding/parchlinux/ListViewTemplate.qml b/etc/calamares/branding/parchlinux/ListViewTemplate.qml deleted file mode 100644 index 9b47921..0000000 --- a/etc/calamares/branding/parchlinux/ListViewTemplate.qml +++ /dev/null @@ -1,53 +0,0 @@ -import QtQuick 2.13 -import QtQuick.Controls 2.13 -import QtQuick.Layouts 1.3 -import org.kde.kirigami 2.7 as Kirigami - -Item -{ - id: control - property alias model : _listView.model - property alias delegate : _listView.delegate - property alias contentHeight : _listView.contentHeight - property alias currentIndex : _listView.currentIndex - property alias currentItem : _listView.currentItem - property alias listView : _listView - - default property alias content : _content.data - - implicitHeight: _content.implicitHeight - - ColumnLayout - { - id: _content - anchors.fill: parent - - spacing: Kirigami.Units.largeSpacing - - ListView - { - id: _listView - Layout.minimumHeight: 0 - Layout.preferredHeight: contentHeight - Layout.maximumHeight: 500 - Layout.fillWidth: true - Layout.fillHeight: true - Layout.alignment: Qt.AlignCenter - spacing: Kirigami.Units.smallSpacing - clip: true - boundsBehavior: Flickable.StopAtBounds - - Rectangle - { - z: control.z - 1 - anchors.fill: parent - color: Qt.lighter(Kirigami.Theme.backgroundColor) - radius: 5 - opacity: 0.5 - } - - } - } - -} - diff --git a/etc/calamares/branding/parchlinux/Map.qml b/etc/calamares/branding/parchlinux/Map.qml deleted file mode 100644 index 238d0e4..0000000 --- a/etc/calamares/branding/parchlinux/Map.qml +++ /dev/null @@ -1,237 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2020, Anke Boersma - * - * Calamares is Free Software: see the License-Identifier above. - * - */ - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Window 2.14 -import QtQuick.Layouts 1.3 - -import org.kde.kirigami 2.7 as Kirigami - -import QtLocation 5.14 -import QtPositioning 5.14 - -Column { - width: parent.width - - //Needs to come from .conf/geoip - property var configCity: "New York" - property var configCountry: "USA" - property var configTimezone: "America/New York" - property var geoipCity: "" //"Amsterdam" - property var geoipCountry: "" //"Netherlands" - property var geoipTimezone: "" //"Europe/Amsterdam" - // vars that will stay once connected - property var cityName: (geoipCity != "") ? geoipCity : configCity - property var countryName: (geoipCountry != "") ? geoipCountry : configCountry - property var timeZone: (geoipTimezone != "") ? geoipTimezone : configTimezone - - function getIp() { - var xhr = new XMLHttpRequest - - xhr.onreadystatechange = function() { - if (xhr.readyState === XMLHttpRequest.DONE) { - var responseJSON = JSON.parse(xhr.responseText) - var tz = responseJSON.timezone - var ct = responseJSON.city - var cy = responseJSON.country - - tzText.text = qsTr("Timezone: ") + tz - cityName = ct - countryName = cy - - //config.setCurrentLocation(tz) - } - } - - // Define the target of the request - xhr.open("GET", "https://get.geojs.io/v1/ip/geo.json") - // Execute the request - xhr.send() - } - - function getTz() { - var xhr = new XMLHttpRequest - var latC = map.center.latitude - var lonC = map.center.longitude - - xhr.onreadystatechange = function() { - if (xhr.readyState === XMLHttpRequest.DONE) { - var responseJSON = JSON.parse(xhr.responseText) - var tz2 = responseJSON.timezoneId - - tzText.text = qsTr("Timezone: ") + tz2 - config.setCurrentLocation(tz2) - } - } - - // Needs to move to localeq.conf, each distribution will need their own account - xhr.open("GET", "http://api.geonames.org/timezoneJSON?lat=" + latC + "&lng=" + lonC + "&username=demm") - xhr.send() - } - - Rectangle { - width: parent.width - height: parent.height / 1.28 - - Plugin { - id: mapPlugin - name: "esri" // "esri", "here", "itemsoverlay", "mapbox", "mapboxgl", "osm" - } - - Map { - id: map - anchors.fill: parent - plugin: mapPlugin - activeMapType: supportedMapTypes[0] - //might be desirable to set zoom level configurable? - zoomLevel: 5 - bearing: 0 - tilt: 0 - copyrightsVisible : true - fieldOfView : 0 - - GeocodeModel { - id: geocodeModel - plugin: Plugin { name: "osm" } - autoUpdate: true - query: Address { - id: address - city: cityName - country: countryName - } - - onLocationsChanged: { - if (count ) { - map.center.latitude = get(0).coordinate.latitude - //console.log('changed:', count); - map.center.longitude = get(0).coordinate.longitude - } - } - } - - MapQuickItem { - id: marker - anchorPoint.x: image.width/4 - anchorPoint.y: image.height - coordinate: QtPositioning.coordinate( - map.center.latitude, - map.center.longitude) - //coordinate: QtPositioning.coordinate(40.730610, -73.935242) // New York - - sourceItem: Image { - id: image - width: 32 - height: 32 - source: "img/pin.svg" - } - } - - MouseArea { - acceptedButtons: Qt.LeftButton - anchors.fill: map - hoverEnabled: true - property var coordinate: map.toCoordinate(Qt.point(mouseX, mouseY)) - Label { - x: parent.mouseX - width - y: parent.mouseY - height - 5 - text: "%1, %2".arg( - parent.coordinate.latitude).arg(parent.coordinate.longitude) - } - - onClicked: { - marker.coordinate = coordinate - map.center.latitude = coordinate.latitude - map.center.longitude = coordinate.longitude - - getTz(); - - console.log(coordinate.latitude, coordinate.longitude) - } - } - } - - Column { - anchors.bottom: parent.bottom - anchors.right: parent.right - anchors.bottomMargin: 5 - anchors.rightMargin: 10 - - MouseArea { - width: 32 - height:32 - cursorShape: Qt.PointingHandCursor - Image { - source: "img/plus.png" - anchors.centerIn: parent - width: 36 - height: 36 - } - - onClicked: map.zoomLevel++ - } - - MouseArea { - width: 32 - height:32 - cursorShape: Qt.PointingHandCursor - Image { - source: "img/minus.png" - anchors.centerIn: parent - width: 32 - height: 32 - } - - onClicked: map.zoomLevel-- - } - } - } - - Rectangle { - width: parent.width - height: 100 - anchors.horizontalCenter: parent.horizontalCenter - - Item { - id: location - Kirigami.Theme.inherit: false - Kirigami.Theme.colorSet: Kirigami.Theme.Complementary - anchors.horizontalCenter: parent.horizontalCenter - - Rectangle { - anchors.centerIn: parent - width: 300 - height: 30 - color: Kirigami.Theme.backgroundColor - - Text { - id: tzText - text: tzText.text - //text: qsTr("Timezone: %1").arg(config.currentTimezoneName) - color: Kirigami.Theme.textColor - anchors.centerIn: parent - } - - Component.onCompleted: getIp(); - } - } - - Text { - anchors.top: location.bottom - anchors.topMargin: 20 - padding: 10 - width: parent.width - wrapMode: Text.WordWrap - horizontalAlignment: Text.AlignHCenter - Kirigami.Theme.backgroundColor: Kirigami.Theme.backgroundColor - text: qsTr("Please select your preferred location on the map so the installer can suggest the locale - and timezone settings for you. You can fine-tune the suggested settings below. Search the map by dragging - to move and using the +/- buttons to zoom in/out or use mouse scrolling for zooming.") - } - } -} diff --git a/etc/calamares/branding/parchlinux/Offline.qml b/etc/calamares/branding/parchlinux/Offline.qml deleted file mode 100644 index 5a0d4eb..0000000 --- a/etc/calamares/branding/parchlinux/Offline.qml +++ /dev/null @@ -1,232 +0,0 @@ -/* === This file is part of Calamares - === - * - * SPDX-FileCopyrightText: 2020 Anke Boersma - * SPDX-License-Identifier: GPL-3.0-or-later - * - * Calamares is Free Software: see the License-Identifier above. - * - */ - -import io.calamares.core 1.0 -import io.calamares.ui 1.0 - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Window 2.14 -import QtQuick.Layouts 1.3 - -import org.kde.kirigami 2.7 as Kirigami - -Page { - width: 800 //parent.width - height: 500 - - StackView { - id: stack - anchors.fill: parent - clip: true - - initialItem: Item { - - Label { - - id: region - anchors.horizontalCenter: parent.horizontalCenter - color: Kirigami.Theme.textColor - horizontalAlignment: Text.AlignCenter - text: qsTr("Select your preferred Region, or use the default one based on your current location.") - } - - ListView { - - id: list - ScrollBar.vertical: ScrollBar { - active: true - } - - width: parent.width / 2 - height: 250 - anchors.centerIn: parent - anchors.verticalCenterOffset: -30 - focus: true - clip: true - boundsBehavior: Flickable.StopAtBounds - spacing: 2 - - Rectangle { - - z: parent.z - 1 - anchors.fill: parent - color: "#BDC3C7" - radius: 5 - opacity: 0.7 - } - - // model loads, dozens of variations tried for currentIndex all fail - model: config.regionModel - currentIndex: config.currentIndex - delegate: ItemDelegate { - - hoverEnabled: true - width: parent.width - highlighted: ListView.isCurrentItem - - Label { - - text: name - Layout.fillHeight: true - Layout.fillWidth: true - width: parent.width - height: 30 - color: highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor - - background: Rectangle { - - color: highlighted || hovered ? Kirigami.Theme.highlightColor : "white" //Kirigami.Theme.backgroundColor - opacity: highlighted || hovered ? 0.5 : 0.3 - } - } - - onClicked: { - - list.model.currentIndex = index - // correct to use config.currentTimezoneName when index is updated? - tztext.text = qsTr("Timezone: %1").arg(config.currentTimezoneName) - stack.push(zoneView) - } - } - } - } - - Component { - id: zoneView - - Item { - - Label { - - id: zone - anchors.horizontalCenter: parent.horizontalCenter - color: Kirigami.Theme.textColor - text: qsTr("Select your preferred Zone within your Region.") - } - - ListView { - - id: list2 - ScrollBar.vertical: ScrollBar { - active: true - } - - width: parent.width / 2 - height: 250 - anchors.centerIn: parent - anchors.verticalCenterOffset: -30 - focus: true - clip: true - boundsBehavior: Flickable.StopAtBounds - spacing: 2 - - Rectangle { - - z: parent.z - 1 - anchors.fill: parent - color: "#BDC3C7" - radius: 5 - opacity: 0.7 - } - - // model loads, dozens of variations tried for currentIndex all fail - model: config.regionalZonesModel - currentIndex: config.currentIndex - delegate: ItemDelegate { - - hoverEnabled: true - width: parent.width - highlighted: ListView.isCurrentItem - - Label { - - text: name - Layout.fillHeight: true - Layout.fillWidth: true - width: parent.width - height: 30 - color: highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor - - background: Rectangle { - - color: highlighted || hovered ? Kirigami.Theme.highlightColor : "white" //Kirigami.Theme.backgroundColor - opacity: highlighted || hovered ? 0.5 : 0.3 - } - } - - onClicked: { - - list2.model.currentIndex = index - list2.positionViewAtIndex(index, ListView.Center) - // correct to use config.currentTimezoneName when index is updated? - tztext.text = qsTr("Timezone: %1").arg(config.currentTimezoneName) - } - } - } - - Button { - - Layout.fillWidth: true - anchors.verticalCenter: parent.verticalCenter - anchors.verticalCenterOffset: -30 - anchors.left: parent.left - anchors.leftMargin: parent.width / 15 - icon.name: "go-previous" - text: qsTr("Zones") - onClicked: stack.pop() - } - } - } - } - - Rectangle { - - width: parent.width - height: 60 - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: parent.bottom - - Item { - - id: location - Kirigami.Theme.inherit: false - Kirigami.Theme.colorSet: Kirigami.Theme.Complementary - anchors.horizontalCenter: parent.horizontalCenter - - Rectangle { - - anchors.centerIn: parent - width: 300 - height: 30 - color: Kirigami.Theme.backgroundColor - - Text { - - id: tztext - text: qsTr("Timezone: %1").arg(config.currentTimezoneName) - color: Kirigami.Theme.textColor - anchors.centerIn: parent - } - } - } - - Text { - - anchors.top: location.bottom - anchors.topMargin: 20 - padding: 10 - width: parent.width - wrapMode: Text.WordWrap - horizontalAlignment: Text.AlignHCenter - Kirigami.Theme.backgroundColor: Kirigami.Theme.backgroundColor - text: qsTr("You can fine-tune Language and Locale settings below.") - } - } -} diff --git a/etc/calamares/branding/parchlinux/Offline_orig.qml b/etc/calamares/branding/parchlinux/Offline_orig.qml deleted file mode 100644 index 8936213..0000000 --- a/etc/calamares/branding/parchlinux/Offline_orig.qml +++ /dev/null @@ -1,84 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2020, Anke Boersma - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Window 2.14 -import QtQuick.Layouts 1.3 - -//import org.kde.kirigami 2.7 as Kirigami - -Column { - width: 800 - height: 480 - - //Needs to come from localeq.conf - property var configTimezone: "America/New York" - - Rectangle { - width: parent.width - height: parent.height / 1.28 - - Image { - id: image - anchors.fill: parent - source: "img/worldmap.png" - width: parent.width - } - } - - Rectangle { - width: parent.width - height: 100 - anchors.horizontalCenter: parent.horizontalCenter - - Item { - id: location - //Kirigami.Theme.inherit: false - //Kirigami.Theme.colorSet: Kirigami.Theme.Complementary - anchors.horizontalCenter: parent.horizontalCenter - - Rectangle { - anchors.centerIn: parent - width: 300 - height: 30 - //color: Kirigami.Theme.backgroundColor - color: "#050505" - - Text { - text: qsTr("Timezone: %1").arg(configTimezone) - //text: qsTr("Timezone: %1").arg(config.currentTimezoneName) - //color: Kirigami.Theme.textColor - color: "#fcfcfc" - anchors.centerIn: parent - } - } - } - - Text { - anchors.top: location.bottom - anchors.topMargin: 20 - padding: 10 - width: parent.width - wrapMode: Text.WordWrap - horizontalAlignment: Text.AlignHCenter - //Kirigami.Theme.backgroundColor: Kirigami.Theme.backgroundColor - text: qsTr("To be able to select a timezone, make sure you are connected to the internet. Restart the installer after connecting. You can fine-tune Language and Locale settings below.") - } - } -} diff --git a/etc/calamares/branding/parchlinux/ResponsiveBase.qml b/etc/calamares/branding/parchlinux/ResponsiveBase.qml deleted file mode 100644 index 1301433..0000000 --- a/etc/calamares/branding/parchlinux/ResponsiveBase.qml +++ /dev/null @@ -1,343 +0,0 @@ -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Layouts 1.3 - -import org.kde.kirigami 2.7 as Kirigami - -import QtGraphicalEffects 1.0 - -import "." - -import io.calamares.ui 1.0 -import io.calamares.core 1.0 - -Page -{ - id: control - - property string subtitle - property string message - property alias icon : _icon - - property alias stackView: _stackView - - default property alias content : _card.data - - property alias backButton : _backButton - - signal goBack() - - background: Rectangle - { - id: _background - color: control.Kirigami.Theme.backgroundColor - - Image - { - id: _wallpaper - height: parent.height - width: parent.width - - sourceSize.height: 600 - sourceSize.width: 800 - - fillMode: Image.PreserveAspectCrop - antialiasing: false - smooth: false - asynchronous: true - cache: true - source: "./calamares_bg_image.png" - } - - FastBlur - { - id: fastBlur - anchors.fill: parent - source: _wallpaper - radius: 130 - transparentBorder: false - cached: true - } - - OpacityMask - { - source: mask - maskSource: parent - } - - LinearGradient - { - id: mask - anchors.fill: parent - gradient: Gradient - { - GradientStop { position: 0.6; color: "transparent"} - GradientStop { position: 0.9; color: _background.color} - } - - start: Qt.point(0, 0) - end: Qt.point(0, control.height-48) - } - } - - ColumnLayout - { - anchors.centerIn: parent - height: Math.min(800, parent.height * 0.95) - width: Math.min(1200, parent.width * 0.95) - Page - { - id: _card - clip: true - - Layout.fillWidth: true - Layout.fillHeight: true - - Component.onCompleted: fadeIn.start() - - NumberAnimation on opacity - { - id: fadeIn - duration: 150 - from: 0 - to: 1.0 - easing.type: Easing.OutQuad - } - - header: ToolBar - { - visible: _stackView.depth > 1 - background: null - - ToolButton - { - id:_backButton - text: _stackView.get(Math.max(0, _stackView.currentItem.StackView.index - 1), StackView.DontLoad).title - icon.name: "go-previous" - flat: true - onClicked: - { - if(_stackView.depth > 1) - { - _stackView.pop() - } - - control.goBack() - - } - } - } - - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 20 - } - - RowLayout - { - anchors.fill: parent - anchors.margins: Kirigami.Units.largeSpacing * 6 - spacing: Kirigami.Units.largeSpacing * 2 - - ColumnLayout - { - id: _content - Layout.fillHeight: true - Layout.fillWidth: true - Layout.margins: Kirigami.Units.largeSpacing * 2 - Layout.maximumWidth: 400 - Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter - - spacing: Kirigami.Units.largeSpacing * 2 - - Item - { - Layout.fillWidth: true - Layout.preferredHeight: 100 - - Kirigami.Icon - { - id: _icon - height: 80 - width: height - anchors.centerIn: parent - FadeBehavior on source { fadeProperty: "scale" } - } - } - - Label - { - Layout.fillWidth: true - Layout.preferredHeight: Math.min(implicitHeight, 200) - horizontalAlignment: Qt.AlignHCenter - wrapMode: Text.Wrap - elide: Text.ElideMiddle - text: control.title - font.bold: true - font.weight: Font.Bold - font.pointSize: 24 - FadeBehavior on text { } - } - - Label - { - Layout.fillWidth: true - Layout.preferredHeight: Math.min(implicitHeight, 200) - horizontalAlignment: Qt.AlignHCenter - wrapMode: Text.Wrap - elide: Text.ElideMiddle - text: control.subtitle - font.weight: Font.Light - font.pointSize: 12 - FadeBehavior on text { } - } - - Label - { - Layout.fillWidth: true - Layout.preferredHeight: Math.min(implicitHeight, 200) - horizontalAlignment: Qt.AlignHCenter - wrapMode: Text.Wrap - elide: Text.ElideMiddle - text: control.message - font.weight: Font.Light - font.pointSize: 10 - FadeBehavior on text { } - } - } - - StackView - { - id: _stackView - Layout.fillHeight: true - Layout.fillWidth: true - - Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter - - Layout.margins: Kirigami.Units.largeSpacing * 2 - - Layout.minimumWidth: 300 - Layout.maximumWidth: 500 - - Layout.maximumHeight: currentItem.implicitHeight - Layout.minimumHeight: 200 - - - clip: true - - pushEnter: Transition - { - NumberAnimation { - property: "opacity" - duration: 150 - to: 1 - easing.type: Easing.OutQuad - } - } - - popEnter: Transition - { - NumberAnimation { - property: "opacity" - duration: 150 - to: 1 - easing.type: Easing.OutQuad - } - } - - popExit: Transition - { - NumberAnimation { - property: "opacity" - duration: 150 - to: 0 - easing.type: Easing.InQuad - } - } - - pushExit: Transition - { - NumberAnimation { - property: "opacity" - duration: 150 - to: 0 - easing.type: Easing.InQuad - } - } - } - } - } - - ViewStepsBar - { - Layout.fillWidth: true - Layout.maximumWidth: 900 - Layout.minimumWidth: 400 - Layout.alignment: Qt.AlignCenter - } - - } - - //footer: Column - //{ - //width: parent.width - - //Item - //{ - //height: 100 - //width: parent.width - - //Row - //{ - //spacing: Kirigami.Units.largeSpacing - //anchors.centerIn: parent - - //Button - //{ - ////text: ViewManager.quitLabel; - //icon.name: ViewManager.quitIcon; - - //ToolTip.visible: hovered - //ToolTip.timeout: 5000 - //ToolTip.delay: 1000 - //ToolTip.text: ViewManager.quitTooltip; - - //enabled: ViewManager.quitEnabled; - //visible: ViewManager.quitVisible; - //onClicked: { ViewManager.quit(); } - //} - - //Button - //{ - //text: ViewManager.backLabel; - //icon.name: ViewManager.backIcon; - - //enabled: ViewManager.backEnabled; - //visible: true; - //onClicked: { ViewManager.back(); } - - //height: implicitHeight - //Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) - //Kirigami.Theme.textColor: "#fff" - //} - - //Button - //{ - - //height: implicitHeight - - //text: ViewManager.nextLabel; - //icon.name: ViewManager.nextIcon; - - //// enabled: ViewManager.nextEnabled; - //enabled: true; - //visible: true; - //onClicked: { ViewManager.next(); } - //Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) - //Kirigami.Theme.textColor: "#fff" - //} - //} - //} - //} -} diff --git a/etc/calamares/branding/parchlinux/ViewStepsBar.qml b/etc/calamares/branding/parchlinux/ViewStepsBar.qml deleted file mode 100644 index b24d7fc..0000000 --- a/etc/calamares/branding/parchlinux/ViewStepsBar.qml +++ /dev/null @@ -1,71 +0,0 @@ - import QtQuick 2.10 - import QtQuick.Controls 2.10 - import QtQuick.Layouts 1.3 - import org.kde.kirigami 2.7 as Kirigami - import QtGraphicalEffects 1.0 - - import io.calamares.ui 1.0 - import io.calamares.core 1.0 - - Item - { - implicitHeight: 80 - - RowLayout - { - anchors.fill: parent - anchors.margins: Kirigami.Units.largeSpacing - spacing: 0 - - Repeater - { - id: _viewManagerRepeater - model: ViewManager - - RowLayout - { - opacity: index !== _viewManagerRepeater.count-1 ? 1 : 0 - Layout.fillWidth: true - Layout.fillHeight: true - spacing: 0 - - Rectangle - { - Layout.alignment: Qt.AlignCenter - Layout.fillWidth: true - Layout.preferredHeight: 4 - anchors.verticalCenter: parent.verticalCenter - color: index !== 0 ? (ViewManager.currentStepIndex >= index ? Kirigami.Theme.highlightColor : Kirigami.Theme.textColor) : "transparent" - } - - Column - { - Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: 22 - Layout.preferredHeight: 22 - spacing: Kirigami.Units.largeSpacing - - Rectangle - { - id: _bgCheck - height: 22 - width: height - radius: height - border.color: ViewManager.currentStepIndex === index ? Kirigami.Theme.textColor : (ViewManager.currentStepIndex >= index ? Kirigami.Theme.highlightColor : Kirigami.Theme.textColor) - border.width: 4 - color: ViewManager.currentStepIndex >= index ? Kirigami.Theme.highlightColor : "transparent" - } - - Label - { - text: display - horizontalAlignment: Qt.AlignHCenter - anchors.horizontalCenter: parent.horizontalCenter - color: Kirigami.Theme.textColor - font.bold: true - } - } - } - } - } - } diff --git a/etc/calamares/branding/parchlinux/branding.desc b/etc/calamares/branding/parchlinux/branding.desc index f65dbee..ca9c221 100644 --- a/etc/calamares/branding/parchlinux/branding.desc +++ b/etc/calamares/branding/parchlinux/branding.desc @@ -1,50 +1,41 @@ --- -componentName: parchlinux +componentName: ParchLinux -# This selects between different welcome texts. When false, uses -# the traditional "Welcome to the %1 installer.", and when true, -# uses "Welcome to the Calamares installer for %1." This allows -# to distinguish this installer from other installers for the -# same distribution. welcomeStyleCalamares: false -# Should the welcome image (productWelcome, below) be scaled -# up beyond its natural size? welcomeExpandingLogo: true +windowExpanding: fullscreen + +windowPlacement: center + +sidebar: none + +navigation: widget + strings: - productName: Parch Linux + productName: ParchLinux shortProductName: Parch version: Rolling shortVersion: Rolling versionedName: Parch Linux Rolling - shortVersionedName: Parch Linux Rolling - bootloaderEntryName: Parch - productUrl: https://parchlinux.ir - supportUrl: https://github.com/parchlinux - knownIssuesUrl: https://parchlinux.ir - releaseNotesUrl: https://blog.parchlinux.ir + shortVersionedName: ParchLinux images: - productLogo: "calamares_product_icon.svg" - productIcon: "calamares_product_logo.svg" - productWelcome: "calamares_welcome_logo.svg" + productIcon: "logo.png" + productLogo: "squid.png" + productWelcome: "idioma.png" + +style: + sidebarBackground: "#FFFFFF" + sidebarText: "#292F34" + sidebarTextSelect: "#ffffff" + sidebarTextHighlight: "#2093d1" slideshow: "show.qml" -# Colors for text and background components. -# -# - sidebarBackground is the background of the sidebar -# - sidebarText is the (foreground) text color -# - sidebarTextHighlight sets the background of the selected (current) step. -# Optional, and defaults to the application palette. -# - sidebarSelect is the text color of the selected step. -# -style: - sidebarBackground: "#231F20" - sidebarText: "#FFFFFF" - sidebarTextSelect: "#FFFFFF" - sidebarTextHighlight: "#26C6DA" +slideshowAPI: 2 -sidebar: none -windowExpanding: fullscreen +uploadServer : + type : "fiche" + url : "http://termbin.com:9999" diff --git a/etc/calamares/branding/parchlinux/calamares-sidebar.qml b/etc/calamares/branding/parchlinux/calamares-sidebar.qml deleted file mode 100644 index 80b7736..0000000 --- a/etc/calamares/branding/parchlinux/calamares-sidebar.qml +++ /dev/null @@ -1,86 +0,0 @@ -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Layouts 1.3 -import org.kde.kirigami 2.7 as Kirigami -import QtGraphicalEffects 1.0 -import io.calamares.ui 1.0 -import io.calamares.core 1.0 - -import "." - -Page -{ - id: control - width: parent.width - height: parent.height - background: Item - { - id: _background - - Image - { - id: _wallpaper - height: parent.height - width: parent.width - - sourceSize.height: 600 - sourceSize.width: 800 - - fillMode: Image.PreserveAspectCrop - antialiasing: false - smooth: false - asynchronous: true - cache: true - - source: Branding.imagePath(Branding.ProductWallpaper) - } - - FastBlur - { - id: fastBlur - anchors.fill: parent - source: _wallpaper - radius: 130 - transparentBorder: false - cached: true - } - } - - Column -{ -anchors.fill: parent -Rectangle -{ - id: hello - width: 200 - height: 100 - color: "red" - - Text { - anchors.centerIn: parent - text: Branding.string(Branding.VersionedName) - } -} - -/* perhaps we could show a branding image here */ - -Repeater -{ - model: ViewManager - Rectangle { - width: 200 - height: 75 - color: "black" - - Text { - color: completed ? "green" : "yellow" - text: display - } - } -} - -} - -} - - diff --git a/etc/calamares/branding/parchlinux/calamares_background.svg b/etc/calamares/branding/parchlinux/calamares_background.svg deleted file mode 100644 index 622fe80..0000000 --- a/etc/calamares/branding/parchlinux/calamares_background.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/etc/calamares/branding/parchlinux/calamares_bg_image.png.jpg b/etc/calamares/branding/parchlinux/calamares_bg_image.png.jpg deleted file mode 100644 index 2ec5a02524bdbae8c8bf3ba56246294e6b7cc376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247027 zcmd>n3w#vS_3+FvE4v$%%^Ff)z$DG;k}hhsYU=|hF{vSG%Yv~cYRig5sn%Dm_yU~7 zL@`ti7(%TgLnM`ml@P_Z5VR-{71SzfRj~K~@ySC40l#zKcV_QyLcjj&|Mz{Du=kvE z&pmVJKF&S&Ip4kU-3BdE`SX!K*K}Reboi%z_fPFKt)F3_KX4}e1%iQqX$Hdm`|lSV z5FRifC!CYB{{hj+{s-h9kdqV1kK`VhH)znH0Rw+8#~UsNvv1E1ktpF@;LqJk#=>4^h>*6&k6b%r2B-Z%A@5!()5`jE*3t z@Mn-#qpTfTx#NrNLyd5>A>I~lm=p6IMT{X)YyX=M}LC1leNL zpdyP~TmlIJvad)mo$Cm~MSqnKEqrr4l1yB-{O7qtA84>h+5FHr@=%`rr16Wglq2_6 zEnBsMlDw*6#bIYbqBBw4L#iZ^V1pMblclA>xCO8xF!JhCX&hMypn7tNc%S|;Ivhnb zJ)t0KCab}6V7Rrsh2hX^GEm{i97?2`pW_N%PBP~bZktg^>nSJAf)S~2`S5hKq|PW_ zmegwG_k+UKIQF2ijGD11?_ zE)EsAf|-$GNC)9+Bia^vwG zvYQ%mJPe}>gr!Ti3Jx&ad$8~OX;4ws85Wx%dInKXeew{>D;RA8$};xHGizK-vS~oJ zxLKbL@mn=(KJ)-c_lIps1>uGpO3^2%Jev31?r-R=rFn#)bWyvXCZ7d|QvUKlAx&)o zhjDPn?m zhebOQ$p^BmXQoSKw8zJh6@^x7w&T+B7f znlUUNq3q=ubGxFBYg%Pw9%GRFCguAXi7w8Qt?C>6NiOD(x_xQA#Yw0N!LT%_h~wDm zt|^G$ktZh&K(>DpZ2#tFu>B>?Pl^DZl*#$4zt$(inM;G##d;N&6EToG&hZiuW{j3= z2M<>ldaSvYbI__J;Sv~QHHY89mc~2rPj9_PxJl`2qB02~Ss=)NVk;XB-Ubl1RIw_X90i&79lnr7vZ-PF z0wt6W?OE^BE%78J*t?MK9*7frFEif?-uB}9Mg*ozx6 z&IVrpj@3^}0FAw5S1ws!g3k4XAfYmJRO;Ge^-I-Mj*4M1Dx$SWt-$^9TFaYBwX=B$ zyn>Nzjj4JlLvD*af&lb*%m_C$4AbV{@66-mNFL7p%qpe-gcl#A7Sg|22B?H_wt8Ct zP{VCJ9TH&8mkBLXf{7Yx+h64euE4>k&{gnl$zGyj!w+$ zDvr+^rgaHklDEo?Kum-0J^nG9aMS7=b$ZuzBm(`7fZY-{A*{Z(J?|9NDvY&k3eyz`W3nx2TY5zPoxsfNlt1m?=#_2KEPf)ciB z$UK!d^9_&L$k|I$98?3X!CE^wud8NW7ifQv{s(?#=LU4F{MmG(O9dCyH8~XQlLz%8 zltP@ox*t}KWKFl(M$A5^HvNm2w{Sj@O`OC5F;_?@Ui)N2#0y80N@H_D_!VLf$0a~n zainlG=L4pH!!YCifTaC#%~4OOKxAZil6g5mTq;ei{b*pi2N^>upuYvgRNZf=tXt%% z5Ei2o*MfqeP*uJyDA^Q1xkLF#A~L?PkOtjsLum`jaM89%4QjPzE(-V7_Xd-(=&E3` zF=JI#*faReS^!A*!vn|zspY^XaTJMAkx;H!D1aNV2tjU98S%ZpmKVjCIafi{a>uxW zoUQs>jE!WzdLY4gs9#CDUR%&{Y)9Y%%A`L8M@b#5_Ljn|bC00ma?Parq2_PUsMW&; zeVREp&ld4}g;1W*%0g-mi(#x%cHjmJmwlzGFskRz6HKCl3L1rk(c}_JU+i=k5k;SI z5WkInup^o$$WY1eZP^5|HV13V=GV;287JDdO=g?bX-A6Rp=;%^U`TT>R4P5TcM!5a z7AnJi4Qo0yQY`2#4?+&A)_lR%E_c$O6{>8#MOrh+s(M({AhlnMDa55eU|QW&oM@W| zp(KY&l~W_JV8G#gN&wsa`Qhfds#Rb0umQIK5Jr+u6R#?XVOlvP|X#3E<`vtp>{Bg~U(5&Xk5zX!8(M0!BWY5#?kA^kUC~ z?cZcE+dm;$-DK3RUP{K6KghPx1HifXH|m7WOJb;xKhVMo>Kw$(%8*5jH8V)|mGv_? zMrNU~v8sg+igk_IX$nU14p0w}>r*W<8p<8S4llr*ivV?GWwKd3@VWWFETxH5Q~SSI zV&ot;{sCjpXN%^c6lduJ0IET)gtUT`tB7A9=|~Z*oRk2&HtJ9wmPiprhHQc`6Mzp0 zWS%rQF~)WgQ8cYEU>PQ73sQ(Ri^Btexq;^HW#d}%{R03!&rXl3zjf|gUl1}5btwzX z#Zahk9xVG(O9!Q2xMHQ=W4wY7Ake!WoFc_y>N#uv3nPQ1K)t@;djdEAg=pM(GOhXg zqWe&DE}#7ANHhOSd4rH*^}l4+@lPR~J)fzMwtyqC^$J4uA@9%Pvlx1~i-E!qmCY51 z1lbbI!0=2_HOam@7UJ`HeJ4rCFvjpjf|`!m`7>zx)lE@3J`oZ#nE$Zp0XHwDN*ny_ z@lOy5Gzql&s;zPHEFXjw5Gi1yd|9}$yvW-iNPxxMU(wTmt(4EEYM&7HHU>{ z_M;BjbjWRRV8zK*4j+`Q)+0QU)Dv^V!TAdWl}?!l6}2Do{xJtQ#jLtZ;wd#12~z#) ztoisVe>{{@u`8$6)oaa_t+tTB>!=`ch}SJz`UVfl0+D zZfdPWvp-ViQ{io1PK2R)Uqfth$Uf{?)5|b5Nx9NI8z^*>lIsaHYC0SbfgqLjsdQ?F z)#l@1-Smwhp8A+KSC9XU7yT=-^11Lm_C18J#a;I=5J}8HB2XXpWe_K0Ki0pT^pMY>x%h0CPIhNDme<@>tzpf^o??R@n#&OGnmMoQ42yt;p11o-LykZY^ESsl1kOiUbs-C_?k!lEN~9F#f_b zv@8RF&qcgs8!Lh&XXN*~A0Mp%xJ_sPpqL0sx1VqsRI-kp^l&bHBCLN(&+Z+x`A$iu z#z>rStF4GECe1v7N?zFpl`_f`5hFasGzA<_XBCuI%f*PzNVxd;E>=dxes43-db~1Z zqi(=19+nb409k)m462C&iZ){5v~scB+sFJzg+)dURDo00t^Y}pz{5~q5MkD zq1ggVgLnlaNl-NUv?$ON>HZ{MvZVPaXM5CoNfH{1I%ENOfd&h}!eQYtM-VWCv!Cfc zTH9&k&2ak4CqSS!=(zb9^<}?$4$chJr$l55>2c*tYpsjMbKa~Ph_@d45)O}+1t|On z4it?YM^=siXkVE{7#;!WDR~5-k=ma&yG1ge+Kzk-Ky!~ai7Zd@1VQ4X(^H7#&3(h+ zSt9c*tGQ%|3trQ06cTw272yIZcPQ)<-==6*uQP>%d7+YLRi;%`#MQepW9z???E|$E z%^9ZIPBioBmIYS!^i@O3xeA<8)sGECS5-k`P$)$q zngrGMDaOnFSc1&@*_?u7XIMhxjf`{4KuilJ%cH9*8{Fd6#l9tAT*X;ECy`hQXb!^7 z0G))TMGzblz;qPW7YDNUW&fwLPZo1H(i4sPJ}$ts8o-xQElElyP>-u7ptammRfM35 z=%JzQpU?b5>vj7l)jt}nS)%w%{jX`h_O{Y2cbHi;FGJ|0gCE26t&FCtH0X(?_1)zKogaKg;B2tVh7te zCk8TX!cuPms-EA;^dd9XywVuPRV-!aIAc)xtzdwXE!$i@;OH=-RIvAIfo2;3c(pn& z0F5rllIQaogkB%zO`Z*n0JR#PRV+A%0kUr>scNedvWpv#BCxcjW4lN@$3uq%1 zhUdPE1JXT-qYNB2h5>5hwyvL99yAK-zXqcb`=dvpA>( zmZ(_7+aL&Cm@AAAHBhZ>kU$00J&(geO>mL`_-;F@N0nnd!A>A!xP<{B*#$hqsrhWB zkEG}UnCc0%g`2w&MxC9s0rG5q7Ij~1MuB|wn&wrs9uxcgV{6e{Qi$7^*M_`*ic8C& z+sYlz!2x@8Vo{1?o(jaN1mHqx`E%UI=S5)()Nv7si^lC&UC%`kd4+I{j{p*q^+^Uc zylx<7UiV?68{X~0I$)lE%3B!tbJ74v88ttAwcnVUpT>-8y4nB@DtNVN(jG=z#XxDi zZ={=e?Nb)SVs zqvZ^ecttHu7aDUIjWoh4hGy|$)wvl3(|1Q8%Kr@Kzj`lGGyqr?fhp)NB#Js4T9@3P z%9+o~nd(2PK9oB$nYc6`C7#Ye_^Q8h20~Nzi^@lOHi5E1dfM|5ftybB4f>}3D~WL+ zN)@MH9XB_ntVnWdVD7)QyWPJD)JEcI{sQF9eIk<-KOcVWRk7jNV_-nba+o+r#Gx~p5k1tdvzxQIg> zi$Pc>SNKXn3YVD8IZzhBoGiyBK-Eg6U`-kX=qVNeEdUj;Fhhk63M{-AAh$%&@nZ%n zjEPM1L4GSSEM0GyIo$CQFlI=5Bt@_~$D+54Yh*lG8-V5zHrfEB@?g;wez1e=M3*GH zz@|Kb3Z)Rfdbe zPgSnNz=e7(-sl(u#jButtWaCQz)9r}0ogD>J=Wmt1aNODBPE7&3DaEk+iIgH|7L*#vzF;wV%gnmD4ucz`kH8AV=a8V9KD zyiR#O)8?Yn0MW)tB50dTFk6>YAu{A|XLpSr}ra zN64^-LICft;YA6iEN^rEJi#kxlAscZ=RHjT$Nh{RywpLcjed}$FK=VS_rtQ!N0v~S z1WG#ymc-K=I?V-N)*Cg&I6AB7Bas$cg6 zNg1#f$m(yoBg^d#h7u&EtZFN$uTZco`IrJ19!hag0z8)hiC$9TpkU0QfQ$VM!wky9 zJa$Qi%?M;BGQ*5i_D&JT0Q4l7@xUvID0zVSjWbrih1wcn(NT1Eh zkj7%e9Ip_|i()LprK2<2k~ZV!ijomzpS5$QNdzu)`C!=QMa*ud2IxwXQiG|hh>!?N z8CsZOna#=R0Pk05lk3wfWH<_zY%Xn4JYiq9f_l$_p_w2(4<$dX2>8Ve zSPgOuejoP(L03ap{d|xP|`{H6_5tk7uYzQ{IbQEkaAxFW>o#4)RSJ1mmp=+^STrf^kM~3 zQ%;A5XUfN!Y*jo$6C)&|1Y4{6PylEWb)16)*ysm2(ty;xKyRj@F*?pKgYdQ?o6bX| zH2`KkvI^j$G{D5ZQU{VS#V_g{$&$XW076whokSwr3K`J`<+v|cDahzCnH*{0D3q!o zCljZj!>Q+SZ(x+FV1RLK^RghqQo2(Ri^QE zV3~;P3+jr}^bR_@gzFW1JZZGtkddWifo%v=Zv<@?wN}Ju`y~VgL-ZiMm+CzUh6giV z27w7>LEa+6V?+cDW!ebZ;^RYTujUji10(Z4obc@fwIMR@OcfqKhbkW$e55wu@TfM2(gCI|Y5munbe1#)H^APKqCr>&#%)~&}6AqC@9GY)Zcl>P*Re3|6kvDyx{$kvpEn z;uVDvJboy}P!|INXLNtPJ{a_JBmAzjnr>VDu{o9&VViCY_&`%4cakWLS{@pWO`FTtjR$ zUM+Ad$W#V2yF5u0NUz7iRP7+f&c2WokVXhHd4h!eERao2TppeB>hUgBEK5ZdM!X!w zvl|p1lhKL3#l<|VTgVsz1?cpuQU10rW>?3xaahJ5z8SPju^H5;Q8oaY&0Gr+;n{94 zRy-bcVsuY0RRD}B=Fm=s5sTzWcNq7{$P;=CKL79o?jiavQ^fb4ZwK7=h za0;)WoFV|W2FeCs%29@3rx0uf#Sp7|($Hwn31g&i#ys z!IawBmmr4X<7Tk^1>wHBzb{)sjr^p;L`r^N4}ggXz*?U_86g|DqS*?!z>vhiyzFzdZjeOzh(iR3DaNE`UU3y45R4y~#km zYywt#i-^rCs-SR4*zGQ%m1k=&EL!U#(w|ZV0Aw7SHz&r2eYJKJEa)3xach2Z*95g-54UyzFd^$xHQO$}fPGz@4D_J3k`Vj(Pdf{A&u6NEz_)D;pK~*)!ni8(`?0 zD#+3I$1t3bl(zCy5_oWDjzAa$J)Ejw{-6080J1)p^O9z7jeH9u^v(#r43@!8!My1| zNHr4`?)n1N-yvkH&t7I;i#=phK2l(Nf;@;wF|7oSCs>Ub^t`eyf?WW`q@JLoHr5czAc5z4o)HxljmRJ}F zH-a)S`KLn=f$N*I<719Ur6(Cx3 z)brpOp9{?@=Acj){YY+}1apurJaYm8l$E0@R5zFN*&Ip-_}lGE2LKkbh52da1F^XF zc=izTXGK){k%s~h11s7X2Ae<=@D0eY&4OU+5Dx&#RTTp6u*7R+taoD;kotNCCQ{+U z<8Ti8tG`?BD7fL~It5kS>Lv#kKG4T2LAlakO0+LVsL?S^A zSVELQ)`=-GjZG54TDSKhJ}evx+b+;V0U(U+Yek^scsrA5GFV`@sz(9Z)dQZ`plOcG zOkws>UaA9W3uZGqiU=waDm(`Ta4QNS;Ed&@TnWa19S#YA%>)Vxg39UC5~kYtSN-EK zGRb^78Vm9JisN8-7;pF)5#GCHuG$8wnO6^hu`e5=`UI1XP^@maB)n2-kNe_s6crq; z7_9Zsu*Cd)&Lshs1anYb^(&ig&XKMEWu`Qn1dVuipij=Mg{~ zD$~V&pLc`eRTy6p6x69q7Wj%TeT3RG_;yhED44t*bnvs}yMwkO9&N5H0Yrnsu156* z4GIB-1ZT_X87fi(IU^hAZ~_L@6|~9na$zjd8E_bx&sQ;m$7kScu@_m zc0xzsEKo;QCtDK9#{v18NHsBmz)BI%5K-9RktUuiB3_*YYZeGK0diEtm;G9kQVoHo zR7h(RX_i7`P9?*54l{!6>l9&jK&vf>W`Y-uB&}XBqc@;mIq*kna{Lr8PQD4;m|wg) z&}@s((Gv>@CLB~+)|?x*u@szsrh?e+b+7y^n9bLYy(Q3Dri!Gr57pfEKpD>C zut@2?&3YIbpL3YSJsjo$UwY;g3@BgE=#WZ~)p2h;f(Z-VMFa!xXeI&Ke_K^!06M4T zk16_je+b5nJjl(4v~L2_9yrr}E^6|6^WU7Sd_pE7R7|EZz19E!^X~%iy00lGAvB!# zbOscvj6?Fbmtyu80%Sh?f%DaUH|Ain@2A=J5dc-MJ?oyYnkb?%LBi&D2`R`zviZ>m zus)_04>(Es1ujJnr6fcN!X(h>c;Sp?;`9Sk`x$gO%*K13PbzMPZ*(aiiHJDoNtXJu zKei8>LHTIJ^Bkk2aLhA*=Oksu&`>dKA+OP=&r-pq;Zrd?sXj=Qi++^L_`Ofd(8FNz zZctJG$s`$)E<2t~@@_5-%Wmh&0uT&J87IzvCpspR?C?e*<25f0NlAC1ac_+7r0PJ1{n~+%M^;XhC0D-{t47Q`aFNQ-t z@XZ;f)n%}`IEMg?0M7+M1dFe`hoQ*1ntGiU zK+6DeIR4gE(`mdh4@VRAUp=pCx^$RAUXH2o4BzPTCyC?xdJ?Sf#iGfV5vWRtrGX73 z*;2H?8Hd6T(WCafk&zA{!!FQlj|buD*1yyOG7RZj=_zz7n&v-r!nPu{8A-rQ8;$GZ zQ7^;?eOwq7_PZ1sFY4=sK;Hf|X4?&BNZA8}9Tw5HeYdujN%^F=Dm_Cyk67NxfAG;v^23?F=LtD(XF^559W+4`1H%`*+3;+&=mB7oNWC zi0xDUdDN&o?tkH~&1b!>RX_=sPi;N_zH2w$c>3$tEc@c8d(L@j;Y~Zg)9&50{Keg0 zZh30&kRyW6uc437^IZ%%6xTHT%$XdO0Jah%k$hl-6RHd51j@-2#sTlmI+rs9Rav6t zRv-q$Xdry#eW9n|(fR^dFy=4pL7X%`0>K6JxPt-jkH}t`u6kssBq$_iHI`T@!KIsJ-%~q z`LsJXU9v&Kd3L;;;ZhNj%HX9#2~btdIzn-XRNE%rTfxWGqJWRdS5#yn+fG?D^4i5(@6T zh*_KBeA!A%ydZfCqdJGjn|yoi-cw)RvGk0KH|-tx&lexsUa}<>?5doq>CvfBaf*Jt zZOU;YzSHj7_RU3;9(?ELL#$C2j|)I&DaJ&LbrEh1Q(2g7OA3ym{AqxhD)b4ncKQi3 zHbqXDWA!OTEOLj0f5SkZ3{4>|0xgR6{;r@RNO^afiEpj-G6I%irglb~#0gKzYF#s zq~m7Fll_75B%t02;6C}q%KN*~` zItV+)|2Xm6TW?$6f87at-z@&n(Q@Msn25Fwc`>zX(vtOSF2CZcaT9hQU6CdeEyk1W z?B1>>rrxB*&Hgk&gb-~=qIL0>a5LH##i!y)pn7A8N!l>cXJT88dR8LCWAPkI%z@Cj zpQFo9K)9u%ifLU>ls4&ZhHN`S#M^~&d_7+aKlJifyDnLO|MNe*a!a%w>B(q9n`T8c zTbrhTdGdyDPCe|yDSsGpx#xKVVGGGN4Wsi6>aM!CPMK|(Eq3vSS+6DoE8n3Hk-Z2; z*thA)D`}>D-LuS{0fs_l=k%!r#`t}HKB3DU`S?RW7eCs;WZMih}?SI~hD zMmu`mq-NypJC%Q%=_&_5JbM-liL4#77<}sXs zFWTc{#%Q^PJ@TtjEf%sJOzrEB1(OrF{&OuzV(P<^3K2|k`hp63d;~zPcv}q?jDvU< zr8B|;j6GG+qHdxkn?)VrPu#DD1D|bG>_{+0T%{yfM2yYrFW{l||S3N;}qmJ~LAS&JUHmQog z%f>Hbn)oNQ^Hy@|{X;~vr4>xMBgO0$gx=|Y(`OkrFPY=M`_im;Z+iasMWzD=sHqhc z7cK)W2bNfsHE`I6BR+ce!@Uy^dfZjMnqq%0QUm{2pKDl_bepEJ%_#h-Y~KPWV1O00 zNytcqdjLd+N=E@E{z;;_lirOpqzwbj1{qCJTdCHw{ z?!0f)>{HjCuxia4j#gAzfsX0gMzmcAOF1{8?fz)mlQ-Y7)48@M!yEpOedFQg33wN; z^jN3}62`%X9s-j3!Mbi<3prm_03s8+-e)6g-^&Lc26k-wZTFPUhkCAm_r6VcR<3>p z7Y&+qM@0jJ7}H3cddklA=WpD)^d|!kaWcGGXdDTlDh0T3?zAbtJ)rI>gk*N*htb}g z*2_TVktYdu1pUAH?T1tP&$<4MJ?CxQbMqP7YaTirjOE;MFwg{DT2_n3an3dCPulX- z?I@a!sYeh4i0cabh^cUzo>MglMy&T$D)FSkex4GwJnUmYm-%vq9fy4oo*1ITQD zIyzzt9m-imZ%i3;Ku(i|#Mv?#a^f5>PB1e;77M&#W|!)fW6|Y&?2>f|N0hRL#$oy= zlde4cqb&pLzuvX<-tv1M(ahkq2(p%gFb`VTqm7!rVd<}SKY#kh)6V*^$D0U&OLWX0joQ`Wz*eel@7ZCi5v_7fhMbLZ2u zX0P4(`8~(&+~Df7mhApcyWrAUAK!l0_9y1dT|O(0S`xCOVUoF4v!UFxZ5z0&~MGz*jk4p@`_sBFBW!s?jABNqSpG`=r>vWn(PCyOGK^U%j zoUG}?&Z`g@gUt3?1r=s&+Zl)KSI>6@Y6;K}k@vg$i|cQ_?eWj zcdoy4)Y_*$KlP)hzCHQ4Yjy3iJwMns;>FvZ-+bGY+h%Rbt=q0yWi_{yX_{l|`K6<^ zZ@$ycKlsM2ufKEdoEJ*3^*@EO6*pDTzA zau^`{v~`mT%q#|TuFTRa44rB);2<_8fJXW6evLxkG5OIoy9O_O?B4U+7ggsKFMr~x zukRc8kKOA}-@G(u&bGa${BwE7vjazrxP8+NGxyxO(A}fo_M4%P*W01!3{>eNnqxJ# z_gg+`;0+sow%$1Cr#-fwdHJc&4mjf0!#=-JNcTfz!vpU-XgAGqnVsCuBUAivv>w)Y z{6r`(RX3r*!EDTG(+Dp1;euAMlltzU%wcVWjA!HCXbr4`lga8uc=d1_A9bWdWsspP zYbqPMBz^lS>z04}o7*4mocP3ocp$HP{_wm&e*Lvi{AkS`+rHEOdhsj&x_r-^pKZGA zvSGh{0uOVEMF?f}iz{#0dEW_LU+!M|QokXNoLmo_;bw0L9${wKxL)oi9`3HcwD#jA$6WH~x|@$1a*P&@ z6`|QyOAn3KZ-!Zlj@<(eJ2m>V^;yJsrto7#Wx*OS!|qx2lp}u)7*CA}s4NZOa5$F$ zm}0aDDUaBxn#Oig2+pifkZV|9kyQC`A_baYn$yEJlyaII3AX_-Vi0ag&g`ZQSX#36 zp4Ip5D0q5(?eFT6U~A0%_1Q+p!-2N8!M~LriBt5KCttT_!BJOlk9^%) z+~n5WA09OBt#I2~qtjlTa_9cK_>FtI&%gYG&dc9NOA;{FG7>j8fA!Qi+fO~_(pO*D z{r(XxT$B&c$IT#yvcm(C07Va0&n8|I&_ z-5;J=GNGfX-D#hn1h{nmnXQ4E=!Y*|v;MVHN4x?i`k#**k@5>< zcwTP2#Ks7>WUy+00%9zZFSbHRLei%nkl^~Tg@%l9d@a@H$2>VW}VjFc4nZxEj--lxLTU#9;-hSZWi9f&a*8wfpxM<+JbM`$`HedUT5zjyW!QM#+U8PDEmaoUB;Zosc zME1+-sy)oG!OWtG%HTzBdvBJIBrz$oK%=bmp*=EEv|A1**-kdo5^R@Gre0*lO_L5pV|LmHx^E=!)>xY`! z+miXtDQCC3IW-?#aoy`LrB+T|zA4iG@Sy|Wy({OKZA1HgzG>ad+ZOzEeIlABof0aw z*t8UeZAzgVWYjgTw=BGRz+>vYOEZlgE?)pN(;Px!W?65wLBz)p#D+hOTO61OKLKU8 zrspAMpEHt{kAl#cNfix3g6K!(^sh$@?Rs^?%4pG-D#iM*0$fzp4#<~H*Z_|)Raq?&iZKNfV+1Nvu>ZcbicG!-omzS5cUt+FX~j)}ITP=65edq@p zUSG?F`hifX&lo3diR?)CGuwWG2S>{shWhkCLCV8PktU+4Xx-*3>%9z|{gNO$Ilh^8 z8atLyO_Qis0n|(XrP5~!Go1!L;H6U+-f`i&+t#m729nkHgPQAh5)T(QJn(QJ-|2p3 zRbWB9*y&z-zjk)_D~k`Fba4BG*tP3sw8OSwD_YrB6)D&{V#!Yz?|$~u2ZydSxBB0X z;o%Vd!W_*lI_=Cq2gvw{-%GCnRs`sH$Zzqr8F(6-tLa0sH;uZhQB>3-9~-^m9Iq8}q^b4$qyC4`bWf zON@?WNAn}eL3JGsO|=v9JB+po4=g$CnF%Au_vGe>#+Nso)f#Ne9lvP2bNTL3qrbTJ zsS%^s{L3R-Mq1$>hX2@?PGGAY$X2h5sAj+6u%&|&V~`{ziN{QKiuLB99K<@AMQ0IW zqHkd&@J%I^RT_yAlyXA4BvV~bu#kK8qi=tD^=)%rf51Jn5)|B^(zStP(tUW$>Ir&v zUL08wrSlIs>7!F`jlEoTcu{wSIUhHu?&yrr_(jGcC#)GU>F>M7o^bQlg4;b$_aOAL zWo$E{fH)3SDr{-5DrgKF#D<@00NI!%+dpY)m04oCm6>TXR%H z!;r16TD4-VPb(6aPJ!#!2X^Iuz4rHmhyJy;dRSe4csMjCt^Iy9#!U`4n&+0zk0>vh3gZ%nF?1 z-+(014g0LNNF`MKjuv{5&I{gW-5cfNM_WivyH$6%5^rm6b|+N(5>?(p}I7XqF&aF807K39Bj>Cnr29Kb1(NW z_rLJ*FNdt}*zu!7XTLSP)4m^OCK~>R=E-3$;$fI4&o6!>zBtuAY4yLh{rWct6*-l+ z#AmF~6Vnqj^hD$Q89jx;%8|vj3A?d-#Hnkx-*fdH+pf9wSE)?z8mh{(aTxgpkPPpY zqaXEB2ab-8gE<&#wg|!V%hoSEL^`-NG`gn48b+kI84#}&M>EK<-9L|{TtGIemC}`0 z83dZAibpX8ASjyl`B(2A@y|alnSa7bt!H=FSH-&?PM(=#53<`EUarbttCuGq7<=ry zC;jz>zl^Rcp8*G7YNK_9dhy8OqD6*fP3?}ZFrnXqZ4#3fF1T&*4aclG;D{BCj{E=_ z{!e}Cg_l&h>VPJ!`Cu(2KN-Qq=Az~WH`I-|<7do$W(BX#R{1LuA^>8!<@_taeS)yFW^Hw@;@*WN$#qGWhjUGnTWSQZ@%Zv1f9 zbFW|cYE@BXZE*#ZRMEYIpwNnHi;UXP=$KO$X`NBsT~i+#KWY6Pn|FV7)JHpRJ<|3+ zhvW3Z7NL7w6vVdCb2dy=e@+qeus#bdWO*VHL~RGMoFlcCw+uD2LMkD_n(o{7xLu$8A-U^PGv*ob-4jZeIN5Z`a+oV9v20FP~wQu-KRdbd2;g7iLd8RyQn&60-LpHXsUUne&LW`yixP|a}Vd{m(`T$u$!f8 zWWHTiGjg=nRx$JNA8AvAg~4es*a9s%>4lo>_8#83a%a!FmsRN?H1lj~=Q*4QX^NQI z`m;Eb4`2o%RPyO5Ul>A_3%~rTUz@~;6VIGS{6797o6teLF8Yz2Qp|tw`!rw=g6-b1 zLx238K>KU0;o6ewILs{}BmSeU*ZgtH*K6L}zGQp!iF3Br*s-#<(poJxBbI=2ia?ju zSgYrbpHUYLR+-&Vn7?gYbjY=9!Qj!)@*x12x2NX?p3n=>L%fGY0QGUCWnH3@*sLBg*a)Mvq)j(T#V@|lc?O7 zX%sJSVbT6~Lt~o<;x{KXm(wWF z<|j}b-RwX{0Wj;XoPbkjAMPb#i=MC0)Z?HG&xWmj(9qyNorad!Vk(`;c6CU62+VNc zt}5Raj5L{?fF?DzY#$C+puKR}o=DDc_hB?8I0p9m9r1(d>pt8w=h$g8w~p$({coEt z8?=5`ZM-2mZ~1vJn^7AY4{EWkxV8}X&z7}C?6TUTJIflP%Mv%8I3@qV+b>*w+vzXu zr%F73GyrbPJe=n?Ba#wO8yT&fi*XYl-^oGi`aXOEp7o75+xf0@bG}!2c1(xhAY$Ry z{xkl4*|u)8NRn?>O9}B8n)dZQ1K;}W>nYBrJ$6oU6BOB?;-v%YdcGa4D}q6CVrsCUxFQ%VOgK|R2`9QTy0UQDk#ml{Y}LR1 z^}!e2fB)!;231<5WNEF@x z+);36B3Z~fClQh!o#&scs5iX0WDykX;6CO@< zMOC3z)KK*7d#QhX{>?Q%U3&aM$JvU+cuB3XCQNWR8Na*oJe!f6#<@HIy3!*FlU&G| zbLkw4ha*G2%%zj%xUFbR1dQ#xk$b@`7?4M&;^83bl_ggRU+_+M5$W=5-HQl%r<-7;cI4ZTXMruH$Qad-AfLt&;si} zKjNfK+dsKv_gU?m-*|iLU6UuicE>fUz2ejL$NqlH%dgLR{=6L{ z#;%?eJa3&yl^-(CN#N2Evo_e8VVUM-&oDxz7q`&n38s%qhpV@Nl+Z#Tna2iW>Za^X zi-bYs=rgNt51I zYfql56<9aFux;-{E8+0oivGvmq)IiRp(R7;@k7CciT^6Ul%kPO$x$muqn}ad zaVQY+6A<27?!d2(Kybv|(qJ=QlZ^>|{DFR~iP&E(4J=|?oI$crcx4K}%HwM}#U&}m zXTsh(1`~hsWn?#(A2w(k7yZPPC=l_1wj-Fi8nXVPt!Q4noff+14y=BMV3upHH>#(C*y=jp#y`-=Q zYchvZag|p$8D_9>UJQ`Se_3OTDVd@T-Z%uSw21Ezk7?z7UN$w`^Nd zFqHa{MHM~@LdCVCa-i82vKj6$fcit$EuXySo`rw?@yB~^I(NTEEp}-L*t#Pwp~T#Cpb`DAaE$8)=wEi8eiP*l+&QwPEY|?|-MA?2RU4dP#ID zd95HL^g0lJ?hzGwS9U^orOh_U+BWHQ}>}HO!e!4TJJ&uG(P7E zo(VyIR~h54DhDZFEdV!Napx~128hO+88+F|D;cP+ zF_O0T0R&T)jYe4MOS9IaoaRu;Bs2#`4%0B`({?rU>WO@BT*r%IEW^H(NUPvYkM^T` z*G|~9`RW@-tQB0Ew%>2=I`r)8ZhQ2K0e99%SA@(GtH=&T4702#2pi$dV42fWw(Z>6 zyN3?{qTt4AIi?pjk^%fy{IYQf#yMoDBC)}fM~1J_(A&#BEPzZidi*57O+@2o+*r;k zM_7v3lmv}{v;$J97^7}iF;Mn(+-1oWfYqm#43A=Td~vkNM;=wacxlU~iMA9HsC{zc zXS05N#=WmalOF;Q6(t^4E-8g z;G&U}3=+5$L)CY)lF>+ajMlbP-BpJDi_4Opr<2Tun;q0`OiGFj;zn0)ArdQH8XR4& z9A2mfZqVzf#v=Nd>BG(&N5!!^z)?+`c-`0APx{rPFZW-VlBio&&lz>Wua^E{|68Y9 zMZtQb%(O;oQRr=o8bF_EEhWLw2SF2#b`AY>(%9MGbiMMS6geH7R#%8ET4o@#xz}bp zomaWB1J7Y0UYADLms^DzSR@-orp7sJiAPwU9W+9G4myrU8FDlryE0B-J#42FNmKUI zW7Fzd1kD#Muzk|dGv>ar|AUTT(bio3>#wT@ymVjP!0LjaS!z#DM8LWpsRgTwO6^EX zuqYBWN+L!5KA1G>@h|pXzwxxwTcz0PAlpi1^Po6_V)ZFb5CF~wfnrEp(TF2znldK3 zuSns@Febu6Tnrd04a8U!zRk|u@{Qeu3GR?_6zrlVN`XzvVPWB$DV{d}_W6F7E`0Q^ z^BpMbq=kzku$Q5ez-wF)Ov7@J|nrbZgfLZF#O!O&yh z+q33oIMaW~Aty^BgfI?;M%x&67=@^sW{csHuQ(e3>zQQR6jLyCR3gQ~U_+0e0=S+- z3d15{Y#BO(VWJQ~NMKnvjz*GTHGn09gp_wHkKHOwOWl~NctUil^aTfagyj0&(7tu= z?bk1O_|iZ2aPn_v-*x?4U(deujeE9&db6#TV6;#-DuRusQCbnPqA{nUvA`;f1dH^o zdyjbYoAsxBS>LgmM^^zbS|v5v;h{+c^?gSTzfg;rUy6bRfy!(NmBbzNG`jVg)Q*fp z5zMLjL7O{BVblJQGU;Pfxt?(zS|M5=(=Mo%00A1jd*HRFRNZyo0{CRcS{gFo^9N4+ z>XVNro_51L!weR|7{{t`8bg**5eYW7*pUh=8jQ6ZxGE9^`(e%x-=92c*0!b5L+<{< zBiWCbb4kTBcmOV8*n<+HdC1~npN&Lt%tvAGhUF|uD z2`63RR&T$7jw{_Mt59AvA$1duC)VceL(cj1(m#It+}G8F-tWkFZvERSXRiC~rgM8N zt3GHKMh;w66KjcDA-LmWT)~H0qf=rzEzw}T6|`rBhUR> zyxGSwS{ZY&@BK+zNR~>6*~zW+!|UFd#2EI`AYbR>Vq*`dxuG67rbT81RIzA5lf<(C zEk{);^y0AcYV@Wy1$P*34(a0ZyoIRmSTbkU_EQdc?#sn%HSOTfK7M!ed0o&0t#dUU z`k)3q(o$rXnk{+}*xY3nSlJ;HrWK-pM{_(@g?a6qr$2oB)Sn(UXEuL81^~9h;}F^t zAd3j$<`|WtN&D6SAF)CdW+{-nkdP3MQ%|i$@*Ln|GYU+E+Su@jlM!gOZ1+CZlPuJr zU-M%)@takn>P$1+-D7%0Y>$2zeDa##K3%?Z&Zq_33qFsp|NQU=-aUVsU>(h?mMpJ7Lw8BsmD@rac>&$(*Sx@T@0oD|PcLuLoD zuX#C{-)%kuX}NB5F3G!qGnRbXrX2Frx?2`|2QaA+BtC2`gw4 zH4ssWP^t+{m1y0bW(f(NGSZgZxaQI|i#L5X^o%EWoc-wRDPLUw6|h=`W(>xrW`hM* zf;m+;EEo(q6?iZdG7YdD3WC;*pPsb)!#PL&`SKB2rm@*`V?kW?#KZ9`(w+Z|iTd8Q z?)fMr%a{za;BYCBPZmPWL_4O^UFCfDyK-$p5ucJA?LV>mUA@JlGTZj|W4{`4)Pj50 zef9fecdc216m_EkQ*jk$C}PzYnWcuFTNI3hqCG`b1tC4+lvufm#v-%vwxe!*`QDGF z6z_jY=6B*D^b$wSViau4@eu~2VxP?%bE2^1gqq7xLX{SeB>-lcliI;`l#*A(@8K%~_wNW=4bgLl}jZKXL2wOa- zR_uIw?`5am{@_^y-{0VWk8~W(QZ6S0af^kb@&UT)42b`Lg-5&b7PJp*6>Rd{!4GGX z3hEs)EPZJ{D%@xf{P6N+EXwJDt4^N5Hld2b=_0gP$CsJ&yq)o0)J^C#~-`tbpm zoHcLPJwJSP&(OCf>u>BjI=T$jwxPA$QwD}X1lEA+b3;bNZY(nJgq$7>6H@-3Jj0vy2^Mf;ff80aUntLqv4obg@yedx-=~>i0y{}J~ zn-s{VeUf^Ih)U*rp14(t9?wYXiDC~ILG-!` zP9-^%b8-Gv$GtP{=*NQ#NXWq(9)0brZ$T}njL=I3%_^&?G*VI&S@*@nO&fOCT=a(?sJ5h)Ja@sYbKm;OqvM`Pu=gAJ@V#*AC9av0}hLR=y3}dp7YwqQ%-$#@|v2>Uz-l}QAK5F zxhUa?wQuN{N_EpI>y9|rmJU7ivX|bU)N|#OYry2-H7xq43+i4wA@<6fKM1ri;XWT` z!5tUTcn0BDR_Cp!7zTgg`FaEv0&ggP8sskA&6*#RHidDSxwERtAo%cMVZ1gn6WEr9)& zIZVq5jy^z;bUFV)L$7D&|eKa+Kd#0v_@DPhheT!QDGjma>@luhMe`n%}0G? zL(D2Z=p=So(Ta=i8vn%Wl|nX$LY1v8Slx-%;-WzHr8uE79ucZyee6YtU*a@&+t5Wt zMHiKex~SZNMUg*zv;4`87p+^q(|YB76dN|`hp7~zxs96RKKXga?InyT`IYq3Ew-S! z0Fv)*2^xXqE4ce#^WwrhTNJL?=HFaMU&s@k9iaCR;eZyg%5+M0iC>N@t(P@3hM1de z9FA)o=Tu+IM3+f87XjpV<3UFC{CNl&u;`6D2mY3kMb8BkeSOc$yI#NaOZXbWlRMU* zck9Pj_f)|oQ5o9K0Ar{Xu$=*H3^?H!I&jweo3~y+;)>^XCYL{eWkp0eVMq@+uRVHh zm#R5M8*!1ce1hmM647d-U!U`wp}Kn2ix0MW`aPGjvukC&u``^M@stx^XH|C>UV#$! z-}yAvn+xmi%-KL68*P)G58w%t=QwX|y8Z_D~M!J?s7x28t5 z#!$hF+m5?-{TUx@{n^-`9CCM;gC&^l0U;?5KwUfJ(#N-?NT>)xP-WCVxI(rF46f)F zeJ{5jw>hETQx~i=5)Q|u!Hu$iQ*Y8LNf7}-?6CpbzHLm=ATrr|D!n(Br`~L?2W;|C z?{AeCB^Ycr2VlP!uTQKPOT&$NAEW;0=G_yY`{@36HtyOr`8#dohzqYiZSlhw{1fK+ zT7qD++fLc@x92aNc{_e3CI|UU&53>C&PzxO2D`C`E9|=oAU405cHu?eQ;@_wfN@1X{Kk!AHfP9XFOT&??|Mb=d ztxX1HX5Olil8A1f`@1A+eOi}7fJCw}4E>GEiS9uc{q|4SEIwu8m0M0RoYr40`PJjc zhc@tF87L>GZCG=JAf!e3SBzvk)yY)Tee$r_pc^RC8=}=#gZSeeo=l}di zuWVel<;epIUc32cTP}!nrov>PVs3eV%N?nE)KUymu)O-yuDh^D#olC5>gNY9?tzbs zCk&a3HXE`4BnKck;wNC-#=lewYj$c2Lm3|t9k7c~o8fCBjI*YlL9(w(h>=tp4XurN z+M&mNvg8jxSOx0d0V${}O=!mO$Nu!^JC2XM^^fBh-+JpGUu-&N+%csr_5Nq+h3`Lm z;KjfA&APt~KCbC+BWCQ3VP#+ZQ?F0ns)q2nbT1uP~~|AlvS!yPLK;VN{z?#ScN5CQ!S@CQa9`V=p={Z8`k8 zMcp6Y^x^a;HXZu*#`bLo%sP7WmGme6@gHux4}PBg+lmw4Zu#Wy8~?WAw}9Wh_T#&s zo%_;nw*BISpUnFG>&O22*+e<6u!Eq@Seg+I!aQ=c2Oes+U$ynBm0hC%R5=}Y_2Q+7 zE)uvLhnZ~HUVwL~)k~ycYBRLL9qba7fy&!{wHVo#%pOP0wU}yqEfb{hZLk^G4h`26 zZiLCO+CyYJG`vLhB{J~o@WSe@c`%gP*0N+wPae`ps4vu08gx<6rQtlz2dabm_<9=^ z0_qkACGgEcP}(+70;Nz*HN!RFcnj`I_4w>bv;Xk>1A8D)%r!wU<^^`(=3d_JY zI6!SSM(GbJ(M-Jyu7)x@f{n04NH+Fp$!f~Jj4&#Gp>4vo_K-Dcw?soj@EhhRzNI$h z6r#1zxVFK-sfqLUJ58lR-e0nu%s>`j{TA z8kZQ}I1-po9kYAJD{l&Tua zoRksDm`X%%3yv2_%)xjce<0~GvPuPJx+_Nt)+~@w1~;|Z43vE3zI|gf6v>@AA82{3 zM9@5tS8+`vg_5*D7%CMag*n1*d>#AV@!A_zGg5$efQf_i@|EiaBS_)@Hc01N$q;}Y5l-nUspVh{QZe8+`8 zW(5uxCYN?Z=1Cfy5Okp;0wNfLAELF?W)GQ=hh>HbF?VGs#iQ||2^N5I`-M0tQb2ChKZ0|JXGw`V$H~0hCfi#4yygAg}6{GDC0%*z$0*Dc?;rz z_5n>S2HcvKZGr}ZL$FXXJJ@lM_$llG7*Eh38rs+EAb_|4_074ABKzuV z{qTF>H^IC~5`zzxWC59BiwH;?ZlWGm;mUzO&9w&8NU*2=rr)(JN$R!@VbCD-VJR)( zfQ5@qCOrk2)`jxT2^heDh|o09otp6H0EJk-T0;X|k&oJr)|=%EEOd)At)Q%RsP84j zCCqydD2;$)g9z%FnaPI-ECBmP(oqc$EcFI%^^I>Hff9leuin6|JffnLZ&67CFc_3h zbn&n?170nd)ZyR{G@~|QK<5E%B!W8=7+h*lq2L3$hGRk$w9E{hM;Q7R_;Y{~ZbZQW z+l)oxxJenKvkmbf2H47R8~YCag`YeOlv@m!e5@472p>@m%SAPVIT8_!!|onNl6;in zG)F&M%dRe_5}-Rs;E7c=@V~HpU|5J(hT19DgbNgd1hQ73L*f&Ogg6Ic+LcOdO~To#iFerb<{ zFz`QiHkF>!OuJUAl76O-J&^dy19bi^vWWG2=t8u3(U=~bOdJ2g53c8-Qq?E~wGcKe zMC_q5xh=3x#7H_Q(C3u1U3?3mjkrbqZpApF^~Hf6&oBrXL$6TxN@1Hwyi~Tsct>aCh#5nG~Ndg zRFMJ|3H4-!J@CV$Q?5|CLm}DI11f6z;OXG^{xV*yvw(#E@ev40WqC9D1vO4x9Q*2J ztcXS@vJj8yS~WZt;3Ohc6ooQIjS0*3{g4I*wFoQ zoyeZ_^-`_%P$B8nIBOG!JjZD4d=`0lo$i zwp4=5xnUbIdtI=$)JxF5ham{0U=X?{0Cgb_OAb-Pm4!WwAo-@;eGuc{;lZo}q1Om- zItB1Z!B1q@N|HvxBnbVP#;+n+pt4AExd6&mxLm=nzC|G|)!)Y$1X87=-iT;@F) z7HD=%!@loF-TJj=%ft75j6qNWsG%-Oz(rK$shIwk(fmY>atNGgaYRM63_h%(8gQR<6WXZ49UOXhI3flC z>b-Zq3P|JG*ry|Y-b6B(LejHj5Lt--@sAmOKVuMh6PVmbPP7m_QYT+)$06cp@UyV} zjypZBwGE1J6aZR1O;rWNdRS)0uo0+FA;3mI+(?Q#gi45g_>J(Jvg2NERFTshYnQ%& zCR-+aPhALTta&8S-UgC(0|!d$0q?;!RoO**G>7A?57Anuahe2FS`xxQ+J$JSii2Y| zQq00=Uw<6D5FsYhSiFErj5$};m-)s?-&gmcft~KSDE*?Mqgrm%gl$BXov;4@%cGRl zYsAKE83N2kenJ142h39h~lCj;o@myZxj}7P$khj z{q}wJA7E|LQ<~oP;j1tB6@9%28iTB$pY$YIKwAj=CLtm6-@+aa3ZM{w+#(2jsxXaN zNa{0?BAOq97D9|QYNN4meOQWtlF!!gB@%#oyx9_z?`a5v642*Q1nJ%(2t%=TBY3rOlCl7+soH8Mv&$N7Rore~qA0Mi zbXZc&l3aQH{{OJ|Ch$~#U*qU;44E@WD02vzGKOP{%wvVhkf~%YlFBh=o-<@RnT0ZD zEVD8eqKqMw6eU!o?sMjY)9?Fz-}nE&_x?Zk?!&X!UVH7ehi4CK@4fbZ5VBPwR#OpB z9VM^=0Rx~mJOI$~0_)g7);W-;lK~{4stDh>r)x$ua{{0`!o9JYidz4qVS-5raEJs3 zckCQK;6uYMvs1Q$dnWSI+TsxLb0B3KumNtf#}ME@Hwxd6hm#}>fBy}hopW?Vcx?_e8@P>XB*^Ii zt_K3%eH#}7i8-LifpDTmkiTfyBS`Q)fWX=maKXs{aR&ho2_x#r6AlUv{%su_LxvEs zYyd4000Zw;fffQNng}69Iluw0Lr@TK+Z6{u0JIE*E-#>o1*o3@)PS}%fCv1snu?%| z^jjWRitrwD1On_ZMOGk0^@d=u@Org($6$|)1yBWZU>g@k!ug9r2LXmZ4uF~upt&Gx zG!YDZ)&z&>pFs%xOFsxQ*iK^ns=Z`L+MT3e1}GXqctVPI*AWwd5inOrZW6)}D_Fn- zxk*Thqh^9s%q+KsQ^561ph!Iv5PfCLL*0skQ26WmCu5+AyeO0dLx`yAdqkx@G8RA& ztlnaSVdoI=I4!(rPrUVU`U+fzEY2q7Z~4DQAflLIcWAvpw&#Ta-C z0oFCJRB#_M6%z=C0yEA2%Z4H9>@E&H97N7U006-m*+u|YA_wsJ_Xb$ZLR>NfBpiwx ziX2#B+H26XJA8m~1Wk+CD1;+;q5o@Cc|QTC;&}g!RzCwR`uHOdGtwa2$gagbLI8_@||>e6CwJNsEuzp`QmN(_t41@?1 z2npa<>?PR!=8(jA=glAvgeN+77?O0y!~luQ-Zb(_lvfM6L)Jpg1ArLvFbtI@uk|S0HWN zhJ`LqKw!tYUK+~;y;6e301##}0%Q>|sMm^bF%9nhHv^OqVn1ZhTm(SlyGRU2%Ee&` za6uT>;|W$}2r+}M8A#Iq^i<(h=@*S#~2>2&DH>YvL zFq99N!QU2#2;F_--wwyG<%OIQ5TLoh$`}93Gl>$|A+hNV@@CYUl4G>lMNq?{?QN>!VokNG$pb~aFrB*HN_<;2t$A- z1abfr1jZoVBH%(FQ^t5803xQHZlsI!Y%Ux?zYcV1{?}B1;K38QLgActpTh+U<1UCG z@& z!U~cI^(0f<;Y2#<0#LIDc=mASF?flQLGV3kfC&*woP^=}gY)neJz5^ar37G{*Tgid z^TxbO5TTyfi;^jO*IqAPQeB4jBmXkcSF>F}OThqK@py)!4#G5zg%U4jcFIe0lW{S z^n#F0u)YLidYE6V$l$ORd|%3irx@GmFC{ne>4}oHc&=nnq_dWoo@rUqLu?s06=!dgT-ba z>q++jDd_=?1ilEs0hAE~yyCz`Mc|Mv@G^k+1Oz1J7K(DNJ9+1%k*D2DNxP~PJ58YE zd4W&}14CL6r1hVlMOFxZ;8i0HKf=QKGz_|{0%1tdq?~q82pR_778D8NKUxUFKT7`} z@NF0(0bsnL)n>4HZu20V1K7m^-U{mIb2c#B$mS2{>9u+j&il{OneynPSdsnFt%k}VJsId`v!T)T~n!P|XLm5P99L**6HpNvLQ9z*}1wddW2b~NgF_|{r$qxRhh&sM& zqre6cg4jBYPAJ}_U_>%xH~*KjNV|ff?li-`07U%*w!I-pLgb7O4)1yOV1pne4e|*? zInby0aQ$`&@Hif*mqLI*VT$fw3F25T5I}nv=&b>R9;T3f~KZFCjd4eRzy7$szFk~u*OvoySEC9F%JUE#Orufm-AGrKp850f#?9^BQ z!BFTVVkip2wbZdK42vcZM8Xh+h0&SDtKEPNwF`o$oy-b&VBQ~^0Pjj8DPAo87Qq{z zgyw~({$agPN2>t@ss^Y-aXkM9f|2);S7OTT+-20;N_IBadOmli}J z2*F^n5C(+>Fxf*b+HhdK{tj^sBK;s}5=8C6ToHz;_j|h?KxsD?9SE>tC>ULmI9>pV zQ-81?r~?V;5HO?<@_t1u)jvQ$Xp|t03Xi5I+kHL;;eqL#(PRi4--t^mpdEFkS;v-uwq74HRFT@fbk{n$^n83i{IApy=Vqho_yeB;V z`rQ+92oMXpJ42-$qs@Wh_)ivm$W=ouW$o&9z@hj?TmpXNHOsr$;=Rcd6oJ!20ZIL< zp|wJJp~MD!FLO^|a$pJt|B?u9e+C1nP=PTMG7#_?3*ZO%;25C&?!duNe)zk5bVr86 z005Cf#-49v@IrTz{euevEVKgudpdmrCiDx1d!o%>ZsYw+vf(F+F$TA~VUS1wQ{FJ7 z8}AUeD-0;H=oGSNgrI$p6$mMF;8uP>B;PIaXsPXxLQ!2T0Rx5?nkQgmW+FH^q$(Hu z)uLJ!y0FxtJE;D_0hEarDV%1ntdDnf7eTv=CjmcX7Y6R6fZwQ!HoJ3=#=~uFbwL&% z-uVP>001W7N1lE`y1y)2ay?N$6`o!G;<6V1z@trk3{^dZXbBz zFgQ6*DZ-t|u$cKR9JMEI_(fCLq+y5LzexJ{bBFA$f!z|g!M;EPC<5^>AOH7!O9Yu1 zY(ecw9Ja-yIuFcHu!j@}!AoWnfT(m>&hX&yJA~mi3M=y943F601h~_1tgMZ<=fJBG z0OBY^azoXB7}ACR9t&)|yC5JiayxB~bwRM; z9td52s3hQRV!H#O4&Lpm{@}B4CDI+e{$64KuS&1GiSWh-=Sn47N9h#fX^oP?v0X}~XJ><9uBiZB-wLQuyJ zDTpEf7MZczWymm)T|p5gihkjMAF9g(K6qfYhZ3loDtM5X%|lejhOW8z)dKJ_fa8F7 zhf@DUheuP=JVryfHflo~7X`rhSIV_`!!cRJ7SXPta3>gr`>%BTfJBTu%z)*L$N~Jz zBRgw8Tq;M)<><&0d7%(A48#vb!iZbeuxK=dQDi_P;5PD_4M1@o89(|3?!9LNHxM2e zSmuEu(P$P37eC(7?{BB-kV5M&?ul^iZIr)K z1AKtOMHv{v21e{1LJz(bW}^Ez!v&`Dqi)bZvqRfZG=OWP+Uw4;2iX2s43KhCVki&- zvpS6m4er2OSa8za2CJir>qC^w0mHbl1%yFifZZhzf?~Y>3eZ8r5t9+zG{OLCV8Fl; z^%22wNs#>1X$X)2;)$;IsL$Kt_y8bw+W{93HsF9eF`_KG%TV7N7jCfKFa(6kDr|=j zIl3d*fyJ{|2cO*lJoXqm98n*qYVM%}mKjkv7}CbLQE0pt0iwXLC5X&C!R`u=EgcM( z|1W*!0+Z?gR3$Lu1*#6>U$VfkLIHpMphZRwY9A3rh^e1g4!p5g7%gP|O>V$1Y@$VO zWWLZnKK?3;8y7ANuRI8$6$}NAU+*-4g8NPc+(k+b*^9(4fr8KG;p7otFcc?D_E0I{ zD8v)R9#oMP0)_3*5G4RUyJM^cNU#KG7Q2;7QR~?#Jq9!t+TI%;@IlR{&}|Q`#)w}B z7tLv}4ahpEDJ5)&Cwj|b2NK;!?L^|=Kn81>DP!pH)IN+K&KJIr-N(PGKm0tXkDWl! zjF7L+D-uxR#Wj1|95626B4H@%Brr~0!EnH(L?ba5_(6~u^l*u(MQFnRXajE!wfVWH z<_CwD;R#A=riKTLe;%6MBYI(QNq zKxP7S5)X~WXY+Fz1V9lU7}kgvx2M|U>2-*9ybM&y;m-r!nGTs+1)_zZW5#e`fZ$8& z-*5o&e@Q76?6rNDSFJJJBBA9 z6{AZHfrFuZpeTEXgXr3#h0d_&;%jQ4HA0I2hAgAEB#HxmK^tFq1P(|!va{#sK)*f|Er3Q< z#2tb0cYgQ^AH+3k%Y+GwEg}pG3#dbpFe*YY*5~gK-fuzR8D_E76T^#i#|8>|AvqW` z=wJu|0KepeOd&=Y2-U*ze;^K*+fEn)+`$TgqcEFbD1ZE&4qY?KdxwQCyB)|PHLQ^H zA7y)N_K;AN0~BmJkk+;_Z7mZ4jLW zs=r4sz`|FPc831XE+9B*Hhi;fk8uAtO-%?MhImIAKv5G{Z^Qs!KqN2hi~&{igTwz$ zjENqj&4}sGz)(DWK0uElK!@Ea-J|pEaz}wyLsrCf?q)b4K!x(hI|7E=xlQv8M z06-Nn1c^hnR{U$}xWRV7@HC**LeVV`kUdDm@%T>uRX6YxK_Lv-%Yum0ck^uQ;~5G@re!@&Mh zTJA>@UOE3 zSogfErJ|B1iz(GzT;vGH=kR48x<1Ph0?9MxTP!t3<**LUN9C#N0rX5Fm?&08B_kOBYK_Zy*kFV-U6C5R;@~vK3Is4;v;dMrl`3*tjccxsK%$9 z4Z|(|?Zn&N_qW8KeOitgJAAlWaldXXWcn#&wh=OJXrCMU%6W06mUX~{Hn%J`v?QlW zoO>U89$`RB;NZKI)6s8EN0&X3T_fhy?EPlQe*JikP}>a)svxPPo+rm?iBG(|CVHAj zs@qe%_ed6%sdzx4R@*YX?zPiYNN)YzA3t)UJ)SMLxC)Xy`QYg%7OZv;%yT~K*q+a+b8P-U& zo66i%F66AL%G@$|<*9IxH9lI1X*Suf=rTj^ngY)&x_D*p&BV{~z3+rXRAv^RM>M}k zU9^xme#m~N`CO%SkcI|mtIN7(%H)oOG@-V%GA&OnyOw34w}hoTp>}29Fz=P>)ZE;W z!h@GiPQS`lv3=@ssJF+tXt)KM5;naa#w4AZbkDdam`seeRom~CW^bEN(Ra=^9W}Rm z3FBg(qHPqhbDEbz-%^w`c-AFb2S4}VQB!jbNnBWq>=A99tE1!Ml5W%Xyewsx^XyzQ zSG(HDAGfT%I(kd4FU8NDEew52TUz|PQs9u>Tpg1jmvs9Qc}Zi}v*;p`j_}Z^ujX+h zF1F+Dx*`niy{_RIKYbFd*EKwZ61$zkQh)l~jSw(ox1M|M8k+XgCn@l_!Gv>ree_{N zLEYY`87F3iA`{O^m6)WZMoAdFQDimO|NS#{aGmwKv$N9A1t;xSt~1w6EcZ*?u)qJ2 zBG895%Kms2Yq1NrqxCjNqyl^A{xPknBLy!69H$p*s*j4@J7+<=$wC*lEl@-F<$TO% zso8ty1j16@5|1`x_g~w+tsD1jNUtubr;pvOlIDv-oD? zQ0Ob@@7OA0o|k?mW?G?3`}0+Af)j3>Q?6RDx%y#iWy_`FPS`e^T=%F_K0}A9dkx)3 z87k{E9(z8DLm4sGPVpvesxTc6`Q%rim+8)QQcL6y$mrq?5gW+`>0Ga4i;<0ohcYjI z7+j}HnC25(oU=cyf6+$C{ufj3zO`gll9LGsPv7?@DA9OQ(x!6pw#Jn;`#FXv=I6rI z6{S+%4_u!bow^j;^~_ha-h%atH-)oE!Nz2==Ew6J^&6!!q4!+x6={zBUYggr7T9B{2zHMO6U2B%3YL?mmU3j%b3M~D0M9A#pMC7jGkX! zHJMwUD;4@xODB6$Zx0^)eVd@Ted45L_VLQY(}&#^kLCFtiyfPa`y#BIsK9=z+{}0I z;1Bvo^lI-yKIT=s+by&D8vX`t%?${gtlZ`~Ue(z6%=OxD`z(u9sg{gqoApy4DGPnB z4_XvAPAZ1cId9HaCufK?T=cA>Jx@+lS ze7abqUQ2LAmQQ!;&AHN8z7?&`^vG-FMbxUU&k_vX2ivyaEA zbJ>CiMDyrQeeWCkbiwu7;VX5jx`TDWC9(P^T(TU59~?S&wQ59Pq=u}jezE>mcKED2 zt5Z)%Y}V#{`qg_!*rfMAP8|Nw6B2LvWA$O9E?uIN;;gELQ_t;tCK25yzDj9H7=Aw{ zT^sY*Vuq1x)m7;+<;PnSj|+WVqD?Nw`)v8n^UazIowhJA(ct>FHqBe@;qk_@YxS5? z%ZaJ6)sfe$?>WA$PtQr$Mpi%j{afMv!x`Heo7Le1tJmL_T^s-5kT#()E^P1zbTm@p zzTD?uYL7pZRJHzkDAYgb-t*&b_FAgBk7MA^n}!bn_lxk9DRZmamUMaM+UMVQ6iM@5 zDmQcR|9Mm8?j>RS%6E1(zwEN~e?4W_s!Gf;``T%Gg!XY`<)uHMBb*; z^bxN9Fclm$dZ?(@egBp7BcU>-V?joxB;JRQ2-g?DU4iDGNv_QUU8EAXr_f8kV*%!$ z_x)OpZcGY{E*k2QJk~vJGB0~3FHmki`|!N?YBkflkg!pQuG(3PBe|?~mm_{EEWOB< zv%BncT_xC$e=Qqg6y=aq_y_cMN^6)7`Y!yM!Tn{A%Z418iB3IEmTga7h3R$*7*7DL z=}tq}6HeiMY{msigK~%698~T;cnMT6n)@pm{O9~L$QJMRgzFW3&ee7iJC!n*u+7;n zOU}iU%(2wvm~l%l^W4RZiyI;Eu3b45h)*+4Pb)rN#b@7w0n5D@5d-QE8R@B|opii) zJbyrE2coscuiVo(^sdM;GrquMDepn~79)SGQMIap#G{vO!{v-1Wuiw`?_Zqe?;(J)M~iyuLl=7CNOmuh)6`s@1{`&Yhm%<#}0B#(DbK%5qm`=*%KT?4yEZ zPSrR12jN`B^nBG!iP<~A(8Yiu9j43xvd}?gPJxYr?CANBgWtJ*^<NgvL_yvDFkkZ((a7@fSBJ!NgJ4P{MMlnM}LxaS7 z{*3bL`NQ-6d7taPZ{~hHbwy@2<4jo)Yq$zo)z?d|{wZmeJ(LHexo4b{Ktp1M^kJTJP zwWyQ@c)sd0viDdByFB{bmiJKH(C}Av#mJzHk!}lrO;p0lNxBwBY`E- z`JCEjaR_})6jBE?#@9*qX%l9Q6iqz$0xWn|zx@F{5*n~5XWwKkVdS7sOdp_fi zSMvD%M^N40pQ_Zn<~D*7476>tpxts!NkJkVyk`n3RDmq~pugjpdMWht{xWz3KMwZ4 zvMasgZMec)X}}YIn@rfmLHJ5TRZ~-a$Wtm=%YF+k`OkczTbVLOnYmAk_*6n1U(|)rcdvlnCQL2d}&| zFc)TE=#C-=j66@_%fdmjwO_=~$f}CY9ClT9tTN_*1u$ARsB|`*qhEaA`}xSZ$uqZ< z9rN`ag&9^}qR_btwKsW*vr{Eu1?0hLmt#1x^kq3WznU;GbU72tB$fbdPpvNGDm{B? z%(KSuPP6aGK{NT@Ca&}haSc5!$+6Xy=ktXEaUVU(^I5GDwM4W(9g6do(21t?`1IVE zZ>Z~f9dSvl-cuLP#OGZH#P1%Y3d?<}@Vcw4I_*w>s_nVDPTnHec+u6`969=m;=3O2 zjdGMLWoY9g?s%zK0J7}<=_7GATb_N5`B6nhmgMicuE=s~|KN3sv-v^cS_+$ZRY?09 zdM=1VmRI}7(eSFcp*W)-2ic6R>t?9$_kVhIiXthV;+E47@w=B;CL9-^7u{r`ONXe< zrDzvgUe1eG$%6&tm9(T5PcM1Abg&#?mt{N_ls6CK^LWlM7mzd>wb6SafpK$1a|*I9 z94qS_cn`9`FR)%b!W=#FgfF>J};B zx_K;pE3efAFlXLL(=-D3f%=O8z9k31cLL~hB8-fT zKiD&CO>N;^}+H3=gSCC@=$DS1EZ1u{Q=48nJ+x5#ut%ucR~UJC4xU7OZZHE;|b)ULF$>|`2B;#S(3Lxe^t1y z`Ee;7P1`>FJf_F~4@hH7>Daw(8ryu0GOHd%3FS>?=Zj)bB=2iWYL*<3UoJ zt`u*^t7;Oq+BM;u20^^#YUJ0VdnKQhm~xKWWd2*#e^>s45lbm zNsS#mV8Ac8xTGs|L#q7D7*n-OanEu2{=|xN-nkouKSR#CoR_v>So+MWEp=8&qH)p3 zfzR|>Ih~i2(G%|QDyEG4UL}&Zef#4o&qxeiAPc#tN>=*@_R`$ADMY>9ll{G>nVGz( zlIw~JFg353ZQy)wve^^SyCMqKB{JKvau|Hlw=rNrFFnGnr|J`S%CMfRzf!GiRu;g@ zO<$^*`4n7Io1JIxos@Vtt*BpUOGYbV>HU`D=VTXA+Rd7s*h|96#}sKNq!W>}OEOv% z0PQ7bM$3CLM38X*JSHOcd)L3H{@#)2p?pP`nftJF+$*_8CU=hFAcr=n6j(PNYI&Vc9}_k%~B z>*el#k9s#+;ZOCINleM{cCTHp;ehC`h+Z3YjWlk#BI%=}<5acD226qeFUN%~lba?R zFR}Qw%SWsB-d4WzHIGus{=|sDB56;LgMO;|?M(EYTjcOhtLzTl7X%~bK zGRIrgh$y9eURnAUHtN@Q!f0^w<1UNs(7-H=!sc}c4{f?M0?J{8`x&8ev%6_Au~sysNW;M<^g;4R}L z<11R{l|nUKd;w%_$MUwO38AH;ohH9<@xk^s-n)~NAB{{@)HpfG$k^|dH_3>X-+p(W=-Ln|4$YjLG9zu#bDH!X)xTG@kIty@TE$>D z_422+bIJP8&Mj59DBfIRQ?q1=n!GPfM?YEWKK_O}-#wcAqquxslJ56dMY-Pl&s?qK z3dZ(x%_^~UWkImx`$jnjf59q4PY&YZetdPRkbRA*4TbJXRL{faRySu4B zfASwRdsU>&mCum<@TpHU*RjY>02lD0#~_a=)F?bkFT^>MBE{C**>?4)US3cO@7WB7 zp%eCt;|)$nhL66_H(G8v-oAJwb>`uh=gT8q>qmgsyxifGck7{qov1n$^=F|hquYKX zaoP?0*iURpo3^tzR8`zM_45zN{P@G=ypgs-eo>f_qql?YX2Q1t;j2BSiMplK@+L0* zUF%vuKb)?&IYJNCQ#lCL4O|&(tFipAIjImWL0L~$rqUqzG=*%r+?s?9ZB-}Q((X1dE4G^ z9&hZeec{FdA3V2PIYEjxc%`lp_gjI`FU$*%|1Ny zGM$@0FAB?Ya^>?K>H1K;J~^CTTuJ!uRiA#%u>s}>hf+MO&m`T9kI%O@Jy8bIgbg)` zhmgp&4N=@&tMMBA;lg`s$~XFc?vz=suDP~%_6T8*ut-txPz6oUG#Qz>PBrQlU3MtUK33vvz-g2tV)mP)Rih%=i@s#U7x>I zb5ZaqH`$rA#+~Tmn^+LU3q=ob*QOJ;u0@AQ@QB7h-+t(oEEw(z4J>2S&c)&LhRy4jwn#U z(gwRHLwWhK4`+B?BxXCYXz!Z#O!%ny15bKr5T|hX5w%U%s@z}FF5`9`=V=my!l@1# znK*K$LNepO4Hlj^WPP0M6qN2cP$^Py+hF{ZqoLfTIE@j-BVHAy7o=aEHQL8esW{IHO`!51%#9shvhAN?F{ICb)2#QPeR_WNf}`9L%^ zVZ-K@a~Y#$ZyB$?E zk3#stm!Lv^lWV|$0Sn=2y`ksuDC>CY>Ce3E1vv^9;vaqIsl=0l>6giJeAcs~KNIA0 zv3Q2xTW5G^(3@2?XO!v-y+__69p&vLvO;xs{(V(&8AK_-5SqRC;1XG!lpYjr+V3KK(zOPdHd|G9`O~H!6y@<-^tF- z(+&Q*eb)_9o)eD)C-@vC{$_f2yDEuR}%<87xu`3F?sE%IV%A}R3& z8JpySx9i!G(?{nkK2!5gH}s8u{Z8MX7sUAB&^3Lb(hGJr%-`-tT2ivP*pV`JU59 z^N0csnQrADTGRKuwO;vcZB6&~d*k!ZUz>7X9vaZOxhX?w7N=NT?W=feCz{`92pjSd6I0>@U`UX8`F(GO0BWy-q{=benhS%NCjTG zY8-YapDo37KFf`&Bg;)&UqQIrZ8^->FuClE+6T)lyU3%)^h|+|rbQ3UvPLM*+Bh%z zoi4N=-M24cEhPVqZ`^r{n5x%uMbu-T3rISw7hk_!knxQqm5)%Ice%7t$7C&4)$MuT z|H`9k+Mlm~H@)A^`F4L(DdpD(zjwd=#;7WMX@9jmX8)uaY@Tq0Tl3ubvZv5ieC)p1 zWuYI6ab5xo>>XLegCZSo3NpQ!Zc?cpu=!+M0x;jsH3EDHbNHG|U6oY{+ ztUsX7zSiD$L*90Ses+U578@#nzvks0vQMRb^5;p@4Fc0BJc_;yFGW1wcy@+l8+eza-K5atGa>TIY2}G zHy=Oea_wDE(X%57S$yAhtkNfaB-t^Q#=g}|F|PN+tVl16(1VriaL`##Ihk9Nr2oi_$>79Kw;_HU$ff5e~J-=C`nipob zq`r3Ib3M^r(Dn!9>u@7Ryvp!Yq+dpH^}<=+{22|7>tjllJmwH0OF>RV>t3FIzGgvEY@L1jCgqJ=665)| zNpqY1T3=huxVv10^iq9Qhu2A&WnmVU#GpyJr=~gV=ABb=UfSW ztdUH!zxS|XQOpusZT|W;EK;RIA%)$=V({bbA;Uv_6CP8^Z$BGr_)k2}fBCty-~OVj zaM6<^SBN*NDO;Dm&zDLUTqfQalwiG5HJ>M)<2Z1uLtDt*V=!%?(#f^X*ZuMH2-ZVp zLpQv1oxiK=EYy8>6=4HHG1`yPf+WeUn<{xKh*(2^MGGz1;UHBes%F(@$0@BonU%O`_->! zi*-p}&ywqJM#oN009iTAUn_a8Nbpow7P;1iqV~^BX&#W?q6d!>WUmoa{z^UKB>r9B zH`C=dLsh4zXEsRktn++o`Q_Zy!KI$ZX*4%o+#KtSOb*z-jXFW%Z80k5AJsZpE(I{y z&QW`733AGS>E@-59hd&{Q?ID$&h7V{$~42|XEg?ct{fz~=oB1kRGGgzb+*%8^e|;Y zh%J5Q1((}mYKs}c5BSq4+-jVIpQ-cGCcj$WE^n&a-*)l4$KgAzG&#^){Hm;1T@x;h zpNeP_x)jsn8j;B?Vv>+Ncj927n94Zu>xBBHuE}e2%k_ia=N-PEKZE|$_(sL7Ed-e+U3g#wFa4^6wn)6=J_fF)KM=Qr#<%jUG&XNoCJ?!-Jp6g##4{>`|ho?75WIL%6hjc541$j(HbzXs%m5oBrU12b3 zscX1AbJ4{@t(VY&K_uaaPE>j1;~@&oW%JgabPc-);mMOrx=-|%#p!*?*^YacLSNqc= zpJg%1CID$5Bu;w*4<^+>R!=hft`}7MhQBD#^Y-uJ^%!9ezrmZe_pfHPMoV>yZxMB_ z$|v39Q(|t4L!?5#jQ+}iwDf$5e)COtR2tqqI3L2@bKTNC=m$Ct8*;Bd^jic5P4G1^ zH?>51_T9@axZ;y>yGLR(Mr6KSzuAOl{kE&^2nmJsr)ncByN1<|(FL$2cJkMss_Cv- z-ah}*bbK`nSc$MLP9}7V(iagbDgByV{PDKM`WF2Zw+mP1>UWzH66j zg=D)Fmq^ZEd(08*!pM6zZO*UQ&sgF2$<>N+1LqWzyHE7vb-k;PA6AtO(?0JSZ@F#0 z{6NrkwKC<^y2~Bz6vOT=^*3J2ZdMJ6!+bg+>CbJWBWEueoH_pURNPpP(VJD4#GmY( z4Ry(kIwF zQ^!xdx-uv+Xi%ESd11xt(emN1mak*RnjZZDh5v5+{mLop6KzRifi8Eo(o&uGnKNhp zfKH_YgO?oeT@L~xl6}Oa1jJ~?3lJ@5EFqnkfuS{*I7HdX-JeEO!YGcOgImSpe))7Z zkxhK_OaMv=gG338P`yBCUA%>lWWaESz-;t?;K|gTIa-P1?5jT9RTXdC?>Q!EyD;WNHa9@*XY81JBx#avVbEMI zDNJ+IV#et1oZ7-wgY#jo;ZMVy8TQS3Js+fwb7m;g%{dv@R}GzG?Ko4cuC|^&6dV6g zXVcX5xg^cEu(7FZItk|kgG_<3;?BH`p6P3Jb3Y>#{AjjQyFiqWYfAMT4ENcaEg2g2 zd#)%^$yVPT4uAYCetOu^?|J2`3!dp)!(WEd9PbqOdQI{ddst|n@o-T5ZmN+|*}#f*;qwwwg>>0G5B>*8bh z)0 zHI33cQ+?y8;Vy|pQr%Kh1wHBWJoDiAbFdfXHUrlNzoi$N3twLRC|X~1J4g0%*GDm{ zDrVOFN zbGdr1>8{nL`Teh%LvARtY)Kle&C0`alldh+ovk|Oc!6^$l5n0@ar>@mxY^>5u%0>! z}%V6Wg&rCP3IL(3NZyz1O-~#ag0$EFnoKElKHhq z(^xUg@~5%vC4ui*m#OXt#9v5o3tm2(Zg5yEY$Y8=+Lv|mGMlv2J?qfQNsmTECTkhP zuLjMkt{bz5y_+fK^DQo5*vjk%@@(BYV6Mj^28>P&IknX0-=`W|PUTK3 z!{Plv`VXjD@4+9C1XN3Gnwax6lM$n1+UBAhHNi&Fh;C#4@1T{p&3Zp6jip~5xmEyu zZssbhJl@W-wyZX`S6CztmAEF@ z{`RhM@!Jumu=;_>M+Hf4!*4t!JPDbut$w>`l@T_+@cyL4(+d_tQd;jyCbFPU51Gp! zji8l2sOsC1>E#`vHgVeXNu@(Z0kJz`ZOs@jn)|k5=W=bEwX19N%(wTxSnf4P>$tfhos)v^y;=hfWnP;W-Jzq}?l~;_r z(OAlSq+9;NH9{H41+f~Es1)7qm_^p3U2d1Fl;&RWzONyo&?bUTA3MNxgvlpzVxZ!r z;A+UAXtQrLldBM2?96oq^$Z)gv?6Bqu#X~Cr$Y$)mWTC=O?9W|+AF(!(yF;`d=eSC zK)HS>^MjW2<(#61sq6)}0i7xObotG0AV7rL#il7TTHbQQs>x-&_|%WbR;J@`NIfc6 zgAQ1Z)+D`hR@;;+Tys9drb^>XZ>?2!Y$aVXIZ(mjZAq!;Mnh)yg2z?k$rj=g!c@mc z1KFpX^-l*tmi;@gm^d8qzLt3IVCkU%_qP+i>QTaN6m_p`>MIK zpTLGYC3Wc;MBZ}Bi&PKBn!JX$9zU9_zWw>ZSn0*HBgdnF2g$^Eny1UMu#@>nbt%rn z#YR*D$b{myxdQLSx?=vu?;?~lUMFWxd)l1jIqGFot>KL^4US z`fr`p3%>R5^Io&YvMsdVjZjsPQ(JcCrj&n{Vc1HZ<{Kz;UiREa7TqR=?>Y{`=hkM9 ze@nYq<66({CFmUe_Nn*!3+;Q-*XN~REUoiV)2Y=b#$0qB@#y9)w0NBSrZ&dLOnpFK zw(5+62>(>qdnq@T*VNwiK7AQmeJ!l>Cl-2%TUZwX>r3Bh4as@L~VvuIW&dP zcRRB<(@s+-TzcTlDs>ZFR29HXTi)4EXxQ&;O1&K}^@T;^$_qcgWN`Yzo9*$f4`0NM zrN-_QkQMe-&ty$J3t+H+oAmpgA{p6|H2Ix^hC>vBX@R3#-#6a3T=Pz?Q%GmbB1x!s zu~vCGe8;fGWy=2J_IMkZYdI%J9?=M!8dxs;e2`_$L+B)PQsn%awyZhdd{nIz*wamcRa>n} zgyMpSqhmC2zmqv{U%p((fbm9cvQ(t`8#_5|%f70>d*rM_+V>9XQZYqdKP+3Wte#Ea zm|OkO*=?+?wo0mO-PwN1oXio#Y7tPDcD~ffqE$3##ah0{oc>99X-40Z$NjUT6XW9! zc9oSikNd|RES)UIFPe>CSt@Z-7&m{5mhgbp`pIuiF`K8qVx_-QE9P7TPi<%qebnhjA>1v-c8c)Cp=AS!(k?b^Gi0uPY6PZ4{zW^k^ZM`Ki<0O3%4TW5`Oa0zZVgWwAM-N30`{=z<=V$ z-S=;#W5YhA#hBNeJvsHdTnabMvl{&eibTSo_uBVR@`emxhX;@G0-hn}*g%PF8> znIwsnCFHo8AF0&PAANX{>LqO0h1Hhhnf8#0hlI9!y;ULqK!W!8AISUK;deQjKrEhFgIdSk_i$1FhytPDU~? zUvTuFhZ?k-4Z*tD?1dM?*~B+LTZyZj6$}!tr08w(U%Rlv7~gDnU+xd+nD{i|^UEfm z)1L8N>SdEp>s4$nZzjKcobu<~Cj(;Vvc`sKatDxLK21Sy#Z55B_|0P?GvHK!LMHgB znJO{=&&J9~veah5H15RFB;yK##zNRBzRq9V$nbBw%OhY|%r0lCFj5v%a=YuEi}MZ%V&m7&UDR ziz=aa-U1gWMdA5pC>w3G-lxK~#-0;);AfkV+7O+Q^i`$tK7}0ZkW`6vhqPaflByxL@*H=m;=tNwjsSO*v$HkA(S_O ztUq{xN}QHJhPi0^Xa_Uo52%;@ozlIcKOjSs75keBf1!?(((sXem&XB=BW(R)gSDqZYI3HcPJ~6O_~1i z634yZAz=Q;K=S(l>BbGP@z1MjG}BO>L!Gfizpg$%xIi`YELSPk?USxI?XYZxbCzVA zU>W3Q@XJSs#Lwxdw6hW#2G77qq;+I6WI^1_;zf>&g_Q@5W1OD0T{jNsU?<^MAp}{; zG{XWrBbjtmItAeLtRVd@_nGv|2S!G|Tnv(BBA}FFT8eFOw_y_tRVP=-PY#GAI`3?S z*ZDsnz5TU6h@eC?)6>yb%mp29uhG6_NpKV9$|;Ewqj(D8dz%$Gkl_93dYMU9bZa<; z$=FJYh}n4hXdL^Hpl$4@Y;4tF;AGutjw;|ZE_;%SY|4_qsqn)1@zCrbLlKlF9el5+Lrjg)WE zR|#pM9SrkZKUmnUy~Uxa;-CPCl*h@FMBOwzG91ZnTx2v>>J#xM3=5#Z2yYUkGBTIpfV90_vNpv=U5T(Q^9(Qt6nmD00nrKARXIe>9Wt z%-QoT-whT@?z0gv(ss>4Z+fz3!#R(SjaMoYy|CdV6VYeUq!gKQ8hX?F&O1Le`B-Ow zIseeh2Cqa=Z%!1O<8uy1-G^h8Y&`S8<6 zh^<*r>1}-5@bbv9vhO`%pt&*)*+akX<@dUTx|7&^hWvCQ2onNxmIceIu?o~QnE2R| zk+!fco;2dF%}KHf9=qkxdHM(mX<`{=X*{7*)f2-FSp(4^@5nM1t30jNjL%rW7?_uyxcrNWFIWKJ|=`^;s8f zTPlcDjQBv8OW#sVdDls~0rs|g$0HZUK25>4*kTDwX{ma@sc?xhsslUZUap2;yZGEYXs$3W1>?sUl%++ZLz z>fSrWOsVC$Xv}Z;Q9|`?OYot*vA&qK+oDO-R`g4Xrd#TH$#hx%+c7+SscgAQzfv16 z)xx&Ex}CRGWMTRgWH-yxHuHSl0AfBqBr*S2=|M&oBIS(S&(8s$MLL4?|M zzPC;v{#Nhf@RDp@|E2f-b|x>m`I1%Ya!d7Lz@NbT1Ld1jtIMnmqRfd~kI6E&VnMxX zXVjRPC0&0!-#74jbm$Lg%zH~O&+)YXC3y*TNn>5fA?qu`c~#X+*&}O~R+bP;$ghPi zXO9tKl@Vc^5rJXk?`#`6jDlLpyv2)-td*Yz6dL$bQDXjZ6~wGu;d$?Dh#h6+;qJWH zt2C2g+eM2%WUmH_r$04qx=O%7bV?;cvj4PA08`Gnu==vMH<#PLv9L5*H-l0IlE3+p zM$YPFey$V~x3doiK`A-Jr9V7uPYL*NsU@SH@Fd{sNL_#yaL-NMDL!Ns!UBIBj7c$e~Aqi$!o$y|InoMwO1P< z7&t0N1nQcKxeID#u{3MS8*BDx<+)Et$D6>M!uj!dk8*^8$ZH)EofB?E1Xj#;Elf@F z)ol7kAiyvHuDHVm{#ROwR2*t?0|7g(PI_V+GR;HuTlNyua^3u(} zD}Xt(fJ=hRlq_h;r{7U5U(G|&gph=$ahgWoI2#lIvL#_AE*VbSJ}>fu@ek+(w7i*y z7;5b^P5V>l>l_ddr910O+BQ%q%>P-`;AItN%1^)AysoEhezlUdN{vZYkO}z%I^YoR z%BShhEqd1=MXzp+>oZBbga0fWkhPYO+xlf9Lu>7B`S56_4?`w%hhD10#*mzyhERao zn$4%rT+WGiZH|4jk6)}~S}G&JWrTu{&hF0b$nIQD=ofDD{03|PFc1Vvq;}{FSerDl z{i5U-i7NlTam)Q`-WL&3KHZl`-TFD7mN`h2@+*5!`6`TA^oxR~{Q=iZeInwv-)hXn z4~M6d+ggv-ih6K=rIP`JL@7_uf$2Fyo#?&6q!cv4kc6^@W;x1}iWHEn&Shn8A$4O~ zc}NK5zCZyRLZ`a;B<>&uP`Ce=bIfix&cEWYaVw;4OWD`LQHA&1`37>!iqto|)&F`9AY}*uTF=`VYP1?8b{`}?jU*4x` zTf4Q}-uh*8vfo;Dv%Jl`kn68}+kWNtX*uIR{6H1)=a*f3XKN2^FT3;=H@_CDvwvJ& zJN?G~F1~Y*>{xuxE?XK{N1F9dY|yNMXVWule7kYQo$7mLe>wTGre@L7;eEcGJE8ox zgqHhl;$13yRwgjxt@NNOU3Yd%yEx;Dd(CA%{^|eq6m_xG;rasak=dWO={quFkj?(K zjytEe3aY+$hR28llbgR9)Mu)@^TOa(FZp&)9`5(+r8M^q=TrAO9IV#&r|C}fDpmM8 z-ezC;th+r9j*4IAv-{emyC-L47M-8g;r&KqVjKTe^PkV#ET}%9*~`AwCjXf=zggt# z4L-b=SG8)@X6IX`MRdNqa_69MulkkUZ^UR8Wb7R=V%(_16(>y%@^J7@h?RV2EOl&} zHlk+3&tsNvUvpQf>d<**5r1e|wi2K|5mIj-NYnS9PfJJDqMGPnG&is$5;w zAbifpaXWrp)qd-yWV@CZJE%5fw)N}rx%A=p2?cu_=D6p24zE@B)3OUj42dlJ&#K?* zbZOUP`gaGt{vJ5--1t69ZWxxV2QS}lsdyrJ)|A9FkWIyfcJ{c6Y;YkF^W zYk184?Mkcr?YUJ~rSlro`n8%>6Ljqpsx)jdZ@km`+p+a7XHWaP)0bubZUhz6?cMdE z-|?Rge(0AucXr(6-QH!V)(*S5V8p$9jhyzo)g3cCF>@=_W5SluebuL`RI}D!I$81l z(O=^`ej8Bxtqy^`=I>qT)uHghuV1uJZ9ckaQj@^gIrS=NZFeqqg`)KBqpucy7}#M$ zouJ81t#hT?eLB}^T;vU}><-ATwX1Hm3cxP0otEvmq)O|BTlalhWkH>h-=1FY74X?# zbE{Pv`@@>fx*awZ&+T1OvEHqQ@ak)$x?V6G+PU-S&fiz$miug3-an^)8rOL3jw9u| zulGAQa@(gJzHPR8Oqa~e`McJC)B%1%RuAj)>ernXck^96@#W0v%exJ=Ujrj{uixh1 zI^1yH^%aL-pOw*VXqELXhap+`WUlb(_~GJX%~!$j-EkHCt{(IDm@eO}@CnVn3b+62 zog1&e@#>FfdcD^TkV{$(av9eRK6q<2Kya}uH0$?OrT=ZqSWD+3fiyq@>4*ff7zv~q z705%pZKN!>Y~7b5`VaVh{`fxO+d6OUGqCE#CY?ubJv!%&-`fuGY1F(~E4Rc}v)(_S zz2VafH*0%3+NM>lU31Y8x1sg7Gzh4-Y1f)XUp1fjR(#-5odWwj%;QJ3J{Oh%U?weabx6(_mH`;gV^{ZdK7CfZy zzjNz%_`31HeH%XU?zl9nMVS@HKJJ}4;q|(|zt?$geWz*YXVt1zDYJj^^6~QWfuE++ z=5<&)sFDi~y2gKsYG%Q%pc*(ZwvrtpQH9nxBSqlG&&W$ zp&9>-KDkhztc3|2UeW06T_W=`{Kx|e$mR_b-<8xH0L@Vwv%EVM^0XwYO=zX83%ED+;%Sm@jmSfeun>@!??eCoem*e!H`Gp)h!eE3lQWG_bdyZYc-xs$sD*psX0)1g9&_O^Q@{e0WAzh6+P^_cZ9xP0;_ARY}kWNsA zTV&AB;IS!h=~N0sU>5}#q>Z#NZ#Tn6%4CJH^1!6hXk-{Nq9(?hh)w(#t30bhB5Dlu z3|e6NoN^~Gz-)$qM$ASy_!a6?ilti&h}eCoBjCrm=@=UH?KNm&fjJNo`mE~q?!*jl z($4&>ez>cq&yGgJQhrvjqBafGIXW_92x*Gj8+{S&%bI)*EV*GqI zGQZ~NJ!W5&=JG}os-+%UP%NEBuj9@cypF<X^hsZ#nPlN1kct~0se7nGQ zE)R-#zYk7&X^z<7>uRhl3GCptE1<6KOEfH7a8(yaC{Ng#nk2a>0G1JdI|jkHvf4h)D4IGmXN zw5RA~a6Pf%?^J7LmC)G_LrsR+F7NEa8?fiG#L``&O&fz}k}aoODoha20A!sZqY3)b zM^qymxuLq&m*U_k;K0BU0LfI38v!%K`TeAoQJXb7wI*HdgQ|mY7-h|p~3LXqwA|n>hkZI_f1aD$I!$UA)xn;{< zg?b*=)xH1zMxyCi{`qr)uzg9ri943yD3)qc>#2MT^XeDQupj~~8jObqOc6Fmf@bKq z=O)Ccq#&d;s+tUq#6T)}6&L(rRwyxuAc~DT6itw3fQa(5#zk7G2kv#e?pu*q;vAdu z67fp*C`OxuJO4D69s;8%7hcBQwDx>d1^l?1Eq7eUy5F%viylRlVf_!0hQeG&%vfX= z;h7u$2jLh$NFBLPVQiX{SCbOWYt2jWC=~=g1>A=Gf=iK{m>@}>@&*&+rfSlPM!I{}hMXYkH2O zPDLa(UQxwiHolLIC{ula-YoZ|+jQ>sH1{itr3WK{Y_)^5)x@#5HkDeWft6@a&-Sq29-p#? z;Kmt2LhD+@joJ)a#-DFm>Wrj3mE49Jwa`*jM`z}rU-#_*GM znS-$jyLxIgtKk`A(;OqMAZXzJv|p`7cLmeK)I3B@$nXH9Ek2N5AbX8W`UX_(jJ2NB z!4TGEJ!&(l2UDSE_<7Po8*bEkgiAVkzVSy*MiR;zW~CO!wa#(JO)+1W#hnivjHc!* zP*8vBVCdy#HzbgHY|&5fFStFsc6EX*eE|vVU!3Ir#hrNUU!cVp1cQQmAu9zq7#`HY zm=VQ0553Y`k$~*!fqfv_DZp}a4+)8dzR!O=%@Hu~gP=cW$ri1-R%FS8?BWQr5*e$m%^O6o3h~mtS;b|^V68y60o2JauHelb z;9d|dwmBEGcZ(lC{C! zOz46k#S4W6LpoBW!-`Z0tVr!+D^mSr_d-VEtmzspAR()8^r3G zT~i>~v~K_)3U`CaBtsrVWiI*`Kd?gXUue>4;mzI5zvzU3K!!i8^#=j)mL6HOAE4)3 zfJCgLClJ!ifAQF?>|vz2q`-}chk;ENBHH#8io#2RDa8uU$GRikF@8j33LXYbc1ZM4 zb?1Ql*ue-P{g?ekg`}#`1>~=aTVh`MTNc}owjUI@Dmy zH9$Sf(!ceO?$Q||E!XKQN9Hp3Q_IJ5*!kVQv)Jz)FfZp`O6B+x7BE&00{Cg zItu>9?Fix;5fP#3Vv{KpR4-sTR^Ca{#)fc_(kla5%eN$kR3tM{KW|uVCcmgPYnXpw zUzLg7FM&cK1v691mlf)`Ra;XNBkP6E6$t}lG0ch;Va$@CypL#FCGi>5qA+>9Qggf( z;CTtHo6D1A8iGU7zi7bCtCi+(c*dz0a?KyqsnAz=)`-ae9QfX6vDIXH2AxK+z3A|Bx}^y8ILo6$F9 z4fC_C7G!sTR$cFoq!XteM+@jP9tXB$0sp3aV{x&5S(uzVvs7+GXN>UO+5l@iV8lLe|KGoq&YfXQY0 z>tRI%WG@MZLNAO2`6%kh<87H8)Rki4cPobJ1-D;07B(vO&c@us!0krkS@c9e++tmf zYaNNk+&HzjJO~@Vi2h6YM9IVOjLXs!I6!%@&4NYD7i!1XWrF;#$`Ni;f`a-O_Nde z%#5Z0&}V}+0m#k;428_5MW2IO-e6X3U=WkKxZ_O=h4otvdnYD_km?5ZMr{TOMQtvy z0tIqu>964yZja}A);s7c=o$D>Im+Gz#sO0g4EvD=;$epv52!x~Bm-vW7UV27QV9GJ zv;A&Zmxa!n9uj>Y<6vacu0S|2se>}ggWUq5L8SWkiO&NSQ+^|228 zk7gyPK6)#fA&H2c@Qyo1f}5^_J-gIh79G|@avh$zW*pnTK%K~gI2Zol@FT$+8MO9X zCD5Hg&g7foW}DaFx_jY?`z~cTkWZs-+)_*Z1G`!jjSN2~c!>!%hO{q0FK64Hwh`DF;|n>1x+qZL3(}&~7?R24VEqzULUxoXVlwyRjh(c5RjwA#i4n z5sw!7GjlRjm6<<*cm?v0z@tr|Wj6N0JE@aFc(f06GMwL}NRa0>NGuAbEqxcb8A?oA zuelSD-nKM$GaR)7la>rd@Ru*DCvRtk?7}ln-P4Fki>b5FeKVu6au_jbdxCPH2dSMO z^)i&nw3fRhpg}jj(RvnkGJs3FJ&<|{nr@kNSQ2Qngk_2}VFQ@J@()uCflFJt3htN4 z$*{^lph70k*Ah@~ePl8%coY~3y*46-JOqM!iN--l$>!hOguUYE*S8bdh5 zmTRf~sGQ6TpnFE7+Pr;i+q*U2;THI_+=dmPNM}$8q}m)A3jcg-_1Gh~1S64)kN{$< zDFXC=>#SOg#C_am+(Cz|qjLsdBcH-IzW>2DBVAek3lliF7`yuKCZt+_FrZX0eh8%6 zo0uiI3lFu zFyr>&S+$13Gz^8Y<3n)(od738Y12Cd>jZH!@IoAxY%oLO#w=_UAknv{I#KvgP6i{@ z%BF2!0g29^3sVK&JdpvNYX$|~TCq4bAdvy$&ho@#KqCsG)yg_3@DH?FCU%Cz9`Fn0 zA0=9CV4302CzCL(HWcn+>0xXEVkop|I57Rieb17cq0FllybO2R`2{b7FQqe}phwRj zyjoe!(b_DkIp@_56wO*uD_~8ZnYA+oRi_OBGs~h7xFIDlYf-03ilAn#iZ2lgX6->{ zGYQ06zQ*p(b}{Uo2^yg2(H@p7V$4AxtF>`#YlSw2KU?C}&cfq6+|ojn9^d%pJcQ)2 z6eNxZ)D%VO(T#5$rH7VlS(IMWIl_!l1GL-Z?t(Q zn~&{;mI#cbTzDDJ2Ao&B{cZv-0qNHT#N>y(%Web--uE{3GJ;6#781RYRa@Q2$tafA zP`lRIgf2`VdGOXZLhCfe53ds@0k;-HK`>ZM5yWskMQ*L@C|SAvSh${~A>3LB*R#s4 zHRc3AF1J>8G5`*2w~#UKo6}743=ZvbR=7Q!V#E*uA4BHW(r7)ztwr$5+*)zPw!%1M z+Hw{`V{%vUW4J`=l|C{NeT&5hQh^{ar?Th=4A5(YkUd3qt><|vb;0*wOST@lJXY*o z+-T%xZ0-cNu~d%}^zP`H(rdBjCcc2Kam1blb}iTypcn?SB8SHvzIOi5; zWLb&_?P--r&emzQnp9#*8PjSNgZ30@wSv=;?m{iyeK4(%4$~Q#_XtY={FBH;xAX`V zJAM%njwP$sf`5_zz^FYv7dm$^gavgvcY}kGs&2ZAGi$T_T|H5EC9^TIoQ%Tuj64j& zpFn*e&8ShNfe-0oY~kWSUB*MJwZSt*pkUa7fh7OvLaE?IVl7pmJY`~Sh9xMV+^FIY z3fwa&6Kg~Ke*?83#99*2j-(&FLY|{xbqCu7s8BF$t?+6YO-lALxM3S55^Ej8WJ?MU zpPX20Y^)RcT9W~{Yvnl~%@l#X!Aut4um7OXxF|<-e&X{Gi&z=%v$g;G@#Sy=141yskNwt z(?NLbo)We8Av_GYkw~pgGNRVHM&izfgb!|q{3EW)(y|zP&im9d2L)4W@i#!%ttAhmE~C~$@fl54T0NSnc*(QzP3+u!jxb`N4>Qs@d0mi%cd_U+f0w1wEc z!K{#8fPXO-V)q1cEn1xoLQ@+VmE@&!Wc;W!Bgi;K*OCNoEw3@TdYIrnWGJu+6i*tk z#)n;RxLGEZ?}Ny-%)Rgvg7-MN)@tycNJA)=FoDSe%^Aa^yfSqpRJLnj@gG|)L<#tM zpdz{U97RCZ81%0?B2OgO;_y8Lg^NJ0Rm-lhZVSSPI2hs*p>dN47#pl~MozAsNiigw z7{9NirfFcMP&y(V(ozMG9zd>5gEz{i7$?^rX%DTj^a!K(2N&ZOUVZjVhu*F93&ju3 ztwn;JM%AM5#%h8N{1uF;<*ZP?K-^jsyeDvLo7Kf?F(c|eQUV;j$FMN6Ym1gWGIts z1F%1XYERbTkW2)=0q}*1lw!-VHC+8#Rwy8X$hB_^4B|t}>jRA{s%g_QY8KQLU z!k~m(Q|IZ1k|Md*x?Kw+9-5d!ERt)>P`$|Th@nu}aB{8Sc!=a$Sub?DEg&0=h1HNT zW5YHF3&sM`8G21&veG_=vrh_kE(s?D&ys2IMasc@oB*xpWW=H1Jxs2}woBAz?D660 z7%2wwF+3o=k__a%F&Jcj4>%v_reFywo#pkA+*)~_#4ZNn*2-1_UpV)G-Bv!|;MN9+DnPll(PAOG##Kbz+H?hOtsK19(uiAIj~P({w^nd5l(@CvVi<92 zO@jBLZqLz0dIrhj>1MJ{>p^YWsfz2g9+pRGs%Jp16-*W+zL6kxdG;R7tXfnk|G2Wk z4YUX}ffYV7xz@yfmC3cntG65)OVN9uW1|+}KyOV%lN0KqZVV7HQV(0(cq*|-u0003 z7-W^2lWVgWxfao6HF%tImGuJ4@C` z^Nr0~1ZUKyyOxkZ}JSq)xIDhx;eDX@#{~R;a|T zjRSUV8>7>tD7%)fng>Hv8>j>!aCAmcP?8iPyA!=I58i`MZ?+}@f-Q&w5GTI|)REE3 zEbiADUC?Ygc?$&FAE>SfXWjAWJt(9xv5bQdnRh%0Ze!^oAi<;e6rjL*uk2rd`42{d zUttDd0R&sP6A?p72Ba4?dMP(Xqt4o0fr zVEAv+;Dvu5kdmwghJAFp)wK=-#dtV&?R|y47eOqbY@h<^>Ng1(=r5ArN+1^yaZ21+ z72@{%W*>o2$PRHtwUW9(>a5M+nTC~h(@vWI~I__dM&9Wo-_8;L}Rw`12)+~ zWl{a{N*w8;oLtKz_=FYPWM8=_W0jDv5xLelf{#oYSTX6Cq@N+vFM(c*=MgGG=n1GB zz#~MSM(8Wh+aEQ855kqw-zr*ieLa~j&N&P2wxZz7Z6lzN}Np z?AmBjQO>S?-MHrXQy-ahA)|k(a(FRzZJu5T;nQ>j5Xggv@Yx9LT80lNsCz_EC{&f3 zqJaax!8*Iv$R^jXMo?JfIfI|EITM{!Yt#(*mk~mQ7(OlI(XQPd&IHa1&B?VahHtEK z3||mo2HaRt%FocPTcq zLK}W6+sGJ3uiYf00rXl8zpI%fjcoEFvXx=Hh$}YCY78H-ZSi^>87@wvp$k1G;MGT5 z$bAn5Hv^&o5>wUxwxuzA5W;{o04hD3*tVoDu+>dH4Z?SpRl@+T240;~4&%$UA_iii z1pyqxX?wvUfuSXvactWRpxSYZZ+EM>%`0$hGwD0?9-U)LZ;zf0xws!&raPaF1isWm z$MFqaC*x6gmFdR=NVaN3vTY;8@eQIU*K+m15zly}()9ZPPwu!=8SbW$ZUCIbFtJsn zW!Auu2R?I_EwgZWBwwD$vSo7rooNjBO3WhpkX3c()P6Ia;8hdqZ79IavEXYEmaQ-U zB>mDjnPrO%TmxQ_!!v0xgF>)xnX~b5EZZS?&XDa}D&Sk`b%_(M>Ab?k-Jmw^+zk3= z`uvdLe8xOm4=wdJ1Udre+1iH6b4i}Sv$b=fg&8X9tOSOlF#@pg%RAeiip^Y*+}T03 z&Le&6k;C~2&lYYdpQnYv;0CU6j<8_hE_KImqrI8v4)APIG~ao-%i(MbFi-fS+Hofj z#t>){8S9N)j$-LNTS=cSk6#oHaIC@RQV; zy-1(|J@r3IpkV|^;d!>G*p9m*FA`~hv4|i4Q6dcyll=1@bOYpb5t0&5sF4AYe>TL_ zevwcE&Zr@@T%+|iiVIT`m52yT$J8f@ooVKi&@BPECsAL7{fi9+=wyOZ@*=ec@)(_^s@mXmDg8J!T=f zaT@(Tv(G#XaTfsL0b$^qJdLayQC5k&;^`1HEHIA_5aKiRxc|4T8)0Ha&^6#eofAUe zm7SAf30CXL`q_)@8)%gix)hQZUg5)X;RN1moWT2d**8MXX6+*A&v<6m=&(V|-thmL zg+qzRTMDvp@C<)63rDD_nt+XUo+A<_EI*b=G7ckJ8Z4_nC>aN5kpkmH{we**IFwd* zb38Ob#CcFrRIsk_*g<0!0Ri?Qh`nGtl=h??oZ}$ydLJPvhoX<-CogsBRDF#IzAv(K zz(k85Pdz(_(P%zY%2OE67Geij9TJ|_bxL|>}O zj9+=87efl!+)qFCVE+V@FT&{iVM2M4t-~mwkS0_%14JbL%0Zs;cGrun9cc7=`dK?_ z(OyfRv4qQG;=@qltX z*qHEvJ?O%4iRAQvq=660>G1$U@c(#D56(YTiaS)w>464(J{#~WQ&up4h1py$l6ySG zevv6GWa)U3m@BqWhB29RK8H^7}6LyIv zcfp${kCpXjO#UImVnj(L-~d~gT3%>j znEEHh(u*V@GBQss2?+Uq)7%&c7CrbV#2kK+3&c{q;?v6oBIB;GY!C5-)cSgn6vRBg zIYcAE(r`;SAEiW+f?V29VhW;UK$HUa3~cn$kYG7Fp_z+dDDA)Olig>wjua)eMo zjAO|VEC#eIPnIEHqzYkTVi!*oLp<0}&Q6CrsD2Yh->-Y}v#)Z!wYa<048le@GI$fzr8bYZxY0IKy;I6Q3WvDUa@ZntueA zBL7$Oh#1yu(vJm1)vM7t?`$uL$qQY?Pe2L{rZ8Fug#QU^_eqn8Bt=j~^b~2dL|B|M zY#PtVIK!nnnaHW%in7zocfFtJI;{JVI5N!Bzeo1Vo=J&h5|Q)VMk7uzd7R+=m0qE6 zM%i0QcE zmn3a`o#AUeJTuqz-N7WpE-d5{5l-~Q<^c--5f1NAJm&X2I_CEz$|V9|=sl3=<=qV1+C#vdwN1saRT5inO05X;ST((jdC8GcQA$-t5trRj%QQh{M(W)?*S6Omvir}{ zh!A;01_wGRS#vU;gN!0^%bYu-1hX$^CTWjsdt=?F%BTE3g)Abp=ilO{R2VIz&t@Ts zr8uLATfU>`u(pse(>uRoZrt0ul56}|X+$<kB; z@Wklu#D{hs({G~=9aBO~Sk>>PT(|7-?JR%ec16ryjkI(>GNS`f5Ai|k+r7xjK z!rR%lZI2CueaVjh<~Y`yS_=%ur=CV6oum<=0tdc=2Zci^mot!iWgkOTx^s$r`PHj2 zP8G*^OFH}J`5vB|AzR^pluCp{Q7lcQSdiqA;!EiIdCM#!-Jh;{J^1(>8`aDE&nBi# z00l{Dnpa-I)hO|NBBJPv66x&Woh6o&Ywm6svwF|4sKe5eUSw=jca2X2n9Dss1?R6f zIJp+`qL*||5mD^IHpGJoy>L1+`E035Fp~4?oHR!_r-jPNG4C{Mu+}#>cW%f8A10%2PgmkBpUfwS2g#7pVoHXqFARI zoo`Dzb&bpvIXL1!$t_|ka*l^`h@rf4SSmA(7(UZ=8+p9fnxz`=wNl+-Z4cY1y!9RM zFoEZer=DBH6bwDv8dq9T*9+WThafjFDH^*SPd~GWDG;LP z@lYX!ScTEIl!inj+U7&br^Nnn&UX2np{s3mPVZnh@RRR|l>Up%BJ%viVY#16T@Fuc z99`E^mt`bt&!I7WJ1yw*%kh;?W8TM}AMUIv<8x*`R#K7a^bEvU=4x0or2)2}1POeQ8j6~D70M|!mUO$@&My?dO_W04~TJX>v!E-uKT-JT1ebwMlpA{j-Ts3^tf9JY|FXiLGXGR>9liIWeXrziQw&1MMEuYDG>i+J5GO1!eH z`3@d@3!R`^ssY^77TR#_33?fquY|5geJUOJ?Tc00yTci{kizgZN?~Y9qdHDQ0S!u_ zfXM~tsHnB^r|H;L$n)s&R~_BvnoD~kza5^vjNgHnxAIJlmpw0QRlRjm z{b2ioFW<{{?dm=F4g>OUU{`rSfh2e$Qz&Rkc%gDH;b8@b{8X&zo#34Cu zT|(@gL6xq@Pkdv=)po;?laa5Oy6}OV+Z@*QW7`j>Gl{UaPOwA4f7;k!Y(;Y*tW$4s z5TLwJh*{8-q5#ZWoL3UE#^P=yexcFQyn-wUEz3NWp@*ck!8irBbCH9aj8Ykf(!vZa zJ(yPj2<7@FAJ+w^fDn>Ug6Ol{a5t(*XsqtTxD$s5-Suth-f&3S7U}EG#ckY^bF^od z-+FGb2N9)=FPt@&gU3ExV%b6figLr{zDR{9P!!B9+ftb{q}ytnoJrj}b?f7^IiX%R zr!nbagFma+<$B2G;FFD)EE@#!*>bw2!c+kVf|3;?OGXwG_U*HrC*-?{jxOmA(}Qj#d{-oGTUP5@n>k}U&20Be z(~}J@ociR;CCt$nO=ZJ`q<6>Phr-rf}4T#WBzGlIP}R8OjuUwx0cd^ z7=Io5?|(cmNcH4~_N$$H>K0^Qxf^3Y&&e=wU3|Y*uCE+BJ-XK1A@6k0fv)w`6M?`K zo?$Mz4GfCRFwd+EQxNGPQw=G-};*!QW$W>@nX4FO8`{ z=DobKY>ItVr@pY`npkm6?QZ=xtPP&&c%*svVTUJ%{21JKIQBHoK$3JmYREzYPXjqI zdYH3uYF|7VJFR0=I7fo}8G2qQLK3`=V?eG*u5XwZJe6DqOAOp+IR{92&5$c@0jlN= zUAChw*ZIz=n}e$?{b)_QU(%O)*>S|IN^|TU$(nQ40N9;@wWc#%)Wq zr-4KK@cPt)Lj1S`B5Fu&Gc&ZX2#-=|u6jQ5eaz|lPC|3C?b>eg!GEisSk<=H+ZSdW z{(0liV~(}E_=lWpP2SW{@HM9JAU_&bk3{?!2|nOcO3nrv{Kz9ei)syh#?~*^kW!NA zV@~Jp+1esapL#y8bRSvo{d-rpw&?dm|KgJqoVzS(_IM>xeLQ(7kK$QRwZ+vk>g3c#tkEV~`zK<18P=(gt}I+59Ls{e5mW zGo*zJ?AVKjg8{W;H!S(dBO^Z_H;t_gYJR{%Kyzp;FJ!B?H+M@a`Qx2VBdOpO!{b4; zqsg}~AFf-GJ+H{~%Cg0o!)nZ3akTq;KX&c=TE!-5%Mbl>%p-%#29G1ko8l#r+k60+A;T|3`@$F5%ISKPk3eCG7;f3FcfoKSw6s)Y`Ec%}>pXr(!piiB7JqE+mEYj2p|cicF5jN~>gVom z(Flt}qkhhe+7?DU5X>hN043eZ>&X*)d?YV*#X8p8BK81ujgM&~ck(xV4e;=Qm&lT? zd~zmOAy!(se~A2p8nEb3p!*qM_W-u-9+=>RX^7tjrZ)Dh(Bq*Jd^Db9e|pwb z&s_)q4L;^`Y}MGPHe>c4Yjb@4(6pJq_89+`6k=Gi5l3&J_`l5Zu<1br!~f1N%z}Hi zgfm8p649%uo4djJxkxJu_1qV9bmK$?F{MY#L|JT(4eyvsn}+~C6cLwy0XtCP8O!aV zb9gUK?U`M!ZWmiszkSutrKwWW>fTf>j;%8B>_0K8PcKjSNbYZ-A)hEk|9QqeX)+IB zoXE3DZQLQbRM8b)w#WUT^k?<(-qi|vdP{i#Cd05w)21NYX2HRG;o3ol(33VBBRru-i|*L zzXn5M1{UNR1Q&#OA*CdpM^~*89<^p~{m45^e>K6TLBYh8ljDh8aIaH#LBK9Vt5`5s zptqt~k|=|da6m3q5An3HrS7uM#G=o^2DXgIG>!zlD&X7OF444*K9|C59=jZgbt3-_ zT(95Y*t0NtgH$Q&*!4N8!hZv3d-4a z_#wpZEhU*ey#5w3aerf2v9wY*Xn)Z{ZEwT63scKrH4$~iLQvonrtd)V)kjiTtg>|# z7$&7Ek4JNHF6n;t?0bJF9*f?xJVv$TYQfTqp+6Q&OBfy&`MOV(x`TA~iHVfC<%Xv& zssi$>vb_arsqm@+UX@4Q|H(8SHmXc{vBfVhMqWZuRd7Yl8Y+*PSdk7lxS7tKY`B)Z zWZykMd9T|C*A086km&B41Dog#7mW#J7F?3_McfF!g>FFR^!?P{6$#V5X(1!-Qu*Ix zhOl+=Zbmfy1bwzh-UUxbHXRfwD!E3Ypmw%gNW}90k;mgOSCdW^1{tC+#Z-t~ay-@{ z?9zSdrRXgw3(3$$+isn}i~W-OxJ}ri8nTW!?#YFG-F*t*SN})0v*?$Dxl0YPFj_{R z4Z`|wC@rMVr7Mw#?Ic-CD&(jt`sd$pvtQ8QR`{ghhLm_WSJdPSF>Q=GB?=f++FgI5 z1RhkjU`R8A*eq&LJkvOZe}Y^+y<{FL@ZDrf&wvJ-Lyfd_m!ymfTeQ+@*-BO@E!+e9 zDe{jEf2W#$Jh04g=&?z88IgHsLydKmf->30e!;j2Q{uW!Jo}BLiC$4SHMr#h!&|Qm zVvtz%P?Sl%f`h_*5n(-ECiSANVD!s96ek6HSK#$3Edir5;^h8i96b0;rt|Plz-?)3 ztJPHvyHlY3Y)O8h)&>srfA6HE|F!UV+)#zJc}wixC&=Q#`+ngX>OMLug%bL)3E!W8 zhF+1yVmu;0`#C*sYr%A>xD@bNaIaYUMjCc&VlT%E(Ti?NLkwAl!9Ajv&}P$T*;!H8 ze4mf)iIzwKlF&qoCk{^Z-F`Pgo=P0+(iulDM-;;PH~nS)iq)_}wG!EP4Zub$F)L(W zdLQxmA=tjq9)azO#-GFlN##i&(^>quv?u9o?J~rG~GIE@uQt-&*C-$I_pj&O=_E?tbt)HJP zAI=WpsDJg0&bk^~B|7VR%;W|4TMV=d(CgoEUU6ArdO@PXF^5W2U}Rj770O3U^C1Ew z_%3FBf^G~TeJSNRKbrjxz&M0nHeAs)*atf(AqIV}O@qSdd*AB}QTt7MEcxGp1C##1 z2t+-dVYH?Zh-ioIlbzl_8!TXs(8ERfPksK`AWzT5-kBfjzzq1pw=ky$zvV5vT zR?fZJ6*7J?Ol^Jo^K6AKi{z1FQ053*$N*BGP4qktPB57fMVJGFcLQVqogR@UTuO3* zXeRB5DE!A))A`c{NrSz*U(ZR9+C_i5VaME@=!-Fz3MQT}@8mzeSX!TnhkES8Kw#p- zaD_>ie-KyrRf30}c6|@JZllZ>{s@g<_@Q7YBNqox`Ynodl2-v_7oFCmfEvMVXSV@DZ@9~8qr%WObuyyq9DBD@LCCw zwaI%TRxy9bP@$4E8P(3uVxr*}@ir7=XoX!y%VEUryp@@Jy3kgK-%77TnA*k%Y zl^wuJUGC;x5O!5N#11wVV9+w2LjVm`-WB-^@aQLBJNu;IWl1s;;)T96PzmMWMIm9K zZcRZiFdn9ph~)ai zrE~@QupGk(wfj-Pn=U59T>fiy5c6UFbV_P-GG( zlKuk$jamFN^on~WG?NJSaL+`@Hk|r@Gm%K{n+0!wkJ@E6lhDSJ?kGcIGLJZp(CFG- zxLi|VL*=oOh)9yA3r0j9r@)z^CV&E&nBn31U^4MDlS(Al$55^yvqSh7W-|%V68SH| z!)PXHQ{n3b8dI6sY62D9Nb+L^y3-LC34&UhO+@e zUG!1EQQH^$BgWc6HoT$f%pdvg{X^Hj%B>7;yROV7<>R+p0@zAD`AX8&%MB-!cXHv4 zS+w)VmRlzmf~^o2$`OGb8opQmh%t@D5@O>Ap{)nls-vr12x(4}dGdrJ;LGZvz9pGY zp(_D7Wlo)t0nsbRGR_z#0|HY5 za&X8_Bj zHwlF(RRi;>46OiL_>KH+! z-F1|Vs$>$103tTdNyy@&V$G^aEw13Y^29=4g3g(QM=XF_k;@{`hy@oB_Yc`t2#Mlf zMy}BEky&@-B^Y7g7kRS^LI7Q!eodm55*(}Y72gDC4*79XD70~gjdA&r7-K_JS?9X_ zHkw3a4N3V~1|+T=I0P;Q>4rqZ$^hu!aL`unyrO!^PQzm-Fi6Ur$^=NzG@>uTv?8bl z_GAPjB7zLx)YP&X(WqboKZ}_~isV@Yk60dW#P-gfUyuNJ6vEts;Q(j*M6q=Ec##i+ zWmA$csl(`Hi{$`@3E#8sHHDj&_E(uyMB;sBx9DgPkA~0-J_zkq@!to#SDoP1N zHL}V7e>%NLkvNGs51)=8(Z)FmDgv170Zir-6*+w^PUVa-5$2Hx1T~T{x(x^?GLutO zk|*#}er4|w(*|8Lg<%VU!|mS_vNum5gCM?K))_K*DZSzx;%6z(h~i8FilTQJ4~haI z4*|d~M4Iw0Lgiz{xda4dIn@Z6;b9gKf*XgfBf64YcojQ;Xp)yn#DvTlgi&G3z=9PV zM#W8^pETb{DE%V(O!jlkw4OqbjW_U?LxhP9YI}p7>Ji9K_1LdPs*ito;qSCa63zkM z4TZ=mRA~bHl*Cj5dh)m_N4O1)9in7MEvm3x27-*q2&5q+XGS0{b!kWXl)zkq1ZOG2 zk?@CckH^OVV3U^{!8g{L7{QL(7yx8aC;(z$77cewoG3`*GqJ8wA67KFpj^Q#fn{I{ z^Z#Dn=ptsN`$jnT;G67^AX zO&)zhVIlJo=IwaIWF!O^8+&gUz?i-OtAQHCR;k0KCnHG-%_~G?9NqV_&6MN~Eme=OIN& z2~I3vg_TI662OJn#p(K%!U%?JYV;C%SdVxt4e3fsY+^y)tFg9(Nu24Jyq!4nUeSwzNg>CR$OV$%u|T#4i|VTi

r&;s4RxCM7z-F#knir~XlLoM6Sl*x0yE0L8&Mzz{;r zeNjGo7-UZ#N}-R*3>hn-kC;ut`vSQq{Z{t%!Ub|4J%gS~o|6)tV^B*hMm|15!V?0G zyo{W|$22$i-4((SCgG&*ca z8WxNyoI&hL-|2C43i9g5FjFsZV5W(V~_t;*g+Q2vp(>Qz7EGNVz9xhMB(l z%;i5R@ks`-DTzcVg2G7YZ@^T;C4G;nOexQXQo@rAk|6jpPnZ{l4p%XtHaZv{;6b1f zsKpA=k21FqCYn%=B)zi4E&g9kjZ)%M3|1QD_($hQ$dMvqV?$`hRK&1bAe*_RI8RE6 zPctQvFoinzpf54@<&nOyvCM;RJu3%6KG0^Cr{!lNY06WWXi(oSf%GY|UI0FXb4*nR zJtsv_tts6}RGz|AW6i61lx!*@JepB>x&aFV{R#x+MIvbAI*A**`DUhYas*hySbhHY zGph6`nN5CE36(@<6~Rh##leyCf&g%l>7r&SPOeh2(+$A~d(z6g|BsSlg<1k=OpD7v zRvLw0@NFKElKf1iS$Rs+4e@SLAkCwLGah^OS3mw!zZA@b-pPRHSgP)vd=5Rq_EnU{1Cr;5q zeHnxiW-~KSl$+9u!IimGYoF;fEq9-M)@i$ps*Uk8oC$+Ze|hYjEm8~}*$90@g9x>3 z1Lrx&+j6%AyqtvdtV4_NJYfPCiK-16;y`mWK}H5OIzUE#M=8tUVn?@owm$i^laRSi zgoIpMadsXynTur0^#*}MxX#Sm5l>5=W?q3(lFwyj3CueQ=@39;=~tOKFyoRPYFyu332LZWr*bY2d!!uKOQ2{i=-8G z2=NDO?9mye^1cqbAtMl!-c&ESUp;YDX6rd|>T$~WVAtn-c@uEpU$2Kr`2s2fqa0Ht zG|buKAX<64E9E&~Zrxvt!~7pVK+_$PJ$or5W04LG0hti8&=O9Qfur6)t?)d?Ww|J%8UTM77J6oOoAC^}11{QZB*4Flss$>xUX-!c*oGI_LP z0T$$D5K&-owCS@&!H{dKuFnIr#2{>pCZ8DiAJe4`lwBYMc`BIA{A4+$pg;&2e3p{L z#JP=lgn7q**-ALzg#YUC&=dE_-jCYrK?!3JNZ99LLmU*?+JQ+S=*shyFvh-SdeDw4 zcePfhpBU{AY3Uj~V{wp*C0``TICX$n#;@u6oB7q5~J~sERwqBp_Mp-k`N2}TqThSxzlOHWKG^~jc&Iq#e^V({+{4n z7`!KZu8G=HaP0ZZ*bjP)WHJ~UGyRbyOb6j#59h2<70cqK_(fZuIo?OMJ#CDs!)` zrl_Idz-o^z2SV}P#6cna0~CVd8W$)4u6GQL9z1j&)6MZV((5t&T8NMk}dnC^#nC z69eUzQr9TNm!c(W@(2y!wIx@U!b_ip)HQ%j)-Vs+Hr7aXVQgmS$lwToabbY&6ef=~ zMFzgfY9<@WmI7onxFL9+_e?g(M$a0CjxMqEFzSkWcWkjZ!d$oqkXY>QOvM@)cI5zvtV0*%42fa=KF^Smd(DMZ$FWZv;0 zMN~+kfDN2%gTQh0R5}6DiuVJHd2k=Z2}Np#j`AQn0@-ky@JR@CM}S9*l*c&q^f}Ci zg8_=lKQ+_}K;ojPobTNl7hBo?v6vo5(^^1?Xb$`QwZW>HH&~dhiI@a$?^?nj-(0+1Ss0wj6>F*x5;zjBIdV zjP2~HsDm>a7)J(Or64Cr@kDCnAXG=~H;wrWWa6X7BGjJe)HwhSHs6MAvJ4K&JjH+Y zs}VRBdGg=|JxU^-jSlE2dHN&HJ{X!8iF9OuGNP<`K%Pd+*G0quGA`r*f(luSLnZb# zusx`aaHMrzO>2sf5{Ji>j}7E$d764Yvg&{Xf=z7yd}}U{5&hbbi@UlpyGMlR(NgSe zd|NA9*fLInBH_b?W5EL=oNQln zZ#OOk`=>x@12zyoE)T20#wpc|CLl=wM~l#Tjl zl{F8@Suyj@#thFUDh<{V^vBU?e2amS63)DX51cm12l`Yp?}XC>tnFPQ(K07~XrV#m zhnD1J_|hV1s{FRR40m({1l~clzmE1_uz@|?!?KNFyoya2+17j@3-PEv-{Fd4@&~>f z!um)D@5A5&1=5PjlZ&iIQ2M-Q;c)KUk%C8B3ndWhKn#C=9Cih zY|QYDx99~SOYX4~@=(B`Bq}v;4KG3c9d+>2 z^viJG&?KHWv;sTy-ERZyj6&Yf4YY#-`JAa-VvL+=$;P!gw&nc66S8V-8`*Me2uP1h z$3{(oU^bFKD(~}ZjUCup9MT(R1;7Qa{BxU|M^&N9X*3t1{UB@T7#r0E31|>{6*aOHP??Dz^gLzmf$1$c1x7gJ3FV))<_Q^D+Ye%8KYR+Gyghz- zCa#bXJ~4pLbDF{ju(2OTY`Dn0vkz})pLa(ROgCT1#x}&m=kft-1stJ`;0W;v$W|~8 z5H!zuE+1qaIuZ4Oy@qHju8{Fsb}^aA>iXj6IbR+`5{yE9=gQ4k)4ecag z%v)t;iwC37xKvA|?1xSEL%imVZH*iu(ae^#2%6_N*$)ONa6j=>!H$c!wrVP_Xm22P zcDnNLhIdu-0^m?=Gi97T91KQE9La}alzl8pseG!-!-o&!$#1ADdPx3p#a;bxMZ z3tcol2+PRwqUn%zbVumnY1tSctrc4K!=(Kw-YGSzAlca3mT|JdKS*6{qzZ0c8m+E# zzY#H>f#H+B{C<7vAGv>b%07Iv_>|;mV`pO%put_BSUUBun`g5wFCV-aoRN5|)0=-^ zoLH-MoBL6<8!j2XddQJ?svf-AVZ`2?kn7X4Yo!fvtNC8sSJk|BINS(3GRMa6Y`>GX z{TysIzq9v}YtG2X?!#-h+Z@=s=!ctj+E=9e>hUc%>~^^DXCicQmtpCpf(%VWR{QdiO zHEztixaN4DLz(ld-5%Y1$Nd_I{;v63|6=Lek6Op~$?^GT$AqFW+a#&q*0=gJKhtdK z$x68w*X+Ni4bAH6iurTKv}<>pHED>WZSH6AeTg4dZrud0@Iy-@ek znE7SPxJ$3M`e9^|U5yMkryCt+>`$C_+IK$ zyPT}FX7l;C8cvJZ_emYQ4?;3;xpv&>Vprkt7qjfkcHGpp17AI)zCkG{Jvql)9KPiBqjv2gKsyX)Lt za!`B2!=_1@FF&7uyvg8l1Fnq9z0%5cdlhZa$}jV#k1F4~Aab;>zT3^-owO0`ZA-!-d|<-Dci zZAZ7=**n%$KYiBk-)UuD5B>hYo$*V5_;gCkwHIRgCcpBzzUzhLnlq-4ao8OB+vr~- zM!dY@wTZWm*Lmybj_;QL^3rFzx0cOm0@s{W|EFy7`{qA6)6cD$lQ2(JZRS_;6+EIhxMzRVy8OEH>un~Ed?lmqYtzqd zty|S`s%^*@W8EBvx-_df>R8dxCKFrP>Af3Pwy(YQ=enJ}tG_ncQQhvw-Wfl7&0qI{ z=UXp#ogY(v>N~H^oVwOl`q1u<%eA`k7ah;#wj9-3)8pFBa|3To`?Sv3%3su$-v4^! z`xCpyby{S1KkujA9XG`^YkjYVTc7Tg|GM$g(&_dgJ10i&G%)75qQ`S7yvoI{ zahzZKVDAf(f6;1k)2`B(LuXZmZBoVzFKB;wC2scjM?aj}qI+PKxXZ8iR!6p*{MyWf zW$nNIVbPom6B1 zPMxx*aLc5?wM`p0sU6(t)A+zBJnZJiNy<-O+cheA{cDN4x25Kz;|bRp#Y5ju~0y z{Q>dcRq%A)y4dfc_a`r|@Thfi=C;uFC_g?+W8*E=0@by3I|FU%$x*}~w zqXR`Y!7qQ^VBb5sy)m|S;lCG4Iv3}kswNLCntl7Femh$%j*Y(aL6a+=t_+fI-n z^1gk6loD7q``FHXANAkq(Q5aY9*2H<`B?w?4SVdb-oHW8qJ(lkUmhvNc-H8@e$HR* z^4|3*#NJ-f>#gTzh-=eoOkOu z^slX1**;df95r}CnNiy}6{asZy6?|UL%d%KUOi-I?U#S~xWR#aHnZ$TIn;<>bnZ-I z)L-g%tHt{an?Cp6wz(t9WxWw{{@WF!y(ebR`nlgfbu;d5v#np|)$Z-|J0%BO*O#2@ z#|1AtJjC1e@SeRdZ7RF4Q`axIuAdqf-fD5%{QaxEUkY&vK2>gHk6v|I zQ&Fq*@P;i?KJ@$W;GAW(J2~5I8GNHlyEWCL&dhX}t6Q<*6`v0deE!De-+pbE)GR8* z|FcoS2}eHsCdA?UmT%?yyzdqsbMfT_&olG(RJ<6cpB_>_c1VjK_B7h@;U5<-B!9He z_cQ&1v3{Z`Q1P6ti#390}2&yhRd>@oIOQqVZX2Ov_HP&yH1{emR)va zaD#Dk-p}>FcBbv%ps={0(2?J?d_OEY-F=STSEDYZyV?8{_gq(QC(%DiWvG*2sCurF`tl;z3K(5)HY7}Zta=aHa=NZN3R|- z9t665(&^&?8*+a7z-ivBj$P&*7+ZhaCj*ivoLoIPzK8yEAFqw4%Xi(@vEz^ZN38zT zXWH?$ydAU7fTC2*fjdmm%CT=)crnTMBMs{ z?h$MJz0|{N?k3=^9uhToX=MA{YGD(*oLPMM{U4{QI%kcxt)rP7>l61uYTn70%Kuw! z?A}+(Y)oo)bWTj`xk;(v4D27&@!WBv2JO8+5KW7>d)U0PJm`?q-9HDM zES9p-l2XAJbBk*KA#L3`y5-y^>i#dQCw%3$Z+pA%2lP2SxJJ2e{OkXqUgudWvcZmn zsW!Ls0{))2bCplk26q!B`;78a%0?WhRo%t?!dnHOUGR$jx=#3{umv%*=N-&QT(&&W ze|yXrb#sR<#ge*$&b9r@ZLe;zw{0Bwb6}g`F;(lQ&aI!VX=D3~^ovya;?X{f-tDmH zez=n^aE|JzRHGTZ;nKdj^*byoYTIz%)%}eJ*)w0>mA5Ljz4qzRAL?h1w5imw;Ol{Bq^r~J z)DAvoS3kt?>*U`X9fv<}bUe0k_^e8k&n1i;xuoZ;Z<|NojZC3Nx=N*T0NdLJ+33hf z*J!8I2=KDrq9>aFd%hIDFO@Oq63zr)zVIquY44-RAV_aF6qL zKeq~6Si}3Z_|!yIuPW$C&vX=?AKNLTemf7>4-8@YRp}glo0Hz8~jJwv71Tjr%&?z<-}x%GF`^S zbl;_piD^`J@Tc$jE*fz+YR!ZiCkHI^J@fXt%&tB`lXAPA_m0y|YvsF7{b{-CX;;Hq z>#9}z>W6n!cC&1y)1|;*C0gz5ITq_p&~=bLjeBoeDm?PSw$tD_^Dg$9F=0sId0lzoDnza9Y*Yld{{=~1hf{${-n>E3S#`c|G5-fg|F&4(3&SG504YuDAy;mZmY)n9&j zblu~oejU&*h$qoZG>m9{tosP zj<~OAb)%^7j94Aqr_$ib{RgDPox8F6o6Q5&f6TdL+r>`Z>&HeHrycE3yKeQ`x{B{P zIP{xS^rhp`suB6E`uQ&GsJ-Xl;JoCW8}@r|U-z8Txesg7H->u;jYi(-Wc5qelnl>qJ zYh~A8hmV~MwVPC7q34|6!$+1)-*m6<&(XCGFMg|bea#NTzbei0@P4LoiJICrBrUcnl((WC<^#6+c&Zwrg zaNE$4jz|qHB1M{n-a&$*NbeYWq(kT^y$eXQfb=FRB>@Z_=`D0bN<@zJ92abq}UZkTN}Ts)7<(4eXqSzpS3AHPfcXnt!&pN0J$ z5z*baT)0AU#B;KUvD-Fzlq4UcLPFE@*>=w_k>Q}ucNr|~RpD>N9{97&SMl!2c#q?5 zyYZ&%mris>khTO8i}4YXl9KWvh={n|bo?LY?EdqlX=5>W=*v@2CHyxVMwRIT8!_@B zI~yBs5RI6z60$FPc~x^cn6Om&MQ~Lq=wQ1wHKgn`UwI&p6B%mE!FivJSR-=d&+*uH zuvof@ZdKqt`uu%x0ln@1^N9F}h<-7#TQbI!?NrJ?OxKx8j*T6aL&A;b_4$uWJ@+Xx zshYUBI=3xF+8P>}o{HZAy(89n&(}b53EFN8=Sbfrs=7+L-Bn^~x5;eub;o!zu%c+v zFAr6AWNGkq5b)@d8WuMo=(zUfj6?GJ%0K?H`aj5B?#`?4S`7Tq8;^0NsYU#G1k51m zL*&#M7(@Innj_&xoq*?8@V<6Wqy#I~r4JeY*8m-ik)WfFSx9eWI;6eN0l40${>Rwm zg?NS7Og3x{GROxb%(B!Sp8nPTXCeGfhkxrji0Y1bCKV@)`-}Wl#b^QUK507P0GAS- zDa-HILt4?x8I%EGgui5LE<8mtVD6#sY;7U0S2C$WUY|BehdY;j4l?tuEm~Y;fJF3* zvzDDwR@;{5f8x4FjLT5Zr1}ga1BmOf9Bi5SQXWDPF~mZdR-xgpye7`V02zex?}w61 zONIzn0mI9Lt)W+8dC$ax{A8SN@RQ%4d`-Z|Xw;$%jF49xAPgj<9rQ$9jj7(%xG*js1|zV2`|s(Ov=G5Ge3*4py{sUySRxCoT=mM3 zyS-26aYiQ9V>iv8+KQrhl-euVH>F~IKr>hv^v$+VRLd+^FETgiP&J&`zz34r=K#RN zp%z7OiTgbhwTMFIRspjByVij1MTYY4pRW+~@sZEkxu|J?d$x#Yu+lt!-QK75@|K!- z*|TRr!q)cPHY~8ocozAH&Mcal3b4$ev+h27304|?ZZaXaTU$S*fI>cK8{2jQ`ZyRV zDCqJ~mj{p^Fr=5X{ks!a4boa!E7>pUB3PnHGi!3Mu55rm0)RwBiFz=cvBUTp=@`6Z zi582WhZ&KR(aZ4x!hqd05jb@TdcMTA6uw0JM`w=Xy+qVfuRx!@xC$TTlPfEwiW09W z%Ui=sY$4qDY3PADZBBPxtL@x9Iskweo9@ObVb%p8#z+|^ z6_PJ-=k>Ub)}pEc{$Zdi1GJ2xHrm}=nA1_3jc2Bag43nJEjM>E&pH`*}Ia1iWv;i~l8Q&|I zoxoo9|MS;YqM+rOp#7+sgnic;RPpk2T_2tN*Op47Uw!|A(tS6^vrB-d;tP26qP*{k z6Yx?eS5`;XQ3qI*s4lN4Ey???$N`J(|9%Qv+*bh>C}MO3z&0WgDGBlQ3gvo<0xVFt zA<+ADz%Jrzj2N&y=}^`CzH76%=eaQ2{_he6sByiI`170nU(gKs;D6m7=q&_z)j*$q z^`ASzLlWtKL7qJKF4m@vJiL!}e|Ge%*u_!|mAnw5IO+HkCq`r3Uy=t`rvH%rQE`>3 zS2B25b(QXF0s8*HW5_4STMul)05WbWNV>DUbm&=W&GS>FlZkSc6y z9cwygNaOX7yedm{|Gai=;NsXCbd)tOvPYEtW=+M6x)VFZOD4>35?23cHB+hXD_68B-2U;J1+(bA zL9z1s0R5!7EOps=1^0pxRJK9MyH^~yn2mdzJocMzS6pH5tbM}I5`=G8b@I$}d_LxQ zXP_6oYf8wZdAd@;mBuY;ea1n1kNQkll9YdF!7BqZaFzL@#qmdJ)-8r8HL0!zNr1ORkp8>I*tj(t?oeoR+JO zp_!_=e@!+&r zsbR?mf0hG&Z^_&j=Pdgj?mh4_m?)@sJY_0+b7YhPU0z^dshF2{v?ci}E30xVkyU;F z%W00^IUo5SD;rP6xo_sh-ep8Oq6_n4vp3?xBIfI-Iv7EMXqV|x(O6msR%A) z(yv>WJ+K$Fo__DYfzmT{)_JHHeAw&RLOwUlOsz)z+!E3^OgOml)dYk`+AcPXcZ7D` zuRQP=L>I6<2bq@|(W~cl?K&TS#W&pE-@1D@Y)nK}Rq_?%frqSuHNiQFWkZYDmXPVU z9(#1sLzS%fWv*B_S9R!k5W4y=$n@4eEyu{);qzn7(F4D%m6K*0$AzoTMX4QjxR0{!t&H|Pnoc~{@_!0o^h1r52XV?7rn>Yu z=v?^7+nJ%s@0+uBzJQNBZ|fQ zN3km+T{koSph551p{Fq6o0bxH@aVg8m&snz%fWul;)JM? zekOSjXyFOu?!)cfwC{vA8`fxj=2M-$C|G*)@_g$G>Pt;_`q7dOng!mEbt@OmGZ){D zwa(gkb$@EIP1RnuOTd zAtA5EL)pFqviObkbhBiM%uI{C2Z}hlnwniwlEyX;E@*0jqBpHbaLetRn$+}o1@TuU zIoTJ_1Ci&X0=f}pp`1HrVUKve7iYu1Ior~*q$N44WqH56Qz&ik)8F@JjL~YM&{&G= ztpPc=6460#Uhmcu7;-{Wyv6l_T*6SXnM)d>zD3u5&w(^kHYK^*fh(WV!v3s~pFu^e zrKP6W@`Mmh&s*&sLe$9#W_0D=7UTZTA>Y2Jo(Fq3mXaF{v87A_#q@lHvqdBQz}Z04*EXC%?o^17u24eUQ&>C1_RE*uck5aO0%-NP zAaMAPjKMUSqmZ&5jb<*3<{fD!x|(R^xR_;WvD7mH@@6SR|E!6QtAY-VqRIX6%A zR%-ZhpcP8(m~LTPjRg3lc(rxh+s4s8Bwth_U(=kWwV<=Iyniv@W60|6$zQMiJ)|YEb)1x z1yw{0>4^>xOv<)ce!giUJ`PoqZyx)uxfBsq^=BIx3^1=iJ==xriVy9oy*5~#2_hPI zRiKz@o5&CHZ-z~k&ryx!g5@9_OQw$z)IX2FnUa<`Ci!VpSYP)u+5q=~v# zymGJy9@>(KursCJ|D;>9qxiLP`3|krM;-x?r>LlMYE4XW_|v=n#tz(R!+0z-5$RuN zOU2TZVK4AOUdiH%c+IV=>cS9b%0BlKS^F7n)%=;g=~Er-G~a8|A~%5l-ckN`oA zc}1(6EgGW>5AV49LtBz2iN^<@=US*BrSs{|#K&y|C=(LC(Dm{p+|JYX zjaBi#qwYSS|Gqi@dGdtuPjgH+z%R-^wN5-!iC2r<2R>utVN4Plu_&Vl^LAQ4^60QM zl?NybM54Bj$1}0&EstL9(F>Lv<5s1ctVwDbO221j%I!!7*4yy6gDD?bS-^TAUbYT? zRk2@|*u8KvP!WIVE(>;=lc2xyaPyxoo0#Qm-n?#(>4}y$?yI7~;*Mn$z`5lG^n$WH zEKBB#O@k;$vTxP4l#kT#%uIB#;ZN13BTNaUTr$b3V-k@Fur+lPwNh`uWOY2*uiZx$ zur5VACL(SUW6#@C92(XeuHdPu-VVfqDQOysq@R54D7&>o=RPxCOth#XArsy7GQq2_ z4;aaQWUWFQflz~L8{~RsKghn~1z?$cyXl`t`5cH4+JYzQ3-2#*a zXJBOvzv(2Y)SDD;S`Ei^E2@omh(c7UaQdeSvHjE7RT=2i)OIiv@IJqjLM{tjf5Ok1 zarM0Jbxq8&h$tk$Cy>x+gzODsK?Z}FI;FvFl6CaW7wv6Ke*Do%9@8zVXa_d87Kj=7 zDYw5#<0Q-^#jl<&=A$Ttk{s5Hyoi#P3zi&x+KX_ljrReY0p0f6G(9Yep5%yX{=WI` zH@aIC0vJbgT3B*cM#~>I`lJ!8bQ2IO?piK>R2zF?x_Ri+fcHy109nY@E@njG-z6qT zM|U%@t9OtHSB^vvgr_uN+@`t}%(!_RWoC!Jh8wc@qgCuwG7n6#Qe9eSQAGbkFR6Q zoRBZOPCN`ez6NPe>y*LZsdUU4>Cp4?o`BzckE!y|_~P~c8UVn1!Vv10%yUk+4a!YT zq(9?M5I#3$pu1cIiK@n+9y8-8$f);4H`3T>GO$K4nGla>PG_P^5PZoRd)VHaS~2s7 z&CoE{bx>ZfiwFT`K!EdaBn>^9Ii(p$F{ZUVy{N1dvt(y=;LGaoFi&G|I!5$w1l(nS}iXP1V zxbjkLnFHSNR3@GIeKK8{0O?Vx=(ED8cUDMtyh>IDYVFI-{QjV1@cigIwhWMrdSg;W zZ#yFJp$yQ!?L#S}f`=uI6vHb`IqGGoS1lG&QS+1uaTYMwmj$Nakr^+b?!tT|?p13-wz9d>_P$pq8R#v&Eq14THYN$*&Ds2OXl>U_@<0&s(Egbx=<(zgHD zfhVGm$6fnY&+67BuDan>4qXrqpz0T$VN=zN)jk+AU(Ue_Lv`6F<24&bZMevRgf_23 zt(CL_Foqw91!YQb#`X+JTN&C;yVBJDnfLhH6#JFc>C>)`%VC8ft-((#`J&P|jf4i5yTHo3bcUh;Xx0?y9ev*0YH*ECUW47FdI z`atPUjIBlkMsBq_*j~^b^BE;wE@o;iB~2R+j)w9Pf(cTyxt5m3_&K?RmJy@w>Of1L2C<&CbX+i}tQ?ZIH?+?CUtn zmE&aOXi}@nH}KHk9ME{p#hBC^Rq3tiJ-0~a{Ej~`C{w5X#L+zg!BOB0<9bIkvDp*H zctCb&Wo9#nlJRue&4^)<3QI^wdwKMGmsH6&w9aN++rm?<40L*KyVI&eKiE)Nf3Ok+ zj?B=VY=xv+kNfro9|vm{G)6V47{!ugYWv)C%JK%@%a;Ih{P%YPwU5v5ioe=XJFAY! zy2S%Fo2t_zqC4~q0lt^sZLp|T+l$VVEB|>+w03m$ z&~`>e@$`Q|?Mh}YnN|o5ffYR??I$iIMnon^Sq_iEX@~vg!H9<4CxNT-q$tXerLvt+ z9L1>MSB8577Yl?DFkgh-6y_gzHp?$WT@?i=cqpV7#rVuc*@0;Ky&>*H!<_zpZ%=9I zZ`Z+l~boBw7o9lrUWv9LuQt^dtzkHu&x0sQuj!xG>cY!QLi4f3FQn?dGW+Ghm zNG2=KURO3*KarwdL=hzz$Xh`+@FN>Rz26|@W~C(;;i3sa|Z^8aCP~Gu-l#+9q|pUXC+}HKr<2ao+`GE zMpHBr%X_sDq!KE1=)nM7N4p{6 zObR9nCeof2DS|EVyHIE{xOp*^Fx)95LvVCNibbPxgaAaOCW3OAI(>ow12yc)nggRI z%gJx)QJY8ij)0q6hc#>G)?r(#H7l5;L^r!%h}r~~sa{v69!z4zNu^7$pKA#xFA)lL z?D9Z+4tx!H8t0yR>ZRAHm9(_YN;0CGSxE;92mFb6qENH#xa$z zLz2iDy~!n)l=J1@z$lrdMNk}Qf3!QC)e`LnXQ?yM?%4KoDus@EWbBPr>`k6Cfea1$ zG6*c6NJBAhc0hAL0Fy~cNeM2~f;pC7YfPa@_fJBVLOU6q9GMb%v^`{rL6XuY0E`Q* zluSLz*D<*}1f4`p<`t>p*<5Ui)Im-mQLN>^qq(hobl`9%6D$skUBM&+0|hANssc+u zDYK6=a7c2g*c45iO!?k#a&?))VijCD(C$FU0Exhs`KXS~q3tLq`InLru&v}$NnXzP zJ8A;}%>V@Lrm;P{KxnnoyAAnB^stl}rv#-uR7O7kY5Sky04?eIuXRv2I2;ZJXER}Y zk`i1w8b}Y1<*O&=!8B}2-iK#3+{S&}`iW=33wniVYB1agbPom;R+|LiYKbmSaCJopAvcb~D$1#%9xS#E zkVi^!eWs|9NO(y9xju&wL>0MGdyOl=Z+EjgX_18MSPh2^xY;kuTJz#M z2IcZc(N0O~(Q*BzM)CzE+?c++;Et zXX?soW)_&F91_^zEQ|7!fvZ+FO@?=~aq=)>Cu@O1@2_VZm_?Us-m}DyGFslq=&_k` z3iR`|(JaXlGa;h%ypkp}NEKB6z62-)fk1$Pj0KRS&ICX{p(-x*sbb~@hXv+mf0OF4 zU9I7Pn2W;ckR=+SX7ISc$0^ z3!NU$F5rLy0LumdxLl^D>Y&#Kn>>^_?A$UMKHXx)&hyp&?qr)BTw}~+jGd6yggtcZ zJ^BWFp670Fw|A%q006Ys4St=yh5Z3%F>3;P{57eOxoH;laZ%~^-Uv^@$1pXoxZila zBIsr_KP1XowuAa)n%#lqBM}VP_ob~MU^RfqX%C|8u-HiqqOM*VdTl;f={l2MWMraY zFP$&iP~GrR5|hwF-o`kWxXk!T<=0xNU@z)Z${^5aIGf?Rq5LL;4%s;k6EHUbNfb-~ z5^xa!E`xBbrjrp_@_kaa*{1V3igD}>+g-*F>XHc(3}xJ+4{W9lb2v*>Yt2aWs#4FQ zAD*Rji7f=rXascGVXrd;vnxmWAb>f*l4O8K3WVWh=oeezvt0QVuneg7UHYP%1Bp+d zoBqO)9o2;(2Q-ncdHN6K+=mA~oi^4Mc!d%AYiTfHSFthxIwk|yUb}FVYDRoQW@XsD zD##GpP}4hkY3t@#^9Msk`AouP6P{RE2I(&YWIvfk3MOWDc%4-byz!pX7)&rD2I&TP z6qsrCtS5QkvY+DxyYg664qVeaI~^w%Rccek_-b{GNb?}|v$d1sRtXu#6r#FCF7l~EFT|GaZB`slXAIfY?KKkdf$&I?C*_9 zbhkwNSJeUJ0W8LBuGdlU?RZ4*Z&(I;rWNDE@kk9bv&+4rc(ou%uimWN(YFM7A5JC%X$GhxR0||e zAax?xK@?@9y!MT(_m0l{Vg@>s_6 z*72VT3kP>fEmm~NN?Pw0o($b5WyCCp^4=;L?#gg4PZ~~3#`V-9;T*-U4>XCpnG6mB zka20oUZ&P<6XdDR6K3aE=jrq}6K8}CJ61#aWW{e5aiG8^JxR&aSgbU(wKUen#>YWb zIGJehl)h*aWt7<191vYV&?0+rcyJW{i0`%(3wAOo0njpnxdTD0D`~xHY|vV9Pv(?c zY@lGjtEB$RnUn};Zg+P_)TX69z=oCTX?|6-a(mj=LC`U( zBGIxl0dKmXDb*=_H#A`I$$BHMgG5x2mY*ZRuGgj4Wniif?eBF(@wTMp;F4Fp(lce} zRO%7p^Jm#$OBtP$HshK{4;b#G@{paeuh0d(y%_NGn=3BtMR1_5Giagd8{+cVXuTtQ zUq!-76kW56@fEE>;n&eM@DH%U+~tF&I@41TV$j6Ip=Smwe8aRJ@0iee!RMd!ZO=T7 zmZ$mHPFS2^`IrA{oR8yIOy;-utU3J9ZQV)TT*&1s6$vtMppc+%Q87L)O>h(V|3uN6 zTxxT@eT#qoZM)v|R6kXNkL=B#;&Z18kJV%^#regvt|9RP8a~X;vWoJSozSA5uqA>r zSb`v-(r@C*6oRPs9fc#N->1f(duT5-#*56OdFB?hM}9{e8$WMl4w^587~P@0xU*y7 zpk5itFBFe;jFDk^F}oJ}VRrrl$|2q`?BJ--lrTt*?OO-c2^H31CW^dlvUfdb?(zxS z#|rNOd+=XSR#e2$(6%Bb=7Kovt5kM{=Ur&(s_WtGPUvTC_=@3M{k!vmD*d?3MG3Kk zth8k@^NJVh%W}1ubjy69d0uC&CvE!3ovE^{k4tWiyx`20`%>Y4SE7l1KFLmsOKkyE zoEmS))DP^$E%q|SmTzPPrp94R^QW3d0KD5=2Jb#GTGD|DP4I7+H?w&2a~gdIZH5uR zBo*=I(YzmcN|&KZ%&ESH*-XncZdUhK82i}cK359!WFbAK&*v@;DU!^wft^U<6&(V> znfzLNl}*pgPDg34kmBF`B(ly|%Zo~mH?{=kH1nUBKiv1st4dBWze@e|rM^IpMzf(xg<$L52uJBE_LXF5!O|0kS_X=xtz@SoVg5eb}E zUiGV^{7oGNTv&?=F2@uNTp4+BRwo|iIHFNOf;(5>xs$E%la{jurJc|Q+MxLgqPdez zk=ehXwCB11bu!@JlmA<(|E~JKl=>gl{_iFJv-|&1<^RPAuK#K@;yUUOAnNNAWB?5R zp16kL|6Jm_%8lae`I4#*l@<6HQAsVqUr_4kQ)pnK>D|)5AbyGhyWbg<+01(rHck^S zfs63|FFeVyIz?(_uLJ&qmIE5JZg?X7*ek?aX~Oo|Y*7NJ?52{lJvvsErN#j=zR6UW zh5_4{2Q*SH42v1?%1n%mWb5LPu|TL3+1SzGv5-s`RQ&}SZ3sc98D=> znw#Fhk3VLj56s`SDc(MS&5=oMXUYXEfhb65%8c#p!`?g_-j5%Z!&vn9g%6v*<5ILC zP%Rck-?|cb_HKn_W{qr^(@-fWW$f)Ro*zMg4=?~IT#l?y^ zk09HM*Gj+LD0wzO;za4DWjCWg=*t}or44+70|&=g%1?nts&dqr*FQ4kM`?ciH>h`> z(HzQbfyU=ZJ`fa*8RR~57C`cX<8?MVb8fU(RXoE>#EnSYof~*wmAhRWBs+wcNF3pj ndzULWR~@?}t9)*+?H2>c(Yz00 -image/svg+xml diff --git a/etc/calamares/branding/parchlinux/calamares_product_icon.svg b/etc/calamares/branding/parchlinux/calamares_product_icon.svg deleted file mode 100644 index 6aeed52..0000000 --- a/etc/calamares/branding/parchlinux/calamares_product_icon.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/etc/calamares/branding/parchlinux/calamares_product_logo.svg b/etc/calamares/branding/parchlinux/calamares_product_logo.svg deleted file mode 100644 index 6aeed52..0000000 --- a/etc/calamares/branding/parchlinux/calamares_product_logo.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/etc/calamares/branding/parchlinux/calamares_welcome_logo.svg b/etc/calamares/branding/parchlinux/calamares_welcome_logo.svg deleted file mode 100644 index 6aeed52..0000000 --- a/etc/calamares/branding/parchlinux/calamares_welcome_logo.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/etc/calamares/branding/parchlinux/finishedq.qml b/etc/calamares/branding/parchlinux/finishedq.qml deleted file mode 100644 index 56b2d37..0000000 --- a/etc/calamares/branding/parchlinux/finishedq.qml +++ /dev/null @@ -1,68 +0,0 @@ -import io.calamares.core 1.0 -import io.calamares.ui 1.0 - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Layouts 1.3 - -import org.kde.kirigami 2.7 as Kirigami -import "." - -ResponsiveBase -{ - id: control - - title: qsTr("Finished") - subtitle: qsTr("Installation process has finished") - message: qsTr("

A full log of the install is available as installation.log in the home directory of the Live user.
- This log is copied to /var/log/installation.log of the target system.

") - icon.source: "cala-qml-finished" - - - stackView.initialItem: Item - { - - Column - { - width: parent.width * 0.7 - anchors.centerIn: parent - spacing: Kirigami.Units.largeSpacing * 3 - Label - { - width: parent.width - horizontalAlignment: Text.AlignHCenter - wrapMode: Text.Wrap - text: qsTr("%1 has been installed on your computer.
- You may now restart into your new system, or continue using the Live environment.").arg(Branding.string(Branding.ProductName)) - } - - - Row - { - anchors.horizontalCenter: parent.horizontalCenter - spacing: 6 - - Button { - text: qsTr("Close Installer") - icon.name: "application-exit" - onClicked: { ViewManager.quit(); } - } - - Button { - text: qsTr("Restart System") - icon.name: "document-revert" - onClicked: { config.doRestart(true); } - } - } - } - } - - function onActivate() - { - } - - function onLeave() - { - } - -} diff --git a/etc/calamares/branding/parchlinux/i18n.qml b/etc/calamares/branding/parchlinux/i18n.qml deleted file mode 100644 index 63cad8b..0000000 --- a/etc/calamares/branding/parchlinux/i18n.qml +++ /dev/null @@ -1,173 +0,0 @@ -/* === This file is part of Calamares - === - * - * SPDX-FileCopyrightText: 2020 Anke Boersma - * SPDX-License-Identifier: GPL-3.0-or-later - * - * Calamares is Free Software: see the License-Identifier above. - * - */ - -import io.calamares.ui 1.0 - -import QtQuick 2.7 -import QtQuick.Controls 2.2 -import QtQuick.Layouts 1.3 - -import org.kde.kirigami 2.7 as Kirigami - -Item { - width: parent.width - height: parent.height - focus: true - MouseArea { - anchors.fill: parent - } - - Rectangle { - id: textArea - x: 28 - y: 14 - anchors.fill: parent - Kirigami.Theme.backgroundColor: Kirigami.Theme.backgroundColor - - Column { - id: languages - x: 130 - y: 40 - - Rectangle { - width: 250 - height: 140 - color: "#d3d3d3" - Text { - anchors.top: parent.top - width: 240 - wrapMode: Text.WordWrap - text: qsTr("

Languages


- The system locale setting affects the language and character set for some command line user interface elements. The current setting is %1.").arg(config.currentLanguageCode) - font.pointSize: 10 - } - } - - Rectangle { - width: 250 - height: 300 - - ScrollView { - id: scroll1 - anchors.fill: parent - contentHeight: 800 - clip: true - - ListView { - id: list1 - focus: true - - model: config.supportedLocales - - currentIndex: -1 - highlight: Rectangle { - color: Kirigami.Theme.highlightColor - } - delegate: Text { - text: modelData - - MouseArea { - hoverEnabled: true - anchors.fill: parent - cursorShape: Qt.PointingHandCursor - onEntered: { - color: "#0000ff" - } - onClicked: { - list1.currentIndex = index - } - } - } - onCurrentItemChanged: { config.currentLanguageCode = model[currentIndex] } /* This works because model is a stringlist */ - } - } - } - } - - Column { - id: lc_numeric - x: 430 - y: 40 - - Rectangle { - width: 250 - height: 140 - color: "#d3d3d3" - Text { - anchors.top: parent.top - width: 240 - wrapMode: Text.WordWrap - text: qsTr("

Locales


- The system locale setting affects the numbers and dates format. The current setting is %1.").arg(config.currentLCCode) - font.pointSize: 10 - } - } - - Rectangle { - width: 250 - height: 300 - - ScrollView { - id: scroll2 - anchors.fill: parent - contentHeight: 800 - clip: true - - ListView { - id: list2 - width: 180; height: 200 - focus: true - - model: config.supportedLocales - - currentIndex: -1 - highlight: Rectangle { - color: Kirigami.Theme.highlightColor - } - delegate: Text { - text: modelData - - MouseArea { - hoverEnabled: true - anchors.fill: parent - cursorShape: Qt.PointingHandCursor - onClicked: { - list2.currentIndex = index - } - } - } - onCurrentItemChanged: { config.currentLCCode = model[currentIndex]; } /* This works because model is a stringlist */ - } - } - } - - } - - ToolButton { - id: toolButton - x: 19 - y: 29 - width: 105 - height: 48 - text: qsTr("Back") - hoverEnabled: true - onClicked: load.source = "" - - Image { - id: image1 - x: 0 - y: 13 - width: 22 - height: 22 - source: "img/chevron-left-solid.svg" - fillMode: Image.PreserveAspectFit - } - } - } -} diff --git a/etc/calamares/branding/parchiso/idioma.png b/etc/calamares/branding/parchlinux/idioma.png similarity index 100% rename from etc/calamares/branding/parchiso/idioma.png rename to etc/calamares/branding/parchlinux/idioma.png diff --git a/etc/calamares/branding/parchlinux/keyboardq.qml b/etc/calamares/branding/parchlinux/keyboardq.qml deleted file mode 100644 index fb40b5d..0000000 --- a/etc/calamares/branding/parchlinux/keyboardq.qml +++ /dev/null @@ -1,121 +0,0 @@ -import io.calamares.ui 1.0 - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Layouts 1.3 -import org.kde.kirigami 2.7 as Kirigami - -ResponsiveBase -{ - id: control - - title: stackView.currentItem.title - subtitle: stackView.currentItem.subtitle - icon.source: stackView.currentItem.icon - - stackView.initialItem: ListViewTemplate - { - id: _keyboardModelListView - property string title: qsTr("Keyboard Model") - property string subtitle: qsTr("Pick your preferred keyboard model or use the default one based on the detected hardware") - property string icon : "cala-qml-keyboard-model" - - currentIndex: model.currentIndex - - model: config.keyboardModelsModel - - delegate: ListItemDelegate - { - id: _delegate - label1.text: model.label - onClicked: - { - _keyboardModelListView.model.currentIndex = index - control.stackView.push(_keyboardLayoutsComponent) - } - } - - Button - { - Layout.fillWidth: true - text: qsTr("Layouts") - icon.name: "go-previous" - onClicked: control.stackView.push(_keyboardLayoutsComponent) - } - } - - Component - { - id: _keyboardLayoutsComponent - - ListViewTemplate - { - id: _layoutsListView - property string title: qsTr("Keyboard Layout") - property string subtitle: config.prettyStatus - property string icon : "cala-qml-keyboard-layout" - - currentIndex: model.currentIndex - - model: config.keyboardLayoutsModel - - delegate: ListItemDelegate - { - id: _delegate - label1.text: model.label - onClicked: - { - _layoutsListView.model.currentIndex = index - _layoutsListView.positionViewAtIndex(index, ListView.Center) - control.stackView.push(_keyboardVariantsComponent) - } - } - - - TextField - { - placeholderText: qsTr("Test your keyboard") - - Layout.fillWidth: true - Layout.alignment: Qt.AlignCenter - } - - Button - { - Layout.fillWidth: true - icon.name: "go-next" - text: qsTr("Variants") - onClicked: control.stackView.push(_keyboardVariantsComponent) - } - } - } - - Component - { - id: _keyboardVariantsComponent - - ListViewTemplate - { - id: _variantsListView - - property string title: qsTr("Keyboard Layout Variant") - property string subtitle: config.prettyStatus - property string icon : "cala-qml-keyboard-layout-variant" - - currentIndex: model.currentIndex - - model: config.keyboardVariantsModel - - delegate: ListItemDelegate - { - id: _delegate - label1.text: model.label - onClicked: - { - _variantsListView.model.currentIndex = index - _variantsListView.positionViewAtIndex(index, ListView.Center) - } - } - } - } -} diff --git a/etc/calamares/branding/parchiso/lang/calamares-default_ar.ts b/etc/calamares/branding/parchlinux/lang/calamares-default_ar.ts similarity index 100% rename from etc/calamares/branding/parchiso/lang/calamares-default_ar.ts rename to etc/calamares/branding/parchlinux/lang/calamares-default_ar.ts diff --git a/etc/calamares/branding/parchiso/lang/calamares-default_en.ts b/etc/calamares/branding/parchlinux/lang/calamares-default_en.ts similarity index 100% rename from etc/calamares/branding/parchiso/lang/calamares-default_en.ts rename to etc/calamares/branding/parchlinux/lang/calamares-default_en.ts diff --git a/etc/calamares/branding/parchiso/lang/calamares-default_eo.ts b/etc/calamares/branding/parchlinux/lang/calamares-default_eo.ts similarity index 100% rename from etc/calamares/branding/parchiso/lang/calamares-default_eo.ts rename to etc/calamares/branding/parchlinux/lang/calamares-default_eo.ts diff --git a/etc/calamares/branding/parchiso/lang/calamares-default_fa.ts b/etc/calamares/branding/parchlinux/lang/calamares-default_fa.ts similarity index 100% rename from etc/calamares/branding/parchiso/lang/calamares-default_fa.ts rename to etc/calamares/branding/parchlinux/lang/calamares-default_fa.ts diff --git a/etc/calamares/branding/parchiso/lang/calamares-default_fr.ts b/etc/calamares/branding/parchlinux/lang/calamares-default_fr.ts similarity index 100% rename from etc/calamares/branding/parchiso/lang/calamares-default_fr.ts rename to etc/calamares/branding/parchlinux/lang/calamares-default_fr.ts diff --git a/etc/calamares/branding/parchiso/lang/calamares-default_nl.ts b/etc/calamares/branding/parchlinux/lang/calamares-default_nl.ts similarity index 100% rename from etc/calamares/branding/parchiso/lang/calamares-default_nl.ts rename to etc/calamares/branding/parchlinux/lang/calamares-default_nl.ts diff --git a/etc/calamares/branding/parchlinux/localeq.qml b/etc/calamares/branding/parchlinux/localeq.qml deleted file mode 100644 index 0391214..0000000 --- a/etc/calamares/branding/parchlinux/localeq.qml +++ /dev/null @@ -1,89 +0,0 @@ -import io.calamares.ui 1.0 - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Layouts 1.3 -import org.kde.kirigami 2.7 as Kirigami - -import "." - -ResponsiveBase -{ - id: control - - title: stackView.currentItem.title - subtitle: stackView.currentItem.subtitle - message: stackView.currentItem.message - icon.source: stackView.currentItem.icon - - property string currentRegion - property string currentZone - - stackView.initialItem: ListViewTemplate - { - id: _regionListView - - property string title: qsTr("Region") - property string subtitle: qsTr("Pick your preferred region or use the default one based on your current location") - property string message: qsTr("Select your preferred zone within your location to continue with the installation") - property string icon : "cala-qml-region" - - model: config.regionModel - currentIndex : -1 - - delegate: ListItemDelegate - { - id: _delegate - label1.text: model.name - onClicked: - { - _regionListView.currentIndex = index - control.currentRegion = model.name - config.regionalZonesModel.region = control.currentRegion - control.stackView.push(_zonesListComponent) - } - } - - Button - { - Layout.fillWidth: true - text: qsTr("Timezones") - icon.name: "go-previous" - onClicked: control.stackView.push(_zonesListComponent) - } - } - - Component - { - id: _zonesListComponent - - ListViewTemplate - { - id: _zonesListView - property string title: qsTr("Timezone") - property string subtitle: config.prettyStatus - property string message: "" - property string icon : "cala-qml-timezone" - - model: config.regionalZonesModel - currentIndex : -1 - - delegate: ListItemDelegate - { - id: _delegate - label1.text: model.name - onClicked: - { - _zonesListView.currentIndex = index - control.currentZone = model.name - - _zonesListView.listView.positionViewAtIndex(index, ListView.Center) - - config.setCurrentLocation(control.currentRegion, control.currentZone) - - } - } - } - } -} - diff --git a/etc/calamares/branding/parchiso/logo.png b/etc/calamares/branding/parchlinux/logo.png similarity index 100% rename from etc/calamares/branding/parchiso/logo.png rename to etc/calamares/branding/parchlinux/logo.png diff --git a/etc/calamares/branding/parchlinux/show.qml b/etc/calamares/branding/parchlinux/show.qml index 846ef0f..22b5c7a 100644 --- a/etc/calamares/branding/parchlinux/show.qml +++ b/etc/calamares/branding/parchlinux/show.qml @@ -1,8 +1,8 @@ -import QtQuick 2.0; -import QtQuick.Layouts 1.3 -import QtQuick.Controls 2.2 + +import QtQuick 2.0; import calamares.slideshow 1.0; +import io.calamares.ui 1.0 // Calamares internals: Branding Presentation { @@ -10,136 +10,44 @@ Presentation Timer { interval: 5000 - running: false + running: presentation.activatedInCalamares repeat: true onTriggered: presentation.goToNextSlide() } - - Image { - id: background - source: "calamares_background.svg" + + function onActivate() { } + function onLeave() { } + + Rectangle { + id: mybackground anchors.fill: parent - } - - Image { - id: image - source: "calamares_install_image.svg" - width: 256 - height: 256 - fillMode: Image.PreserveAspectFit - anchors.left: parent.horizontalCenter - anchors.right: parent.right - anchors.verticalCenter: parent.verticalCenter + color: Branding.styleString(Branding.SidebarBackground) + z: -1 } - Slide { - - ColumnLayout { - anchors.leftMargin: 18 - anchors.left: parent.left - anchors.right: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - - Label { - Layout.fillWidth: true - - text: qsTr("Welcome to the Parch Linux!") - font.pixelSize: 22 - font.bold: true - color: "white" - } - - Rectangle { - height: 3 - width: 24 - radius: 2 - - color: "white" - } - - Text { - Layout.fillWidth: true - Layout.topMargin: 16 - - font.pixelSize: 12 - color: "white" - text: qsTr("Yet another distro based on Arch!") - wrapMode: Text.WordWrap - } - } + ImageSlide { + src: "slide01.png" } - Slide { - - ColumnLayout { - anchors.leftMargin: 18 - anchors.left: parent.left - anchors.right: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - - Label { - Layout.fillWidth: true - - text: qsTr("Everything you need to get started.") - font.pixelSize: 22 - font.bold: true - color: "white" - } - - Rectangle { - height: 3 - width: 24 - radius: 2 - - color: "white" - } - - Text { - Layout.fillWidth: true - Layout.topMargin: 16 - - font.pixelSize: 12 - color: "white" - text: qsTr("Parch is a complete Operating System that ships the essential apps and services for the daily use: office applications, PDF reader, image editor") - wrapMode: Text.WordWrap - } - } + ImageSlide { + src: "slide02.png" } - Slide { - - ColumnLayout { - anchors.leftMargin: 18 - anchors.left: parent.left - anchors.right: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - - Label { - Layout.fillWidth: true - - text: qsTr("Explore a universe of apps with AUR.") - font.pixelSize: 22 - font.bold: true - color: "white" - } - - Rectangle { - height: 3 - width: 24 - radius: 2 - - color: "white" - } - - Text { - Layout.fillWidth: true - Layout.topMargin: 16 - - font.pixelSize: 12 - color: "white" - text: qsTr("Thanks for using Parch Linux") - wrapMode: Text.WordWrap - } - } + ImageSlide { + src: "slide03.png" } + + ImageSlide { + src: "slide04.png" + } + + ImageSlide { + src: "slide05.png" + } + + ImageSlide { + src: "slide06.png" + } + + } diff --git a/etc/calamares/branding/parchiso/slide01.png b/etc/calamares/branding/parchlinux/slide01.png similarity index 100% rename from etc/calamares/branding/parchiso/slide01.png rename to etc/calamares/branding/parchlinux/slide01.png diff --git a/etc/calamares/branding/parchiso/slide02.png b/etc/calamares/branding/parchlinux/slide02.png similarity index 100% rename from etc/calamares/branding/parchiso/slide02.png rename to etc/calamares/branding/parchlinux/slide02.png diff --git a/etc/calamares/branding/parchiso/slide03.png b/etc/calamares/branding/parchlinux/slide03.png similarity index 100% rename from etc/calamares/branding/parchiso/slide03.png rename to etc/calamares/branding/parchlinux/slide03.png diff --git a/etc/calamares/branding/parchiso/slide04.png b/etc/calamares/branding/parchlinux/slide04.png similarity index 100% rename from etc/calamares/branding/parchiso/slide04.png rename to etc/calamares/branding/parchlinux/slide04.png diff --git a/etc/calamares/branding/parchiso/slide05.png b/etc/calamares/branding/parchlinux/slide05.png similarity index 100% rename from etc/calamares/branding/parchiso/slide05.png rename to etc/calamares/branding/parchlinux/slide05.png diff --git a/etc/calamares/branding/parchiso/slide06.png b/etc/calamares/branding/parchlinux/slide06.png similarity index 100% rename from etc/calamares/branding/parchiso/slide06.png rename to etc/calamares/branding/parchlinux/slide06.png diff --git a/etc/calamares/branding/parchiso/squid.png b/etc/calamares/branding/parchlinux/squid.png similarity index 100% rename from etc/calamares/branding/parchiso/squid.png rename to etc/calamares/branding/parchlinux/squid.png diff --git a/etc/calamares/branding/parchiso/stylesheet.qss b/etc/calamares/branding/parchlinux/stylesheet.qss similarity index 100% rename from etc/calamares/branding/parchiso/stylesheet.qss rename to etc/calamares/branding/parchlinux/stylesheet.qss diff --git a/etc/calamares/branding/parchlinux/summaryq.qml b/etc/calamares/branding/parchlinux/summaryq.qml deleted file mode 100644 index 47e4a61..0000000 --- a/etc/calamares/branding/parchlinux/summaryq.qml +++ /dev/null @@ -1,47 +0,0 @@ -import io.calamares.core 1.0 -import io.calamares.ui 1.0 - -import QtQuick 2.10 -import QtQuick.Controls 2.10 - -import org.mauikit.controls 1.3 as Maui -import org.kde.kirigami 2.7 as Kirigami -import "." - -ResponsiveBase -{ - id: control - - title: qsTr("Summary") - subtitle: qsTr("Summary of the installation") - message: qsTr("

Review the steps that will be taken before the system installation starts.

") - icon.source: "cala-qml-summary" - - - stackView.initialItem: ListViewTemplate - { - currentIndex: -1 - model: config.summaryModel - delegate: Maui.ItemDelegate - { - id: _delegate - - width: ListView.view.width - height: _template.implicitHeight + Maui.Style.space.medium - - Maui.ListItemTemplate - { - id: _template - anchors.fill: parent - anchors.margins: Maui.Style.space.medium - iconSource: "documentinfo" - iconSizeHint: 32 - headerSizeHint: iconSizeHint - label1.text: model.title - label2.text: model.message - label2.wrapMode: Text.Wrap - label2.textFormat: Text.AutoText - } - } - } -} diff --git a/etc/calamares/branding/parchlinux/usersq.qml b/etc/calamares/branding/parchlinux/usersq.qml deleted file mode 100644 index 2543c6e..0000000 --- a/etc/calamares/branding/parchlinux/usersq.qml +++ /dev/null @@ -1,264 +0,0 @@ -import io.calamares.ui 1.0 - -import QtQuick 2.10 -import QtQuick.Controls 2.10 -import QtQuick.Layouts 1.3 - -import QtGraphicalEffects 1.0 -import QtQuick.Window 2.3 -import "." - -import org.kde.kirigami 2.7 as Kirigami - - -ResponsiveBase -{ - id: control - - // nextButton.enabled: config.isNextEnabled - - title: qsTr("Users") - subtitle: qsTr("Pick your user name and credentials to login and perform admin tasks") - message: config.status.message - icon.source: "cala-qml-user" - - stackView.initialItem: ScrollView - { - id: _userPage - contentWidth: availableWidth - padding: 0 - background: Rectangle - { - color: Qt.lighter(control.Kirigami.Theme.backgroundColor) - radius: 5 - opacity: 0.5 - } - - Flickable - { - contentHeight: _formLayout.implicitHeight - - Column - { - id: _formLayout - width: parent.width - height: parent.height - - spacing: Kirigami.Units.smallSpacing - - ItemSection - { - width: parent.width - - title: qsTr("What is your name?") - - TextField - { - id: _userNameField - width: parent.width - enabled: config.isEditable("fullName") - placeholderText: qsTr("Your Full Name") - text: config.fullName - onTextChanged: config.setFullName(text) - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 5 - opacity: 0.5 - border.color: _userNameField.text.length ? Kirigami.Theme.backgroundColor : ( config.fullNameChanged ? Kirigami.Theme.backgroundColor : Kirigami.Theme.negativeTextColor) - } - } - } - - ItemSection - { - width: parent.width - - title: qsTr("What name do you want to use to log in?") - subtitle: qsTr("If more than one person will use this computer, you can create multiple accounts after installation.") - - TextField - { - id: _userLoginField - enabled: config.isEditable("loginName") - width: parent.width - placeholderText: qsTr("Login Name") - text: config.loginName - onTextChanged: config.setLoginName(text) - - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 5 - opacity: 0.5 - border.color: _userLoginField.text.length ? Kirigami.Theme.backgroundColor : (config.loginNameStatusChanged ? Kirigami.Theme.backgroundColor : Kirigami.Theme.negativeTextColor) - - } - } - } - - ItemSection - { - width: parent.width - - title: qsTr("What is the name of this computer?") - subtitle: qsTr("This name will be used if you make the computer visible to others on a network.") - - TextField - { - id: _hostName - width: parent.width - placeholderText: qsTr("Computer Name") - text: config.hostName - onTextChanged: config.setHostName(text) - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 5 - opacity: 0.5 - border.color: _hostName.text.length ? Kirigami.Theme.backgroundColor : ( config.hostNameStatusChanged ? Kirigami.Theme.backgroundColor : Kirigami.Theme.negativeTextColor) - } - } - } - - ItemSection - { - width: parent.width - - title: qsTr("Choose a password to keep your account safe.") - subtitle: qsTr("Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.") - - TextField - { - id: _passwordField - width: parent.width - placeholderText: qsTr("Password") - text: config.userPassword - - echoMode: TextInput.Password - passwordMaskDelay: 300 - inputMethodHints: Qt.ImhNoAutoUppercase - onTextChanged: config.setUserPassword(text) - - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 5 - opacity: 0.5 - border.color: ( config.userPasswordStatusChanged ? Kirigami.Theme.backgroundColor : Kirigami.Theme.negativeTextColor) - } - - } - - TextField - { - id: _verificationPasswordField - width: parent.width - placeholderText: qsTr("Repeat Password") - text: config.userPasswordSecondary - onTextChanged: config.setUserPasswordSecondary(text) - - echoMode: TextInput.Password - passwordMaskDelay: 300 - inputMethodHints: Qt.ImhNoAutoUppercase - - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 5 - opacity: 0.5 - border.color: config.userPasswordSecondaryChanged ? Kirigami.Theme.backgroundColor : Kirigami.Theme.negativeTextColor - } - } - - CheckBox - { - visible: config.writeRootPassword - text: qsTr("Reuse user password as root password") - checked: config.reuseUserPasswordForRoot - onCheckedChanged: config.setReuseUserPasswordForRoot(checked) - } - - } - - - ItemSection - { - width: parent.width - visible: !config.reuseUserPasswordForRoot - - title: qsTr("Choose a root password to keep your account safe.") - - TextField - { - id: _rootPasswordField - width: parent.width - placeholderText: qsTr("Root Password") - echoMode: TextInput.Password - passwordMaskDelay: 300 - inputMethodHints: Qt.ImhNoAutoUppercase - text: config.rootPassword - onTextChanged: config.setRootPassword(text) - - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 5 - opacity: 0.5 - border.color: _rootPasswordField.text.length ? Kirigami.Theme.backgroundColor : ( config.rootPasswordReady ? Kirigami.Theme.backgroundColor : Kirigami.Theme.negativeTextColor) - - } - } - - TextField - { - id: _verificationRootPasswordField - width: parent.width - placeholderText: qsTr("Repeat Root Password") - echoMode: TextInput.Password - passwordMaskDelay: 300 - inputMethodHints: Qt.ImhNoAutoUppercase - text: config.rootPasswordSecondary - onTextChanged: config.setRootPasswordSecondary(text) - - background: Rectangle - { - color: Kirigami.Theme.backgroundColor - radius: 5 - opacity: 0.5 - border.color: _verificationRootPasswordField.text.length ? Kirigami.Theme.backgroundColor : ( config.rootPasswordReady ? Kirigami.Theme.backgroundColor : Kirigami.Theme.negativeTextColor) - } - } - } - - - ItemSection - { - width: parent.width - title: qsTr("More options.") - - - CheckBox - { - visible: config.permitWeakPasswords - text: qsTr("Validate passwords quality") - checked: config.requireStrongPasswords - onCheckedChanged: config.setRequireStrongPasswords(checked) - } - - - - CheckBox - { - text: qsTr("Log in automatically without asking for the password") - checked: config.doAutoLogin - onCheckedChanged: config.setAutoLogin(checked) - } - } - - } - } - - } - -} diff --git a/etc/calamares/branding/parchlinux/welcomeq.qml b/etc/calamares/branding/parchlinux/welcomeq.qml deleted file mode 100644 index f7e71c4..0000000 --- a/etc/calamares/branding/parchlinux/welcomeq.qml +++ /dev/null @@ -1,175 +0,0 @@ -import io.calamares.ui 1.0 -import io.calamares.core 1.0 - -import QtQuick 2.14 -import QtQuick.Controls 2.14 -import QtQuick.Layouts 1.3 - -import org.kde.kirigami 2.7 as Kirigami - -import "." - -ResponsiveBase -{ - id: control - - title: stackView.currentItem.title - subtitle: stackView.currentItem.subtitle - message: stackView.currentItem.message - icon.source: stackView.currentItem.icon - - stackView.initialItem: ListViewTemplate - { - id: _requirementsList - property string title: qsTr("Welcome to ") + Branding.string(Branding.ProductName) - property string subtitle: config.genericWelcomeMessage - property string message: config.requirementsModel.satisfiedRequirements ? "All requirements have been satisfied." : qsTr("

Please ensure this computer has enough storage, RAM, and a working Internet connection. %1.
- Setup can continue, but some features might be disabled.

").arg(Branding.string(Branding.VersionedName)) - property string icon : Branding.imagePath(Branding.ProductWelcome) - model: config.unsatisfiedRequirements - - delegate: Control - { - id: _delegate - - background: Rectangle - { - color: model.satisfied ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.negativeTextColor - opacity: 0.2 - } - - width: ListView.view.width - height: 72 - - RowLayout - { - id: _template - anchors.fill: parent - - Item - { - Layout.alignment: Qt.AlignCenter - implicitWidth: 48 - implicitHeight: 48 - Kirigami.Icon - { - source: model.satisfied ? "checkmark" : (model.mandatory ? "error" : "emblem-info") - height: 22 - width: 22 - anchors.centerIn: parent - } - } - - ColumnLayout - { - Layout.fillWidth: true - Layout.alignment: Qt.AlignCenter - Layout.margins: Kirigami.Units.smallSpacing - spacing : 0 - - Label - { - Layout.fillWidth: true - text: model.name - font.bold: true - } - - Label - { - Layout.fillWidth: true - text: !model.satisfied ? model.negatedText : model.details - wrapMode: Text.Wrap - } - } - - - } - } - - RowLayout - { - Layout.fillWidth: true - Layout.preferredHeight: 64 - - spacing: Kirigami.Units.largeSpacing* 2 - - Button - { - Layout.fillWidth: true - text: "About" - icon.name: "documentinfo" - Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) - Kirigami.Theme.textColor: "#fff" - - visible: Branding.string(Branding.ProductUrl).length - onClicked: Qt.openUrlExternally(Branding.string(Branding.ProductUrl)) - } - - Button - { - Layout.fillWidth: true - text: qsTr("Support") - icon.name: "help-contents" - Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) - Kirigami.Theme.textColor: "#fff" - visible: Branding.string(Branding.SupportUrl).length - onClicked: Qt.openUrlExternally(Branding.string(Branding.SupportUrl)) - } - - Button - { - Layout.fillWidth: true - text: qsTr("Known issues") - icon.name: "tools-report-bug" - Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) - Kirigami.Theme.textColor: "#fff" - visible: Branding.string(Branding.KnownIssuesUrl).length - onClicked: Qt.openUrlExternally(Branding.string(Branding.KnownIssuesUrl)) - } - - Button - { - Layout.fillWidth: true - text: qsTr("Release notes") - icon.name: "document-edit" - Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) - Kirigami.Theme.textColor: "#fff" - visible: Branding.string(Branding.ReleaseNotesUrl).length - onClicked: Qt.openUrlExternally(Branding.string(Branding.ReleaseNotesUrl)) - } - } - - Button - { - Layout.fillWidth: true - text: qsTr("Language") - onClicked: control.stackView.push(_langComponent) - enabled: true - } - } - - - Component - { - id: _langComponent - ListViewTemplate - { - id: _langList - - property string title : qsTr("Language") - property string subtitle: qsTr("Select your preferred language to continue with the installation") - property string icon : "cala-qml-language" - - currentIndex: config.localeIndex - model: config.languagesModel - delegate: ListItemDelegate - { - id: _delegate - label1.text: model.label - label2.text: model.englishLabel - - onClicked: config.localeIndex = index - } - } - } -} diff --git a/etc/calamares/settings.conf b/etc/calamares/settings.conf index 8d84f9d..03e36e8 100644 --- a/etc/calamares/settings.conf +++ b/etc/calamares/settings.conf @@ -55,7 +55,7 @@ sequence: - finished -branding: parchiso +branding: parchlinux prompt-install: false