From eab16fc28ca065730f5cdbaac28aea543b753393 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Thu, 17 Aug 2017 15:01:25 -0700 Subject: [PATCH 01/29] Initial progress --- .../wallet/SecurityImageSelection.qml | 102 +++++ .../qml/hifi/commerce/wallet/Wallet.qml | 199 +++++++++ .../commerce/wallet/WalletSetupLightbox.qml | 413 ++++++++++++++++++ interface/src/commerce/QmlCommerce.cpp | 9 +- interface/src/commerce/QmlCommerce.h | 4 + .../HFTabletWebEngineRequestInterceptor.cpp | 2 +- scripts/defaultScripts.js | 3 +- scripts/system/commerce/wallet.js | 135 ++++++ .../spectator-camera/spectatorCamera.js | 2 +- 9 files changed, 865 insertions(+), 4 deletions(-) create mode 100644 interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/Wallet.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml create mode 100644 scripts/system/commerce/wallet.js diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml new file mode 100644 index 0000000000..984a5c932a --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml @@ -0,0 +1,102 @@ +// +// SecurityImageSelection.qml +// qml/hifi/commerce/wallet +// +// SecurityImageSelection +// +// Created by Zach Fox on 2017-08-17 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Item { + HifiConstants { id: hifi; } + + id: root; + anchors.fill: parent; + visible: false; + + Hifi.QmlCommerce { + id: commerce; + onSecurityImageResult: { + if (imageID > 0) { + for (var itr = 0; itr < gridModel.count; itr++) { + var thisValue = gridModel.get(itr).securityImageEnumValue; + if (thisValue === imageID) { + securityImageGrid.currentIndex = itr; + break; + } + } + } + } + } + + Component.onCompleted: { + commerce.getSecurityImage(); + } + + SecurityImageModel { + id: gridModel; + } + + GridView { + id: securityImageGrid; + clip: true; + // Anchors + anchors.fill: parent; + currentIndex: -1; + cellWidth: width / 3; + cellHeight: height / 2; + model: gridModel; + delegate: Item { + width: securityImageGrid.cellWidth; + height: securityImageGrid.cellHeight; + Item { + anchors.fill: parent; + Image { + width: parent.width - 8; + height: parent.height - 8; + source: sourcePath; + anchors.horizontalCenter: parent.horizontalCenter; + anchors.verticalCenter: parent.verticalCenter; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + } + MouseArea { + anchors.fill: parent; + onClicked: { + securityImageGrid.currentIndex = index; + } + } + } + highlight: Rectangle { + width: securityImageGrid.cellWidth; + height: securityImageGrid.cellHeight; + color: hifi.colors.blueHighlight; + } + } + + // + // FUNCTION DEFINITIONS START + // + signal sendToScript(var message); + + function getImagePathFromImageID(imageID) { + return (imageID ? gridModel.get(imageID - 1).sourcePath : ""); + } + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml new file mode 100644 index 0000000000..75e2258287 --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -0,0 +1,199 @@ +// +// Wallet.qml +// qml/hifi/commerce/wallet +// +// Wallet +// +// Created by Zach Fox on 2017-08-17 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Rectangle { + HifiConstants { id: hifi; } + + id: root; + // Style + color: hifi.colors.baseGray; + Hifi.QmlCommerce { + id: commerce; + onBalanceResult: { + if (failureMessage.length) { + console.log("Failed to get balance", failureMessage); + } else { + hfcBalanceText.text = balance; + } + } + onSecurityImageResult: { + securityImage.source = securityImageSelection.getImagePathFromImageID(imageID); + } + } + + // + // TITLE BAR START + // + Item { + id: titleBarContainer; + // Size + width: parent.width; + height: 50; + // Anchors + anchors.left: parent.left; + anchors.top: parent.top; + + // Title Bar text + RalewaySemiBold { + id: titleBarText; + text: "WALLET"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.bottom: parent.bottom; + width: paintedWidth; + // Style + color: hifi.colors.lightGrayText; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Separator + HifiControlsUit.Separator { + anchors.left: parent.left; + anchors.right: parent.right; + anchors.bottom: parent.bottom; + } + } + // + // TITLE BAR END + // + + // + // TAB CONTENTS START + // + + + + // + // TAB CONTENTS END + // + + // + // TAB BUTTONS START + // + Item { + id: tabButtonsContainer; + property int numTabs: 4; + // Size + width: root.width; + height: 80; + // Anchors + anchors.left: parent.left; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 8; + + // Separator + HifiControlsUit.Separator { + anchors.left: parent.left; + anchors.right: parent.right; + anchors.top: parent.top; + } + + // "ACCOUNT HOME" tab button + Rectangle { + id: accountHomeButtonContainer; + color: hifi.buttons.black; + anchors.top: parent.top; + anchors.left: parent.left; + anchors.bottom: parent.bottom; + width: parent.width / tabButtonsContainer.numTabs; + onClicked: { + // Show this tab + } + } + + // "SEND MONEY" tab button + Rectangle { + id: sendMoneyButtonContainer; + color: hifi.buttons.black; + anchors.top: parent.top; + anchors.left: accountHomeButtonContainer.right; + anchors.bottom: parent.bottom; + width: parent.width / tabButtonsContainer.numTabs; + onClicked: { + // Show this tab + } + } + + // "SECURITY" tab button + Rectangle { + id: securityButtonContainer; + color: hifi.buttons.black; + anchors.top: parent.top; + anchors.left: sendMoneyButtonContainer.right; + anchors.bottom: parent.bottom; + width: parent.width / tabButtonsContainer.numTabs; + onClicked: { + // Show this tab + } + } + + // "HELP" tab button + Rectangle { + id: helpButtonContainer; + color: hifi.buttons.black; + anchors.top: parent.top; + anchors.left: securityButtonContainer.right; + anchors.bottom: parent.bottom; + width: parent.width / tabButtonsContainer.numTabs; + onClicked: { + // Show this tab + } + } + } + // + // TAB BUTTONS END + // + + // + // FUNCTION DEFINITIONS START + // + // + // Function Name: fromScript() + // + // Relevant Variables: + // None + // + // Arguments: + // message: The message sent from the JavaScript. + // Messages are in format "{method, params}", like json-rpc. + // + // Description: + // Called when a message is received from a script. + // + function fromScript(message) { + switch (message.method) { + default: + console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); + } + } + signal sendToScript(var message); + + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml new file mode 100644 index 0000000000..a44249566a --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -0,0 +1,413 @@ +// +// WalletSetupLightbox.qml +// qml/hifi/commerce/wallet +// +// WalletSetupLightbox +// +// Created by Zach Fox on 2017-08-17 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Rectangle { + HifiConstants { id: hifi; } + + id: root; + property int stepNumber: 0; + // Style + color: hifi.colors.white; + Hifi.QmlCommerce { + id: commerce; + + onLoginStatusResult: { + if (isLoggedIn) { + loginPageContainer.visible = false; + commerce.getSecurityImage(); + } else { + loginPageContainer.visible = true; + } + } + + onSecurityImageResult: { + loginPageContainer.visible = false; + if (imageID !== 0) { // "If security image is set up" + commerce.getPassphraseSetupStatus(); + passphrasePageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); + } else { + securityImageContainer.visible = true; + } + } + + onPassphraseSetupStatusResult: { + securityImageContainer.visible = false; + if (passphraseIsSetup) { + privateKeysReadyContainer.visible = true; + } else { + choosePassphraseContainer.visible = true; + } + } + } + + // + // LOGIN PAGE START + // + Item { + id: loginPageContainer; + visible: false; + // Anchors + anchors.fill: parent; + + Component.onCompleted: { + commerce.getLoginStatus(); + } + + Item { + // Size + width: parent.width; + height: 50; + // Anchors + anchors.left: parent.left; + anchors.top: parent.top; + + // Title Bar text + RalewaySemiBold { + text: "WALLET SETUP - LOGIN"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.bottom: parent.bottom; + width: paintedWidth; + // Style + color: hifi.colors.lightGrayText; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + } + + // Navigation Bar + Item { + // Size + width: parent.width; + height: 100; + // Anchors: + anchors.left: parent.left; + anchors.bottom: parent.bottom; + + // "Cancel" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.left: parent.left; + anchors.leftMargin: 20; + width: 100; + text: "Cancel" + onClicked: { + + } + } + } + } + // + // LOGIN PAGE END + // + + // + // SECURITY IMAGE SELECTION START + // + Item { + id: securityImageContainer; + visible: false; + // Anchors + anchors.fill: parent; + + Item { + id: securityImageTitle; + // Size + width: parent.width; + height: 50; + // Anchors + anchors.left: parent.left; + anchors.top: parent.top; + + // Title Bar text + RalewaySemiBold { + text: "WALLET SETUP - STEP 1 OF 3"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.bottom: parent.bottom; + width: paintedWidth; + // Style + color: hifi.colors.lightGrayText; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + } + + // Text below title bar + RalewaySemiBold { + id: securityImageTitleHelper; + text: "Choose a Security Picture"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: securityImageTitle.bottom; + anchors.left: parent.left; + anchors.leftMargin: 16; + height: 50; + width: paintedWidth; + // Style + color: hifi.colors.lightGrayText; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + SecurityImageSelection { + id: securityImageSelection; + // Anchors + anchors.top: securityImageTitleHelper.bottom; + anchors.left: parent.left; + anchors.right: parent.right; + height: 350; + } + + // Navigation Bar + Item { + // Size + width: parent.width; + height: 100; + // Anchors: + anchors.left: parent.left; + anchors.bottom: parent.bottom; + + // "Cancel" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.left: parent.left; + anchors.leftMargin: 20; + width: 100; + text: "Cancel" + onClicked: { + + } + } + + // "Next" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.right: parent.right; + anchors.rightMargin: 20; + width: 100; + text: "Next"; + onClicked: { + + } + } + } + } + // + // SECURITY IMAGE SELECTION END + // + + // + // SECURE PASSPHRASE SELECTION START + // + Item { + id: choosePassphraseContainer; + visible: false; + // Anchors + anchors.fill: parent; + + Item { + // Size + width: parent.width; + height: 50; + // Anchors + anchors.left: parent.left; + anchors.top: parent.top; + + // Title Bar text + RalewaySemiBold { + text: "WALLET SETUP - STEP 2 OF 3"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.bottom: parent.bottom; + width: paintedWidth; + // Style + color: hifi.colors.lightGrayText; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + } + + // Navigation Bar + Item { + // Size + width: parent.width; + height: 100; + // Anchors: + anchors.left: parent.left; + anchors.bottom: parent.bottom; + + // "Back" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.left: parent.left; + anchors.leftMargin: 20; + width: 100; + text: "Back" + onClicked: { + + } + } + + + // Security Image + Image { + id: passphrasePageSecurityImage; + // Anchors + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.right: passphrasePageNextButton.left; + height: passphrasePageNextButton.height; + width: height; + anchors.verticalCenter: parent.verticalCenter; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + + // "Next" button + HifiControlsUit.Button { + id: passphrasePageNextButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.right: parent.right; + anchors.rightMargin: 20; + width: 100; + text: "Next"; + onClicked: { + + } + } + } + } + // + // SECURE PASSPHRASE SELECTION END + // + + // + // PRIVATE KEYS READY START + // + Item { + id: privateKeysReadyContainer; + visible: false; + // Anchors + anchors.fill: parent; + + Item { + // Size + width: parent.width; + height: 50; + // Anchors + anchors.left: parent.left; + anchors.top: parent.top; + + // Title Bar text + RalewaySemiBold { + text: "WALLET SETUP - STEP 2 OF 3"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.bottom: parent.bottom; + width: paintedWidth; + // Style + color: hifi.colors.lightGrayText; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + } + } + // + // PRIVATE KEYS READY END + // + + // + // FUNCTION DEFINITIONS START + // + // + // Function Name: fromScript() + // + // Relevant Variables: + // None + // + // Arguments: + // message: The message sent from the JavaScript. + // Messages are in format "{method, params}", like json-rpc. + // + // Description: + // Called when a message is received from a script. + // + function fromScript(message) { + switch (message.method) { + default: + console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); + } + } + signal sendToScript(var message); + + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/src/commerce/QmlCommerce.cpp b/interface/src/commerce/QmlCommerce.cpp index 573740727f..8cf7f0583c 100644 --- a/interface/src/commerce/QmlCommerce.cpp +++ b/interface/src/commerce/QmlCommerce.cpp @@ -14,6 +14,7 @@ #include "DependencyManager.h" #include "Ledger.h" #include "Wallet.h" +#include <AccountManager.h> HIFI_QML_DEF(QmlCommerce) @@ -59,4 +60,10 @@ void QmlCommerce::chooseSecurityImage(uint imageID) { void QmlCommerce::getSecurityImage() { auto wallet = DependencyManager::get<Wallet>(); wallet->getSecurityImage(); -} \ No newline at end of file +} +void QmlCommerce::getLoginStatus() { + emit loginStatusResult(DependencyManager::get<AccountManager>()->isLoggedIn()); +} +void QmlCommerce::getPassphraseSetupStatus() { + emit passphraseSetupStatusResult(false); +} diff --git a/interface/src/commerce/QmlCommerce.h b/interface/src/commerce/QmlCommerce.h index 5b702bfeff..8eebcd3378 100644 --- a/interface/src/commerce/QmlCommerce.h +++ b/interface/src/commerce/QmlCommerce.h @@ -31,6 +31,8 @@ signals: void balanceResult(int balance, const QString& failureMessage); void inventoryResult(QJsonObject inventory, const QString& failureMessage); void securityImageResult(uint imageID); + void loginStatusResult(bool isSetup); + void passphraseSetupStatusResult(bool passphraseIsSetup); protected: Q_INVOKABLE void buy(const QString& assetId, int cost, const QString& buyerUsername = ""); @@ -38,6 +40,8 @@ protected: Q_INVOKABLE void inventory(); Q_INVOKABLE void chooseSecurityImage(uint imageID); Q_INVOKABLE void getSecurityImage(); + Q_INVOKABLE void getLoginStatus(); + Q_INVOKABLE void getPassphraseSetupStatus(); }; #endif // hifi_QmlCommerce_h diff --git a/libraries/ui/src/ui/types/HFTabletWebEngineRequestInterceptor.cpp b/libraries/ui/src/ui/types/HFTabletWebEngineRequestInterceptor.cpp index 6ee8589615..405a402a8b 100644 --- a/libraries/ui/src/ui/types/HFTabletWebEngineRequestInterceptor.cpp +++ b/libraries/ui/src/ui/types/HFTabletWebEngineRequestInterceptor.cpp @@ -36,7 +36,7 @@ void HFTabletWebEngineRequestInterceptor::interceptRequest(QWebEngineUrlRequestI } static const QString USER_AGENT = "User-Agent"; - QString tokenString = "Chrome/48.0 (HighFidelityInterface)"; + QString tokenString = "Chrome/48.0 (HighFidelityInterface WithHFC)"; info.setHttpHeader(USER_AGENT.toLocal8Bit(), tokenString.toLocal8Bit()); } else { static const QString USER_AGENT = "User-Agent"; diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index 2270118861..2285337f41 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -28,7 +28,8 @@ var DEFAULT_SCRIPTS_COMBINED = [ "system/notifications.js", "system/dialTone.js", "system/firstPersonHMD.js", - "system/tablet-ui/tabletUI.js" + "system/tablet-ui/tabletUI.js", + "system/commerce/wallet.js" ]; var DEFAULT_SCRIPTS_SEPARATE = [ "system/controllers/controllerScripts.js", diff --git a/scripts/system/commerce/wallet.js b/scripts/system/commerce/wallet.js new file mode 100644 index 0000000000..e65ed4ae37 --- /dev/null +++ b/scripts/system/commerce/wallet.js @@ -0,0 +1,135 @@ +"use strict"; +/*jslint vars:true, plusplus:true, forin:true*/ +/* eslint indent: ["error", 4, { "outerIIFEBody": 0 }] */ +// +// wallet.js +// +// Created by Zach Fox on 2017-08-17 +// Copyright 2017 High Fidelity, Inc +// +// Distributed under the Apache License, Version 2.0 +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +/*global XXX */ + +(function () { // BEGIN LOCAL_SCOPE + + + // Function Name: buttonClicked() + // + // Description: + // -Fired when the app button is pressed. + // + // Relevant Variables: + // -WALLET_QML_SOURCE: The path to the Wallet QML + // -onWalletScreen: true/false depending on whether we're looking at the app. + var WALLET_QML_SOURCE = Script.resourcesPath() + "qml/hifi/commerce/wallet/Wallet.qml"; + var onWalletScreen = false; + function buttonClicked() { + if (!tablet) { + print("Warning in buttonClicked(): 'tablet' undefined!"); + return; + } + if (onWalletScreen) { + // for toolbar-mode: go back to home screen, this will close the window. + tablet.gotoHomeScreen(); + } else { + tablet.loadQMLSource(WALLET_QML_SOURCE); + } + } + + // Function Name: sendToQml() + // + // Description: + // -Use this function to send a message to the QML (i.e. to change appearances). The "message" argument is what is sent to + // the QML in the format "{method, params}", like json-rpc. See also fromQml(). + function sendToQml(message) { + tablet.sendToQml(message); + } + + // Function Name: fromQml() + // + // Description: + // -Called when a message is received from SpectatorCamera.qml. The "message" argument is what is sent from the QML + // in the format "{method, params}", like json-rpc. See also sendToQml(). + function fromQml(message) { + switch (message.method) { + default: + print('Unrecognized message from QML:', JSON.stringify(message)); + } + } + + // Function Name: wireEventBridge() + // + // Description: + // -Used to connect/disconnect the script's response to the tablet's "fromQml" signal. Set the "on" argument to enable or + // disable to event bridge. + // + // Relevant Variables: + // -hasEventBridge: true/false depending on whether we've already connected the event bridge. + var hasEventBridge = false; + function wireEventBridge(on) { + if (!tablet) { + print("Warning in wireEventBridge(): 'tablet' undefined!"); + return; + } + if (on) { + if (!hasEventBridge) { + tablet.fromQml.connect(fromQml); + hasEventBridge = true; + } + } else { + if (hasEventBridge) { + tablet.fromQml.disconnect(fromQml); + hasEventBridge = false; + } + } + } + + // Function Name: onTabletScreenChanged() + // + // Description: + // -Called when the TabletScriptingInterface::screenChanged() signal is emitted. The "type" argument can be either the string + // value of "Home", "Web", "Menu", "QML", or "Closed". The "url" argument is only valid for Web and QML. + function onTabletScreenChanged(type, url) { + onWalletScreen = (type === "QML" && url === SPECTATOR_CAMERA_QML_SOURCE); + wireEventBridge(onWalletScreen); + // Change button to active when window is first openend, false otherwise. + if (button) { + button.editProperties({ isActive: onWalletScreen }); + } + } + + // + // Manage the connection between the button and the window. + // + var button; + var buttonName = "WALLET"; + var tablet = null; + function startup() { + tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); + button = tablet.addButton({ + text: buttonName + }); + button.clicked.connect(onButtonClicked); + tablet.screenChanged.connect(onTabletScreenChanged); + } + function shutdown() { + button.clicked.disconnect(onButtonClicked); + tablet.removeButton(button); + if (tablet) { + tablet.screenChanged.disconnect(onTabletScreenChanged); + if (onWalletScreen) { + tablet.gotoHomeScreen(); + } + } + } + + // + // Run the functions. + // + startup(); + Script.scriptEnding.connect(shutdown); + +}()); // END LOCAL_SCOPE diff --git a/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js b/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js index f0b943ad92..fd08cd5655 100644 --- a/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js +++ b/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js @@ -153,7 +153,7 @@ // -showSpectatorInDesktop: Set to "true" to show the "SPECTATOR" app in desktop mode. var button = false; var buttonName = "SPECTATOR"; - var showSpectatorInDesktop = false; + var showSpectatorInDesktop = true; function addOrRemoveButton(isShuttingDown, isHMDMode) { if (!tablet) { print("Warning in addOrRemoveButton(): 'tablet' undefined!"); From 9135e37078eaab9eb1bb7831a7543cb7f53d321d Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Thu, 17 Aug 2017 15:20:17 -0700 Subject: [PATCH 02/29] Go go go go gog o --- .../commerce/wallet/SecurityImageModel.qml | 42 ++++++ .../qml/hifi/commerce/wallet/Wallet.qml | 122 +++++++++++++++--- .../commerce/wallet/WalletSetupLightbox.qml | 2 + .../qml/hifi/commerce/wallet/images/01cat.jpg | Bin 0 -> 64005 bytes .../qml/hifi/commerce/wallet/images/02car.jpg | Bin 0 -> 100983 bytes .../qml/hifi/commerce/wallet/images/03dog.jpg | Bin 0 -> 115650 bytes .../hifi/commerce/wallet/images/04stars.jpg | Bin 0 -> 87586 bytes .../hifi/commerce/wallet/images/05plane.jpg | Bin 0 -> 62060 bytes .../commerce/wallet/images/06gingerbread.jpg | Bin 0 -> 76195 bytes interface/src/commerce/QmlCommerce.h | 2 +- scripts/system/commerce/wallet.js | 6 +- 11 files changed, 155 insertions(+), 19 deletions(-) create mode 100644 interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/images/01cat.jpg create mode 100644 interface/resources/qml/hifi/commerce/wallet/images/02car.jpg create mode 100644 interface/resources/qml/hifi/commerce/wallet/images/03dog.jpg create mode 100644 interface/resources/qml/hifi/commerce/wallet/images/04stars.jpg create mode 100644 interface/resources/qml/hifi/commerce/wallet/images/05plane.jpg create mode 100644 interface/resources/qml/hifi/commerce/wallet/images/06gingerbread.jpg diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml new file mode 100644 index 0000000000..1be249fb45 --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml @@ -0,0 +1,42 @@ +// +// SecurityImageModel.qml +// qml/hifi/commerce +// +// SecurityImageModel +// +// Created by Zach Fox on 2017-08-17 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import QtQuick 2.5 + +ListModel { + id: root; + ListElement{ + sourcePath: "images/01cat.jpg" + securityImageEnumValue: 1; + } + ListElement{ + sourcePath: "images/02car.jpg" + securityImageEnumValue: 2; + } + ListElement{ + sourcePath: "images/03dog.jpg" + securityImageEnumValue: 3; + } + ListElement{ + sourcePath: "images/04stars.jpg" + securityImageEnumValue: 4; + } + ListElement{ + sourcePath: "images/05plane.jpg" + securityImageEnumValue: 5; + } + ListElement{ + sourcePath: "images/06gingerbread.jpg" + securityImageEnumValue: 6; + } +} diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 75e2258287..b200c7467f 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -35,8 +35,17 @@ Rectangle { hfcBalanceText.text = balance; } } - onSecurityImageResult: { - securityImage.source = securityImageSelection.getImagePathFromImageID(imageID); + } + + Rectangle { + anchors.fill: parent; + color: "black"; + opacity: 0.5; + WalletSetupLightbox { + id: walletSetupLightbox; + anchors.centerIn: parent; + width: parent.width - 50; + height: parent.height - 50; } } @@ -104,7 +113,6 @@ Rectangle { // Anchors anchors.left: parent.left; anchors.bottom: parent.bottom; - anchors.bottomMargin: 8; // Separator HifiControlsUit.Separator { @@ -116,52 +124,136 @@ Rectangle { // "ACCOUNT HOME" tab button Rectangle { id: accountHomeButtonContainer; - color: hifi.buttons.black; + color: hifi.colors.black; anchors.top: parent.top; anchors.left: parent.left; anchors.bottom: parent.bottom; width: parent.width / tabButtonsContainer.numTabs; - onClicked: { - // Show this tab + + RalewaySemiBold { + text: "ACCOUNT HOME"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.fill: parent; + anchors.leftMargin: 4; + anchors.rightMargin: 4; + // Style + color: hifi.colors.lightGrayText; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + MouseArea { + anchors.fill: parent; + hoverEnabled: enabled; + onClicked: { + } + onEntered: parent.color = hifi.colors.blueHighlight; + onExited: parent.color = hifi.colors.black; } } // "SEND MONEY" tab button Rectangle { id: sendMoneyButtonContainer; - color: hifi.buttons.black; + color: hifi.colors.black; anchors.top: parent.top; anchors.left: accountHomeButtonContainer.right; anchors.bottom: parent.bottom; width: parent.width / tabButtonsContainer.numTabs; - onClicked: { - // Show this tab + + RalewaySemiBold { + text: "SEND MONEY"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.fill: parent; + anchors.leftMargin: 4; + anchors.rightMargin: 4; + // Style + color: hifi.colors.lightGrayText; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + MouseArea { + anchors.fill: parent; + hoverEnabled: enabled; + onClicked: { + } + onEntered: parent.color = hifi.colors.blueHighlight; + onExited: parent.color = hifi.colors.black; } } // "SECURITY" tab button Rectangle { id: securityButtonContainer; - color: hifi.buttons.black; + color: hifi.colors.black; anchors.top: parent.top; anchors.left: sendMoneyButtonContainer.right; anchors.bottom: parent.bottom; width: parent.width / tabButtonsContainer.numTabs; - onClicked: { - // Show this tab + + RalewaySemiBold { + text: "SECURITY"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.fill: parent; + anchors.leftMargin: 4; + anchors.rightMargin: 4; + // Style + color: hifi.colors.lightGrayText; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + MouseArea { + anchors.fill: parent; + hoverEnabled: enabled; + onClicked: { + } + onEntered: parent.color = hifi.colors.blueHighlight; + onExited: parent.color = hifi.colors.black; } } // "HELP" tab button Rectangle { id: helpButtonContainer; - color: hifi.buttons.black; + color: hifi.colors.black; anchors.top: parent.top; anchors.left: securityButtonContainer.right; anchors.bottom: parent.bottom; width: parent.width / tabButtonsContainer.numTabs; - onClicked: { - // Show this tab + + RalewaySemiBold { + text: "HELP"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.fill: parent; + anchors.leftMargin: 4; + anchors.rightMargin: 4; + // Style + color: hifi.colors.lightGrayText; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + MouseArea { + anchors.fill: parent; + hoverEnabled: enabled; + onClicked: { + } + onEntered: parent.color = hifi.colors.blueHighlight; + onExited: parent.color = hifi.colors.black; } } } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index a44249566a..393a6727a8 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -27,6 +27,8 @@ Rectangle { property int stepNumber: 0; // Style color: hifi.colors.white; + anchors.fill: parent; + Hifi.QmlCommerce { id: commerce; diff --git a/interface/resources/qml/hifi/commerce/wallet/images/01cat.jpg b/interface/resources/qml/hifi/commerce/wallet/images/01cat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e7897cb82e3c8319ea81e291a57a00d25429b90 GIT binary patch literal 64005 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 b!dy=AyokW^^Gw9=F%!1`0BDH%cn|;C(QnUu literal 0 HcmV?d00001 diff --git a/interface/resources/qml/hifi/commerce/wallet/images/02car.jpg b/interface/resources/qml/hifi/commerce/wallet/images/02car.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5dd8091e57114aa66207ec2311a4df2742bce920 GIT binary patch literal 100983 zcmeFa2T)W?w>G?I$T{cW5G98pN69&7LC}F2U<flXWJL)A0s@jH2m+FksDKzql0ikX zpdwim6i@+C<gWpa;pn;VJ-6<6tNtpUD%hJ|Pp@9RdUfya&93gfiM>|<rJk0q761Z) zfHhzZ0QP3ICNu+)&H$jRD*zAz06+*(fWQDg001Ze04PCVfF1w<UjP7@L3jWN0DxEk z09X$1lK}wW1L5qag8={#2Y~@T006Q80DywP04)Fj?EnBEFX8TU#sC0#2L=Fj7z&L# z_zlrCHit-QKn!6RcZja8F4nAl?q63`INA{bF>yuvqJ3P^UJwJMi>ogNjrN2{iHJe? ztdS@<I>3h?fQpGr$cu}~i_1a8rR2rM<;7$HRv;_<z-l2d0OTCrOM(G_Gy1@4Y>kc| z-opU^5Ielb)&?4VU^O-!NF)Gov2v({7*66r%@n}^fO~jv0tNt3GV#7XI2ZuH$p__n zU^$2BzF+{rJ4_D-0{}ttfem;701zGCQvv`$e8`Ca13*$T7{CDlKuQ7t$O{g1#(@EV z;_yBd3;>h`KUx4(cyNye`0yTEN1UJT@qglo7lHvY006Fm0RUQvw_nF{FaSsvf&m5q z0Q$fHAXNwkNB{ts#X9A%b)WzM$YO29`spXnOUO$~$csz;G0lYC3Q$p_0Gyxc?_dAY zh4m}eM)kuhFmDaiW1W&A4-DV{fS4>)3@RxmE+#1@4FHUXEaYG8zd=(ADk&^3Cgte~ zaTb*{fasb-EX@r8Kuk<bOhQ~vLIwc<_yEpf)M6w3ugF%!`4QO~IKM_V2z(F=1~>o! zKD>{>8Vmq{&Y>lLUHAUf)20A*03R0*9}gEF9}k~^0H2VUl9-r?h?tg~f|QbhmXVQx zmY$xOjprCM3l}RrJwyn?#e1AzfS>7@u$VBP7!MymA65y7fPjFQkeG&;n1+v;o|*4o zW3LsUA_NkFL>v$&0Hy-rP=WS309F71<AAUO!(YI~1LNQm03gD>4nUa_0E57|xVSjj z3Si?A1jfOo0`RCg@WoY4X*gkFwBAVsTu`-qI_}!Gr)%_Pn3;76b#q6j@PfS#fEl!} z{V&znc*F%jU_AW24nT|w0O4Yl<AcFi&DdA~<4|$nQqypXtKvb!YE5C@N%>D{*XY!e z+t&9c0a6?g0H(sB0!{$nCjQsW8?IcUdqAQ%U&jW{+t|9vh;@1^o!iqeclSo6)nLLA zV>>N`Zn!1`5BK{G>7{-;ZJqANiaK+VAceR5&%ay?0>;v_<qYAx)Jy$a>qf<DvtvrP zH<UVeoK9%ab}}#9^F%jiW2P7^HHIIu2=ctsC!rRS{_MM}1=ee{nG_4fI~R80^u$AP z&3;20-krQ#Dzj&-#+tkur-~(43M?b@KzW)?b)QphSm?XZaz0$`rrMW@l+TFPvR=7x z-9V!E%}HdkG*`Q~bHn5n4+*{n_wb?PGyHFPg7Qa4lB#pJt2C(6*Y(*H@EVA27A9Yn zjCVxe&4SoU$_$MwcrK$R*lTa-GSS^vt90gen4obWq`lcF8Cs4Y2Umu1^%+aFd}?#! zzNKiIzu@DZ=moxEXjW=ePvGO|abk%qyKmBDg58QicH|O3=Vwn@$zjs=sjgI-*f{mW z)^hlbGn~;nuesSB+c%|;4bu)7fQGp5<(_%p(#)Z6Zq7X~1n_1nr!K$$>K#<RQaZ;$ zXK6lr18E3r5F)DzI`362R<!0UOx~cM$jT3%2oU3>T?=1nOVVMP^-j-_ufX?Z&fvcj zhiODF@61lR3z#UGo#iV!o3Whf5kf>vz6Y${>CRo(o*mQTr+-!ER9L$Q7%PMXv}G21 zN_x=qFt3#RPsE3^kUd%JLW@Oe3~XG**g1BGj5mJh3d1wXq53eYD4G0#YHUU3%*!*4 z+=&Dt88||Z%9X*5<`U6DD7)e%rxhcfw1vb)+X4wGIR*Sd`|~R(<&1H!Zx#al^Zg$L zwiS6mD%<wFnygimeq=jy&_1TfJ9AKftA)%6OWI}fG;RAE0?i2ScUs%WWuo{5g|gC5 z(&^))&J(qK>XP9NM83Id<9<1ju4!tVyh6gdv{)ln%EY##zPjZJQ8UebGm=wou>}qH zjAL(>JY1LKtL4u2{J0!xqUUxT6Ky8#^yF>KT^ok<mDY_1ml~APdy--^awNMR)ptK3 ztG$O$7v>h%CmJ1Bzyk7g%IWSWg>J45DTG=8==1L*&F-geD8Ay0Ar#VH7%`earpxym zTQ9nZ*ANo6oVzj;-XmwZWi;@frY7J^Cv&nYrZcSmeTZRmAbDMxmb*#vy>hWyT!#)4 zst>izkSzKbkXo`rlrw}SZ0Kv(99|#)vKwz{>dh$U(KC3BOB?O^`9;*JmU9VsHqSvt zhN(6m-jAo_yS2PDQPawqvTVAh)m&z<Ws{LtBkv*H(EW0PMxQ9>dis*ngW8%lE6XwS ztXTi_45OsP7#R1Z+}$-{5=-Jsv1!z%#jkXBw5DDzRZV<Ow<t+aP0Gg$m1$!ALXk90 zIvJ{KPn+r^(NkmzQ(%*x$esJ_c)uXF{82e9Kf|)6L$^xTLtXujXOpN>7rlkvZ9g)- zxQB+lGS4@-uX(Z<NLJk%(^OZ-`5cQ=noX9Pv-5nyW={AtuBBA3>Q%n9Bo_7ld(TlQ z&ks9}lW!$0WleP5ot(I}=;BBGpFf{?KV7A4$eQM(kxO$^f4hOZ>UqP%Ygw_mn((yu zk{V?e3ZM^N3E_-<Wxb{$)EziIz7N&|Zs)zf$&-n%$_l-|DwMZ<rZ`+gIk34ZjQ8%s z#|>?sn=5uY%8hTE$sYNLhQ){)Rf6=BuVBQ=NheJO2FlBD!=Khlw}hw#o%fE9$myiJ zC5uz<g2#P3hSjXASAry8&}q23XO=0VO;NVp&5v1l{PRr3NN})uiaJ-{3b=2`CU4@M z3?o&UU~#IHJU5bwShu10^K5~L+}Ve%$TofT7!C`e&gl7qd7Oqlz(6l@9=RYwcd;^t z=q?a6^=0W&(t?-11d;CLoF2Qz#_`~@LaFMu`8;PX=598vj(mC5x!M;WXewr5smf~c z^!AVrS&GiagblT}>bcp-ywZN3pyfBLM8NTl+6R}!C@O1a%YvmSTg`}k?N4eximYkm zO*FPTUV3}=!He_(rG%y38nG?YZQ)lRtxOBcgraRgJp>Hw4K39hol?|qGH>fLVgl$D z0vgzjHHO;XvtBsvh}XlwAkDhF#%5%vk0*rbmWf@QPxNSiu?G}Oba*b<@Nfq@(~0$q zq~r84SoX55ONIC8Qi)4{eD7iN^a<Cc1irrbHp^*-n>sxm_1R{%ciI|ZF6Xc1$Kg2* zy|Lt05R+LN8eh2l+HJo7jg_uVT_|2>jETaTG?G~wfh70R+UA#c=<hO7FEEO+hSn-L z;Z79P+dmDersc6{)z!(RO@dNECZ2yF$k}B4NTiKtkn+S-@)h5Ge3kYc<0agUsghw5 za16)V8-08gz4|bm5D%fuk~j*+vUpwKIhpo2GgWMUq_2@_ot3^W(^(7^^CqtC+|uqw z$LqImnQ==ZbZ+%Dm;`S%e6cH@BXTKCE^tmhZ%~1#-^3Xv!vqy<%LL^^+1fRR=tizp zhS*WL&mrz<hL(bYjF9>L0?5hY7A19SN<kr<EINq87VG=Bkr>Xb_Yr+%pa>g~P*(Oi z`zx>u6Q0^>rl!`c?TSq<#q<(tTtc-qrsskpzjlo;)N*b=a=z8ABoqm=d7I^&rR#6P zH4+3G-#O!f*UkHF;)_soP8422iOgxz-KQ)#=dN$IxzjR}+@f^)D*q_0`n6col8&WF z`Q)P*9GrA3cRz<4*T-?dLmdkYw8>8-Bt1Q)Yh-FxSHsERt1|PBH$_@)UuJwUJgrCw zi|va*jp2BZtPdz^QGwC-XnGvsn^wd=f^RNag$tj{TaGl<bomk<{b~ZG+v;uQOi9Bz zkdUMDU{@ZN#_LL+jGTB-#XSgYbqM=t(TAA@7oVIRXHBk1@^bpBAA^@^W|h5_;stm4 zYJ1Kue_|%?S*4;0fd;Ae+}aZba;JuEL6P!{vKvnoG>9)kT*k+9AEJwKnqIUY?{#r5 zjiMFCPlsNYikh2zUP~*kFl}Sc(va)9!B{PmU~4dBbH+c3_yyaX;LQzK%T_a;(5TpB z%X)G5w1!PK^f190ZriH}xgZ+P6EO(`eezqa=DJ)1eFN-sjt_(zH#)}rQ$?;qHfrfP zC&0I$wn$4eCK89Xgz=WsMQc{zbDWJ_0!-H`=#;NcOu2sm&RAr~^I22V;Xge#a4u!M zilBPEg2zwiN~%p@Ha>6r!?#f%S!L`EHHOsM1STa)>!utx<pbV6-fcSbJP%$vOQ3ls zMqpA3YJP)+jJJL1s?k))xtaT^O@8v`BRPZ3sW!9YOfoXCmXPiCZNB{eH*>|wvV|cO zI;kw_1f^V8J?wK7b(1sVn#q$V>1{U6mr>0nOQAGy&{Oh3-=<E3I^A@WOg6n-%uQE9 zHf=%j(-Z9i^3%*#G#R#phV`$(b2+_lJkiBuy?pTWJC8V{Z2cUQStv=w&)AhM593K& zl80#2NDi7AeUPBI3m56g&WW6`eNlPQjv49XUBAJkXz9q!EQiPCGezIwE68L!pbJzh z2NE+g1#?ixkmq!EZv`9A2wGY47+&?FctV0n89f;v^oIXs(G8a*=FKsqj?LC#i`WP% zjXJt3J}%(JT_ZMLOJR%9nhd3=9TCFL<wP2m_NSR-J)^L59&%yLQXOtpBzK1%spp*N z3?v6gdaHvavT7))U+Dx`dR`10+HPnJ^C6BWBc<YLYrI}keaeyn<h;m}5X51#TFQ4p zdnx>qrnTE0iWNG_F|m_W!|F6Xh0|}pO++dOD6u9a0Zg0Y%o9`NWZHy_dZZjP8F?c! zBod&vu>Pg+yqUZ6zESW|ei@rF-j)FpM_HR1VWz}8b0s5T?^1g^rJxns_ChJ#4|PQv zxssUC{TDI_wK;D;;lFASYC9G6?YfYsgb~pIl3vcGD4i$CkGJT9T~#a1j-$7iv=h67 z8zDSuTz)k4^XI6Eyz#K8q}Nta8PgddJwgwJ%-oT5A44VI4A<?ReRaG{yr+DqaESV3 zrqvX+2i}w7W6=dkMTOft_O2eDP%uT_aduWNjw`2pZn47#D=u$M(LS4K4G34FSe6b} zwjM+rGyQUMMq#@^I?&4gT$H+3@sz`toVFFQap6bYm5-QmbI<t4;kkqJP8V-&zP)r? zPS}EWp<iRYU38IIMe*JqKx#=hltUdqo78rXOvUqp%6YHjZjO9VS1GE`8O?g&&o5lA zoVuX;=qgHMV>zs(EIe?O_*N6l&rvc3RrqCQ7Z3V)Rk5I*XJqW0?G|g(xmR@M`S~T; z?ao20>4RSq&+h?CAZS9b<Iu2?X|d~#Se<3gTl`e1Bl#!-g^PE#+ILtRH-q0RyHIOY z%EYtSU+&Sx-?Ymn?<QNyjj9%kVQ|aHIi*dJivQ`;1kBU5QiZcDv3I64S$hcFQFu97 zw54`+m2pG&7@a_5C2bI)LlK1vL$K{<kEg41{e`{{dld~u2I927kh~8Qa5%|j72|u_ z$*0GOV?J$E7$i*DM~Ht?<lJ;{u%xAjKG#affY&TeUQ`m>CCKx2;;h$B($*uM+xRQz zqeNr1HF3`+Uo9$2Xe+VXSdM#%>=?NXRYY?SPlOd88+dWaI9TKfchyy;%%a%x5`mzI zyR?yrn);}3B~$oq)>^glgY%!*8B;n)Or6EAY&-|mf8IQ%c%p=iD+qEu+}eWuu@%mz zLS=iq>&}>NJZ?YA?Wpx(6@9r++~^R~gx$^4?Lq1KI%%2xUnM(|`6;LOfLrxj%Gq<r z+L=~-joEnh_~Q-YT4?MnaJ@AMr!lH$<OIkXnihfOPxsA}+YG`z-bIGekBt&7Ds9TX zRT&DpX3cDZDwDo>(~Qua>TP72l()`Z?s&G4zJBk>q$MW5vu|$<lrEX?0SO57D{p#^ z?7r5Wi<iJQ6B@?GS4V9uOrG|7M%}TPdL!0sL_Kpi#-MKgqn7%J7QtFulExIv+_OlN z{QN9`vq{?QQ{=gK`m=^d1d)C--W0cOUHK$*F$u>EsisY}6Vo14X}&+_fiF(+aMbc< z-jMl2`HiPyklcVz6W=mmxh}r-L0{AAt7R_HTupLR=^)@{cgZ6`ZNoCWFX3n#g{N$` zWol;5i^n^(UZ1%lF0!_z%yDsdv*-=?aIdhIaUv*Xx@B<;W-i`4Yc6b_+I*3vp?)W4 zb>kti+w>$vOe-NU#_Xck)CKeLV!Ts#E0hbMgKCZ?sZlY7c5GLmK~AQL^EJbTM2eRc zqe+?*w#|a(;_qDxY6iLM7NiGwBx1gXXbPUS?Qudjn(|~gyh@h8K1^~;?rk&EnEYUp zPFtat-5Vt#&vPLLp10&)mw^Q}Hqla>3t!h_bv7o0%8Ik!-^dU*RGZzb#UE?f+Hq8s z4I~E<Sm$3zd-l3<HDk1{ELKHjktG=Ci{%H_Nz$5SD~v$`KtH+3@b=<s{yevxz>0-% zy2M&@@w#x@Mv0Au$g~s-T}yngQCj?l_zqNJT@Uva%fuu{B?>R?Di%tz`^J|(-e_H0 z)<D01KebULZF*WLImkBm+P&k`{9fVXxE~Zg%C61q^pxEXJRVO>ma5Llq|{owB@1tQ zLU|9b&xdh&4z>pvF(rAf7<TuQ(YnZlCloihJ#W8h-&Xpi+;<O<psH0|kzstuMEfB2 zO@Bvhwd>~#d%!1Haa65TW?eM%7kU>3zl93ac`w{&T25@`MwXl%#p5=;r+xa571T{E zOMQE<&l)A3U(VFXO=80mLT+<Is(-f3QWqXeY{_oZaaZ$wlLGpElyQ`F&HOz@vv~S* z)sNSgPo6lJpp*3Y8~gR4uQhFtZ6Fd7i{wcS*$(U>5cH1Ixvcs7O2+n(Y_SBb#A7ec zVC)-L9gRJs=oaqt;2A{I2%pU{qEqH9R14o7Aqy$SeZ*b40Df9Dx*Ysi^413nP3qQ6 zDfQTHu2V=#$BJ)7Tp_B#O1V|?0xaW?>`Z32Bzh=uCN6MlHx4s1x-JLnm6P6+?yuX4 zJxBDasAR1FLCYIzf;}MneS&*u1-IPF$F6{Ksz~M?l2C8kFy0Il+xZrO+rq<duh+0= z?(7UnZC4Ii8Z@&A+AchPwZr~$g52Z1<UpZod3kYc)}~*C4{Lmk!mfABEV)o|FPyTC zAx2>9Ye`M#HQ|n@&T0k5()ZHEQ);I2RwL*A%bu=F)H4kX)j5#pJXd}@<n>8=^=wR8 zs^QIS$*C1NH=G8R`I92{S53+-&4%>No05Y#$;x6T$6t$UZzsEEYy;`6_b;M@i3Q!> z6moZUURmS<CF{;RcQccObYBXgacz0O;P!#}vbk%5mWIt{JP6o18PNW<z%O*W;)0cD z^yd%LZzC->#)Q>mvehnn7jJEL-@4Xs$G@(thSIEbnuz0@5KQF7Ss66AQzDZW8?IaA znB@WZFHKy@T#gJn)t}|{G&xR?n|eD=rHQz`YwGNUJ6%hmi$QU|?^evsN+-9R-%qwW zS#L5{vt97hN>Ae&Y@aG);M@ZqvN<DhDZL3!(Jg)2c`Ovg+`47_ZP==yewk#Mb`8vO zj{0%X)O-o+5bKsiUt0q4GpD#DIPaX3cWu|bRpIiGPLtb0ngShMzUE#f7^0oI>~#yD zVP}2X28MVzz09-7?&V8)adK@BqD_n(LwoJXLMC5&?E#G5_I}0>5oSuhGy2=^><u-G z{?p8567O#l^J%0p8T2w=Zj2fzx>QPve)6S3?)o!pYSXoG+Ssq7Hp9UR`4)ER3Y2mQ z{!0m;(syrq71COYNJPaH#p}eWJDV}qx6s8vmOq0o?g6Y~8xa-v4L5=+Mr@a=H?L;3 zKGIj>YG04%l`c)CyR%~FL3Dyq+J!L+X3nHQL#CCob1^Pt5{1;w@E$$yaN5e9e_kgv z$9R@gilExdJ2&=00Rkb~sQ(HzDAn!t=Gw)shxp@-Z}o4Ptb2TwyQ*oJs##2MkKwAm z&g%J3(%Fs8!aWxTeQb3dY#fWun*~Nm8&*%dv*)a5^jkPLSy-Bu!IiBb4v(TzEk3fI zFnCtw=fr&dZt-z_gBJw-P3<`5yzkgP*ski&?5Hv@-uA4hAAEBsp>$!k>Qr59_}MSw zYZh-4LHDSQ+P~hr=5uZ1wplNSqy5;*z~ah<z;o&A(%KzfI=9B2nCJBP>*fm@Q|H_+ zh^i08@tNH2aN*^TRPTqxGKs|6R~7}4ZM~cj$-g4%4(C5Xo{Qhfomh9#3_qQ;!(uTF zYJs0HHvnSRO3b6kCch(diQkNzv&8o_x!g!$j60~l?c>7bx~~OA8y|?yd_z+m_vP^b zz^xaAyE)Ex5#K0^3eU}a<(zI&M#5dEmz8nn#AX|hR<}=6i-Cd|>v6GQhTO1s5)ImZ z_2q%fTs$J^GvrAPN;K`4Z>5=_J?Yyw1Z+1lGR?oP_*Re1#+GM5a39%Fm~qJ*GxrFp zrIM|G8xVS%Ux~!-q%yw(!*S!S_mOllYzWh}IXv^+l*W;n6RTN4yu+X?rh7mWclg84 zq+E|>!_Nw&#|&G|N5yxgf5L@j_(D_qM@4z>GHxuLzZy3rjm~(z7T!LvlQE@=Tls#9 zO>~8YV;%nZO%a+}SgeCA+Dh6{`^}w&OkwR#Q%m)lpkt=*`~u#|$iCkL;Pr#>`wZG7 z(ZR@*3*3~VKCm57Lhem^^_t-D4~a?KMcs=j>&J-NGIV(?d@?EsYj1h%#&q+}5|8v( z#7mz~EUXiVq~5-HH*|uI3uW{6^EZ1_hjM;6%nLoLJ<LeD73zc3y2X)9?SEbdf1)dA zfZ*DV=9B9Fx98r`^No6SOvhdk3*7^j1@5qSkTNik4O*FfwG@9ueJz`aJ(cPc+2y5I zq%SA)ROZ=LY`$)_T0WP#-nxL0kZSo%)WAj#+faUBw(xEb2yFXUjQ}Mh_$G}ol+!80 zcRG6?em)iTFq&_C*LChw1Fe42V(iUT+!cmwn?y0$K6l&Aa5I$_uK1^KJ2rQP*129g z9`pHPpAzYI$Nf?r;>H!J;#{@K7yTY~gT9P**M`@|ye-$|u2MbWzLrKUMR>911B+7% zvp}fM+RM3&2ClUa6nztBq7+nm%Ms~w&qJ?gcXkXm5OnsvY)u<0y+V$l_4(F&Q}=ix za%?^w_%JU$IX6vI;Z*X-yp;|X{6>eQX*zkjY=YEhhIE(i{cEq`<5#3hN_Af^mta&+ zw|TXXapB23T;RIy^3>^Twg!PQtDWlSw9?Y5ixM;o7F~?97PpP)Um@jnkC)2GD1~*% z##|v=@J)4pRp}Z+n^7f=qepY0#OM7L#7Iz)@O;6{lm(#q{JC%&L7#D1=ir(HBFo6l zCxlVwOZJDB210loteYfjOnLQz6|_Wtz-=N^fHh^}npSR9bN&4ap`5K|`Ip9RP3Ivd z>s(C=4Aa{)&w8DTKWHdNOYeG#&ez_rt!M1oTGY0kr#;1yIZ_`Uc>0Y8lCQa6V98R7 z&O>3@F6@1<@1&bOp^Ux#$14lL;y0+vEKR-71)+?G8$i5Or$4m|LasDhLyNvhglCoE zj9Rp4nJ%>4>8iTOqenHP$yuH^!4lQA%6G$4vvu^`i|k`8!o{U7;x7sT93L;Q>`&w& z8O1C#b_*nX&wlzp%Mp%ngd-f`2uC==5sq+#BOKufM>xU}j&Ot{9N`E@IKmN*aD*cq z;Rr`K!V!*egd-f`2uC==|6i~-!}rqF*Vjv4R21bS0>kbhBjSYi6b*!ViHeJei2{lz z0=-~P?g(FqBf<rVQsR7nuZ0tWge!4cOBsq8dZ{B^kveBF2=lW>7EWi~o#f!0CzOd5 z1LXrfy*v@VFi4=M2g*l2P>FM2xjf289-A!63E8Lkx+`%W>|A4GXaZ43V-OH25h-CO zF)=7aTtr+_RtyRif<VQ@p`v0kqT*7*;<EB$((;m0kV9}P6GId+aA$cl4XwknFmPuj z&cjLt1O$i#NQj^@E~4Uca&n?#P*EsU7z1|}_6b7y!UBa+K3rH82RbwmK28{<moE~H zf?##R9MOKhN}Qa;*uoAg;_3BW`5!&@Ga2R=_-8UA5b3<{UzlIuFFCya+P~+|`M!(y zGyhyvpr@Ci;h!`8)s~)~zvS@o)%5rMuXFfV1bHDu%@96lKa3MX(;tEI<@&i$A73-X z4`2V$9lxqDLpcAU0PghN053m`$9_A(okS5H2u}pc*GE)bMEn<<oiIM%GyGDV6U-BV zfeB+^0m42AUtc831)EvyAakInm%JGao2bMoxo<x<#SjfgItOXMd=W~V*sXbl#l?ih z<t+Z%6iHZ2QeI5#J6j!tfcYYRXCH3l^POji@P)x)zOdh!hnp?^NiP~>fku1$)f4{X z9!~p(!TbW{%@G(R%)`jf(-DDD;{194pYId{1j<Jj<&0M1gi4BvL&U|TM8zRuqGH&e zUr0)vf8G)37m}`q5+_tb=9jd;8S#DlpzkDIPnZkhyOH0MRlU40=s=_=%om}BcJlMl zK>GN?P)-OXPH}NLQSl!{Ef1KFt2)}#3xV>1Vf&^Mr<kbtcRgB2jAsB0gUu%b6*)-% z-cRJQ?Qqa`@L!wxu;E0+q$KuL?ROw~4YZRVHuSI+4fOO9fg|Da&M<LVM=2+$up<mA zAuQ)8DJKk*f<uL+oe^SiS-3MC4nHXMK!q^|>4HSTJbqRMmD7|EmxMy4WF<A!)g@$A zB{b9|rR1a})S+6^TGFaNS)hwLaKm2~Apea8a3^_ZG{zI=tHg=KdR^4b3*oY_+zI0& zZ-v14?7L4^1o}PE1cP=$`1pL6NsAmbFE)d<E7BLC2J<**7F8dJxhvZDdrnn9U-UlX zdtPw~NeM|=*~4yw)u4-V!tD2Dn1=<z(+h!t`TAj->Y#Q1&OoAke-@cz$$z!@_hQXm zVHhtI!pG-ls)3&;5`{I>+!KxVb=~jkKeDK!J<u2<G|~rQhJgDy9mddijaEn(6vEdR zq3VhD`<n%>FgQBk?{=9X;5vT4RKg4a|Ff~$7z6_KH}ZbkpXq8Ieu%%Zu}Oa>TOl1W z2QBlXDms1$Rk)j<k1sZe&9E{54>Ds64CV4m9e&Ar65-*24*191`&IZysj9ah>>q{L z`uwBN#1G@;@y}vIm<s~s`-|=$uKCA$|B3Q@_5Z~B-3xzW{pO56k^b(JKXLx<nm=)V z_t2kMe{j_I9`cWV`UB&4H~oS1yO;hz`prpy;QZZ3f1v!`MSr0D?x8=B{@@^UFAt=z z1sa7!xg2!+zjegl<Ubt$b3Fe<(?PnpdSJI<{AW$yDgRN~_hI-)hc<y>V4etH4ASYq z;9o|>A3_Zn#{C~e`<q1mgY3I${~$jobHBPuoX~?A5OzTSQLrHr?u$kt4k=Q9GW>fX zha{OFdiKY81j-BsNBa3FaSDoy{7`Tx(?IybkRHF3ekjp|yC4i<KJI^e5SXBSeAO{% zuYVr#wJ|Ux>h}i$b{b`ZK|3Qo5Sl2M<F8{BR%i%A`N2G}a~L!R`+WIbg$V-V<AreY zMfzhOn7&9Sn8(j?^OINyjX|D8qkR97V21YHpSFtq<dUEAn>)d<28#dm9R5kFx^Kll z6m98+!3ONlQtV^i0OpIpz&zAde->y4dZB&%FbM4GObKhtkM>bVqkJ(iAKydK_b2W5 z=Jxr!<S>H&p1eQ5_$^h<1LoxZTdKMT41@Fy`nw7Zgfj+-azPx73%|F^uW}tfgaKNK zQ{soszsYrwN}Mvk%lAjPe^$RQKGZJx54m;x_LWQj5UZn6{s@e(1zH;e3-UQ=S1p)_ z&%x{(+ubbCD1^En#vfq>^E_+{10)Io!+dwT`u^JJFnX0ZH9Z{>a5w_~UH(&Sn<ISv zyp%YxDH;f8n4gEQ&v)8kX#70cgNn<@KxO~VP)DGA5g0=>{Fev$VfF)|5gOxZgN>OV z-TgQD$v?`q&`vOqf6%=zGeDqRd|f4^JUx{-C4N(Hf<gEr5dlhnbK+s)78n@H2RngQ z|NBHx2j*jbxUN*<w7~fN@V^es2RowtU8AZ81_6Tysd{;NAhFZ1{XEzg4G_hHWrEKB zP!Y7Bbny1U9N~TN*TJ72$o<z25Xk;QT^@EgZG|H+NdLpu`!4i4coHD6%VVd5kU_v9 z&KR^O<i|Py;)_1~%NObF%qjZcD9i`;TT#eAtWU%oq0TZ;sF<*<ldQO~jFY64uq;$g zOjs5Uh0DOC;m#7$2QBg4-~d+y>euy{)c&T#;y*2qzmt8?&c4_co+@_s_xmdOAig1H zumFgx2=vER$NO>lU5S$`cESr+;uQVgtht<|jHINd1XK$uA*(4NE-nX^7L$_|)6|sE zl9SfbI(Xag-G)EbT3lWX`ah|)x%B^1RsUxZg^i&f5rti63PJY61)GRM1VB8{PWx-O z|4n!Qx0mAo(d9qChxtza4}ta%TWbHOI8zkGzDxY8cPoni-v1AW1dW5Pt%X5*?sxtD z*K2?5aR0rqJID|J!z+#deuq8Kf&QPo(>NGl6n}Y0nOI>T&;Qk+rz|D}5j$|12lCe; zN*O98B?N&=N&PDRyMO<wz&}}HhJgQ{8}nD0f3jzPmhgXW(T`I9WD|DH^?z>CUxgkt z?oTh~vG4o$JCvD*mNK!T==c9L9LCE3V;nw{|KH-Mkbi|Ecl|3Ix$9ry$X)*mNACJp zIC9s&!jZfF6^`8XuW;n9e}yA={VN=~>tEr>UH=M4?jrv2ts(*iSK<udJfXa|s-g1Z zdnySLF+f&L*AQoQ|NBhJ!^88ir~F}$(*j{-xY%RX0N?~G$QHn1;n8Nro>B+kvVvs* zLhNT^;$q@*tYAd|AN#S3xD+c``RDW#f2Hr2gG-84rJi?i@Y(*kUWowqoH|eqHa!Ah z1VDQed+z}9{cj)-PS6AGO#u-AJ}xdU9xgr}9zGF19zGEXAwE7K2`Mo#2{AD#CFwp6 zFMkI1{4+9AGDb>DMp|-ma$4*!a$2f=GS$I_^zia$9G-s$0&qZ7f1Q8!0>A|zdmW$x z000QEr=Wd5stgwo2aFE_2ndOYNk9Pj;Ec4tq}YSXaPjc>h1e6)aB#r5V0;1`TrfV^ z2L#5U!Uga+sKr%H@o8Y3-eI)Rq<jLpS~adVv!^o>^p0!XnDBKTbxHH&f;uOkb}5bH zDK~COGg!cV9}dkD@?In&W@L&;)zm7yZ8dDk$GkE3p<`tJBf>8-t*E|pbm5b;e^h#L zL)X~iri`|=OTeY8C5_$VOIxx!Hm-ru8Krl6CSGsz%jup(2E}BSHT6DQ{wyG`XX|!0 zHmm$@-{hMeDgX=yfpPHgaPjbQ32|^d_m5S>#afJKN(1A>_YO;f=GU&#wmqHUQlm3- z#H>qjOR9&{C!6yWIMuZi_zX$SYFuQnNFl_U$}6qOd>rm;DYJ3o)<Zu2;kgeHsfD+H zHCfB*htdCN^M7ITucyDo?*Rqfp9*@0B=c<u=4E4Zx<4z3em>a)PmQNqW@+kDk0h_V z>J~d#6QujbpBNl&%$~iPYMjP?x_t<7VczhTf#^((vUEZ*cXGUaqkX9Ww1-MIYbP0T zDyeZ*;qEQl+UVge6a~#dmgOVe(_|lxU5a=oOEI^btfdbzvlP;~*{2h0ov&75R{TJ) zR;tRG$@3+Pdx_;*Pje)Rna$gEJQCa8@~GlZY#UWn=P(Fr%XD04EAQnEg(p3^ZkmF| znMD{iji5b1(`;4krC{a@C$E>8j;c54A%JXbTwf=YKmeI&RdXjL!<^C50!1y_d5gJ{ zJ{y*bE*GZp3=mI@%t}z5cvsLuA@bl#aFq$T0S<b7wYE0a`c97hgsJ5Oxs;QU#oN`Z z&!gR`i|fOrc5nKx_c&S5McR;a=su@c;D5dch-gvIEZvRo_nzv~@RYp95k<~F8goI@ zf;hK@EaVlY3QBM-7Jibpc4F#Tx1W&rlQz{)bTK5Vn${-MuETsW5@{5A0XTkH=T`*z z?!Z;8VAR7gm>gGR|I8F?Vrd~|)M#+4h>%F-@wj`sW_3yw9fX48Gj1kf-}*%!MimmO zUe&1SVt!txLQ#B8nyd1x-yR^<KX-cqmpzh`w^GpHRq{=G^#^ROeAfB2RR}ljJTrg8 zk|>^d&#J*o*>iD~v?k;6zy#UmfOpfKB98_^57`R3xZOH3H$L)Dy%&SqDU!jfvs9Mm z(J%CAMlYz{gU@gvUrAP?>LgXVN_9+Yrx&^&U~XRW_ij|ITMM~8<8MX;a;V<}5aT?Q z1SvQyFBnq_HBVoskG6cKDxhyxGSPrzrXyJby&OfQh@j<g4Yx=pEDycs(M?zr#-dN% zwIO#p&QK@JjmmVLk}>vJ$Yo(3FyVOpJ-a~Oz?945*RGOsYLMI=P9js2!2vD{hm%Q> z9J62v>WC6pqo%hMBGbP2?u7eHZ<t;XMDm55^?5Bne`jlLXP)xVyybzAly6o<<78zC z%Oy!tY?#@d4OfrO!AOCW7+QU*RC?343?JG(z>a^^OM^sG&neb?0{U!fKxR@p+Xolr zCpUOI3x?t-JI<VIv3un*`c_7BsLq3yYxCb6&Y6+e*WSAw^-hjg-~A)ux)!zi^34QV ztyTsrN%ARWb=o`85O2+-)-!y&#(RS?Z>rXH*v~MEez|p)s$TYeQ>9NvH{pQCqRzXq zxQ20hj9#6PP;#1Q19$j~azo>tCL<FV$AyYLz_Ar?s5N5pA#FVAdtrlExBFoN;E(8+ z=D6BKcVG91()2QwR6ZPds!P+8#KHGvW$N3it6Pxx>c!)N-~2*`PA?XVy_-zs8h-Ss zoAOQFnoxz7$p|Vcdvz+<B~c|HYNDg(gT)vmd5j@_v_ry&FQT-B{9a{1=@-MVE%esm zYG%Mr_7d^S7m|Eqj;~H}XeHgC-sBati_JSmF}+#S1vjejlFeEoYbw1pDG+Qxd@MSY zUlZrdiN5|k5-^^00qx~273z;KWPoFfY#~op<{rH3XtnCMZKqAkWTbpm;q7K2#$xV~ zky*KU67)2<HpBc<QD+(s|7?NsZ0d>nq=-9rSGp{zS|qs}*84fqbq8SMTeX6w#5sNM z1jip>UiU>x>h*h4R5QBkQd{d<?m}G|lZ>D3=CovQ)<SSvFzYXSiylO`GzK&+5b8xx zl}ROr>&16l?%wQ5N|i%R;OfOrXvDRyQxFU6c;_l!K@nWg7^~Fk)feZWJ)18o{JhY- zRuE!t(xxJ!OPg1%0^J_muB|F%Iad+RG4F3Vi>D|9IO|3e5(S&pjy_NufnGOFG%sZh zqFX-AdiPvg5=&ji48tU1(qO^GvJeC4-@dV8e&LkXi(B@bPGV<6q%xihB@=Pp3fEE_ z>Nlxka+O_e-u0J*czlMe1nAA*zMFf2u(F4er;^Shp`_S>8>o8%?;hf?q|%`!v@i+2 z>p9Lxy?9o<!u0OR0+$2<trsV|L(Xn(^%sC%=)Nv1;Vt7*OwRQhu@X}$1LqBrx8Io{ z#PLH`QR!YE=LCv)1&D-OG^YKl6Z8bigy(EKc(rG^%PraqH`p{O*l)IypQI9O;htj8 zSsbByiGF$3LoYtmROKYnzFTy0A$d-dXDn%|*PB_FQmmHPRV~HgI@3JE@-_y;+n}{@ z_4Op`da=XKF}nv>jGG+H?1V}IfBW87FRwpa-_D*HV2v2C*GOD)>TDa&lK)^av~qFk z^}DvISxXf>*>L>+@tHk<zwXXl>Q)AZM|O@q<*s_AyL`55L%&B|cd(1NE+4H(#0SzI zfzf<RhZFso6YJ{PmxWS3=ZjRnudEVDcQ1ah(0=7njAN}%o7?F7hv`NVxE}m*1**@d z_MV2jP2RptnQU@iCgdf$W1S^9?3laU0Hf;sB6ai7CPTd_br|i?3AQ&??q&~Bmg{|( zImIh$S3Xwg^xmGzkRnkVGxh@#g<b`#$>54t;>iw%x2)V^W=?c8T+8~n2k6$>=qQ;k zI5&<oSEFedtMf&vweq@7mRVWtrXTC?-)w>#GM>6p&U#{O4=A*YJCXfW=flkl2{k&q z0Gg?}>VC>xc_rb6N1M&VA&;KLzY5GGYSA8h(fyF!u2kvP^W|GlXi9@X@%fN$OI&&f z17r5%n-$%{2}Z1;?5a8+R}%Fat?^w_GnP(*y@AN7vtPC^Oh3#9&XAEC$>Dymq~CnP zeOY!EW|$U4=Z{NiXsq6>(x-yMwzUW7bwzDnY!GG&F%2weZ0E{X)b_^_kvzYun0D1F z;<*GEL`b08XdCWDm_#RW+%NeJeX>Rox1ax;Ye?Hq`6q79F<$3w>fm9pra3!+5=ca~ zxSHNsQKlN)Ues_r@z@>unP0oC{$^pxac6XVQY*=6yy9nE36q;bDOw*$i`8ie5LaJG z(b2kDmrSk=oXSvLd`6T}C+r9>H0J~3TB_{<#3x!W^x)U)9lMn7=-4bET&z(`lKnQ^ zIIlCS%1u*+mN&el%7Y^gU%;xD+e+7e{*HH#*z<6r%8)Ai4$`tj{7OCAi{m@J94ssS z<}J^Z6cEXG3y&u%2xRE^XO<>GlcqaX8%3C+w0mo0N*@UgmK4+WYzeFOCoVCEZB|UL zSd&6TdSB<XT7@_;hMXtPca|g^T{Rl1(t=RuMw47lKNmgnl|w+sc8l$N0~4AM2LTet zfB9xIZs{%MIzI^yRqB=Ki}qI<R}qd7TD`u=_(G_|6L+B$g_S+Ps*yu|WH`o=Ot9~A zH?OgUc9X=t;mVaWu55EiILW6oAfzCN!2MDRaso%=&Lo<;T(XSi<V86HYw;v5dK0>< z-L-UYH+p+)+@$NK^zQmnc5(?AsNi)1ReeF^@lzCZY$N*4<^@64Z=RD4=yJ7MUIcU` zCq|N*_JHGp*LoEo@OV^)eQB0)xsQ$Ki$`F{Jek&9Db8+!H6z+3+x4-d03peF8m)%A zSKe$HGA=sIJQs>A=huV~lf4}mhDvEx#HGBvu71PDvJm+K*-`jp1R7qDwteTTHvcVy zxh(aUsc!5J3Hov;ofBN)1QGB^TwivDZ)1$fB(NU-y`kvlEBKX+3C<i0Njwd7MS+6} zr?tG-AH6ze^wkI@bV|F||00qtJu_%W8i%LoemlQh3x}<V82fSbWUm_q>#TDC$6dxA z{3hOMht$3gl9~p6Ne^)vDQV49R)WlOLS_ONa2WH1jxEViM!)-3jtKJMxa)4m5}n!J z9uJZ<3l&TUq|C4GwA5yN=wy7)A#!X<0yjw|l1%NPO|q*fj(`m1I2j(%Y%7f_$87hd z)AdQ6ir#lfs%Pf*fP_6jH+8)~+iK|c)l(d%?w*iyzMl#|j$gE%b*?bes{T40Wit7s z{IoSM*NR$iUT>#qhB&5ID4Mndyc;V|O~JDVMD_0hP`trCAoknUk#Qkihay@5y!$bz z6iME5PRzG%KTc>Z^Q&g(vuG62U#o(j;eIDuaXISr;2t2e^C$=)BD<k2T>43bG(|EM z&T*$yfbaPuz(~7gV-aPT@X&=3mDjLEy26%bX_qpHpSQeGY@;(#-#5Bi85HASvA_z7 z;ij_q>|dqvS!`*PbaQMAT>EgjZCxvlDT7+3l;!&6;~nbk$E0c=qH%yLZveTBc>xmQ zFjd?41_p)Zt;7;W$uPcLs@FSkjPWEf!OEcLM`<-*e*vm38oj{|XD2?X^AibCsSpe6 z5Y`0Q%g+*@5ee1qxYEVuOD@=Y6F8DVhnUP(6`5|1ai>ZeauAd$u%C)%quuD$2@}1j z9DS}I1V7;;u$BbOY2_mzSytCf@Jl+sob))}`6vuefx-Rl!*g$-jg&0_oh>mxmq*vk zWM+bEK40Ud*xML6pSDYulJB6b(kIRA&R=*!jh}NZefDOm{Z0iqSRo5B7@w};QOvN_ zm5MYm>Fu#jEUE2y#~6dEb_w!vwe{AORqh*cqjWbRD!J65y)qx@0eO`4`l`Qt{3nD- zJ_)VoU@aurEKFs3?X){zZa<CN_)gBFI74(vp^!-inw^f!>m4N>3b*9lx1nIh=yewU z<9SY;<jfWfFT*~O&hw0<S&-bq{rDy*r1C0}uN#L<;|I39Okj5|l_xf=)8TfdqQZQj zaP>nawxC4?-7{H?5sfrw!{eC{0`4X@<I!)L;4odrKC=xs@hfIKa+K-d$0sv5?+(w} zQe2+-hTga!M4k8`Gbhr|($G)%hE<kLL`n}X6}XO)j9+yRzzY}W<|}YZv4_6-a58s+ z-dQt}M5jH?r2b`&T2(g}hh14bTf6b%#+hL&zT@Yzdo!S=RS)lM8%G(_sw&)w{ur`1 zeA!MPx8No~t`E&SLz@%BcGvS-#H_Kl00DZ5>*FJ{Vg1-;PR^4H8H_V$`e@DsrF{|p z+C(~GFmP6bK!!Z9L-6Ht`gm4aQGuRQJY3Xkoi4g&f;v{0hbG?U+Y_O3`HO^1R(rt1 zuSUAj+_+t{{koT|cAmp8FCv8ElzD_m-M*lg*YzkC_W(OSxeX)93)egDgxu^8hfG^I zF4tvWFrB7&u49}xmx}n-&e`H1wFg8E1R+>YHRpfx5q_JcT5hM&81i1;UM=}7nS>zZ z6Q2N)q|&!1&$jI(K7NpT60vKftlGjO=zdvS(~Fr;?lz*blkvkuFn7eZ|CiJCm$<ok z>}_n+PpcNQnblTw8EED;2b_*dEhAx~6&e87U!b@=)1T+kw*Kw?x8yU9qPrW9pc?k{ zZzejZ+ZgTA5$4>Z&WTA7I<+`~3a$A}p&DgK+D>!z>+bCf=_;|D5BMxURmU_+zbTKB zG^6B#t}7Dx7hJzIV|)E_f*n60iX!A|(2a=Hn1y5+vFt*#`J1;snZ-VLB|PTt(Z48i z4H+p~_4wVaOwejU0ll|M^A}>AX8nj@Jy~hXVW;qyulfUHIg`Rm@e^dKdB0dJ4<h6Y z5}qO`36u?DmyGLN1ziOA;z@@klk+~&rql_`5Ip-pPji)_BIMH0ixkGn<jXT??sZL} zoB7+{7R7ri{efD^=Zh$g`b$jaA03K1)98v`g@V{L3G{Mrd_(nSYCR(guP$8vaJG_$ zBO(ek@zm;KLDKj%zV4NCvb+J9<@ELE-QI5FGFRO!Q39*XmMy7NdjJapCpt;1fJrC8 zaB}(GjxXs7OS}d`z%+0qlI}%-R4;38x#}~-0K-OY0%IqqS)I;}WXgMNPc~+Gs2-HQ z0AXr4X_L5UDCxp*YfRi#yJsAl;1niZX3`a{b>bGJp~TcO+%;=mL&SBH;JK%^w15JR zLpCmKD0|^d){8V-;+Y78E}6h`LdVe9P(h>SXM#?>2ALir7w$6^MPwBwka+u>n)m7~ z+s1GBIi;^e=)S1P@jW%9UuLTj8Q9tJ)wm-xkN))?e0fdUyF)4V_-E)AK%8erZum|6 zkt({UZ>YfO$CY7E7h{)n&zX{d@IEBp>KznE60*XM;dl$Kdw&b=Naae+7|_`RXhWio ztuGz#m|>tkF<lmvJGo-)Et0P&Qw;;MzI^FPBr??S-nc<*X}uC6BXo;a)58Bnd*-Z= z=A3?|>GffE1oUieSPh{?OZy95)3vX1>C&;@&)_fh$2>K5c9)y{Z6t3{Iucn)^ibD3 z%A0d~4}$MDbXnhZ5S^`iigI{obua6kO#}$EI}S4G%rFm7w7t9;;=T%Zj~;ZNop#w9 ziS4Kwyy@}8gLWgH!A(4$CE&3cCgzj&h~2C)w>EgpW9X(c(QD1|lFre$wxCV_YNz!x zGuy`&cMXf-#IMcSL=9?BSGaMm4s0$<QpoU#C2L-g;y}#RHMV^@&9LH3e}nr`*8^x- zi19a`C#`t)8>S=G%z`OG#!UC)3W&HIWAO}PZ}Sws2sr+Ygw>{vEihy_M0@Avg7DYD z#;gi^@drY<U$lf$EgAC!*fP?#_ke!Y{@jz7DJV)xK1?nsm$5c7UmGCZYGHpQl(xIT zFg>eaE$!V2@DVW1r`_;a%HcAu&@*MFFrjhKct4PJF8JiB+LJGoc{turuDak#no5d) zJ+&>`#zVP2JzEqq)-T?r*!YQ-$&c`yq1uw+NMW<Bq3g{sB@>nrfgq0uHaym)+ur@4 zWJQ8E8#X-`JD;958FN@JR@e98kFqN*cDq?rh+mHUQbV$#7~;eqbxni3zLRln4<Ptz z&i{CjVX$u)&(-Qgr9`^mriqpgUceXOQOpFD{l_^Yg^Jhfq0I6uzM9*xqz9UuX-oDO z+1{?7zs6*k^i_{X=VDQtX~%`HyP3nKl0`Pb@yJUZkZQ&%oeB~bi}~g(ePPwPuFxbi z=8H29B{b4a2E|mibmT9uso*^J?#>pz@OXN?-it}<#m)K_BDonBMiO*;@q>!(8S&b? zDjJgxlbM<H6+M<=rX$DdkfU|D^p?+~Mm?$0X!ZKc)FIm$xeugQzcm=M-YtpoySe3E zn!s4Wxrx};S*{z(rT`^MJ-SMLlQ})VPp2rtPN*{-$>I3=waSSXxu;mSH}-(zoZc5l zuQOQUcmjKXUQ*N4v6wf&4QhYjeAb0A1N{;!UL}hmt|9h>6Zc*N)u%G}sutempQ=$9 z3$sewb!_5&og2+k5hfwi3bLwZ0O$EtH|uD{QZfYKu{qijKF@V?b5+j0z1FYN;D45{ zva){QUCO2C8XlO#@n|+8h<WW)I(MS<8F<{VV!h-rOY~@Z;AcY9W<a0MzHm33VRkwE zBtS~+LbuuwXZ<lIVUb9i{~}cD3YVqfdCtx|k*6=Oo^M(7sE+7Q?@85`mOJkQ--(D$ zy6wT*lTULkSktP7f&Q(7<mrvNiH@*GoT_J$JGS>RFP@Lt`SJH=K;Ie4nJ@KwT#6BH zWqnHJ0&lgMLS8WWK$=+n(EF1Pm!64$M9+wsad&s@?zL;q@BjprRhQ)Jh3m%YoK;jJ z)RGE=w+JAV?!zn9JI~+`cqf2kd!v!uL*1-U^DS68PI48ILQ;SE>bHKm3zXbObG!YH zA}rZa<mFX?lzpT4^#v<r?&B@22DomI2L|q?-M&|m@rg<9Qn*4PiJzoJo{J-Zr}B2} z`mMy#nL9q8G<E{BeVYOi^S1YfilTIt>%EkCIXdF3w?c`<ZG%tgg`8N$^m)(M$ZEaw z?etOLRIY%zc+zeTaiqybWF!VjB(mqNn1^nkn8CEd4Jk(jh!nc2#XoV+Zd6z<Y*W{l z$44rJ3iya@PTjDni)tLNoK2SS(~r1~3psI*bOqU)sruqX-!}K|&D4(@khPt_WM28I z<iKjrw0T^{?OWnE*d@0!aMsN~V_tV$V%93Gv+IcEvGb!AG5|Ay8|FP5jiXAclo=JD zX_?{SokQJ{+$hW~aujAYU432iChGR{3q5UD&JbK*521m#E;b`Q%|}Jw7`#ydz3Geu z9TV;qPRpRNRFTr*{8(RS{NnDd%<K^>B>-IHs_35B8{DnM_c|xkq%ct$KSxKh&%k4f zoWv4&BkpY7c&UjSe@k%U#u<O}b1}LfBW?l;v7bI)VMZhYsII3q_EVZT?dfGb?>;c6 zG`w&(xJ1Oes;id$DS_&fYj1kCkEE$pk$@po4S&m}ZhkB%E%w_BllX@?O*low$zE}m zcld9=HMlqQLRYOXwKQ>5_jqZ3$wSp~@e-ye$5>8bZT-91v5h+(9<o}!YstoHZTHR< z6DP7%H}QR7%O8H1F9bnXQrmKS=}aXq;!o4@L7zLf_d6z?zhL9CJ^QMP?{f1}zL|U$ zVpf`(sseg9KaK~#-}o6<r5E8xXS_V_krk)xr*Y{?-OOnd=FOj`MAjDU8e%lKtI_Am zUU1oJt?+u$?EtAjJ-_|is~XYq6Gqm(N|#kfAvUA4oI|w8k~>$v^nx7uXj5kijzxw% zYqr32&yK^3Cv_VmRNl(yydccDec8(VQNuB}YsmhUZ;zb@Qe0WL9Ph^89zM<J1RB0x zLRwRs*xfmLIT$}~+Ld-U*Dy119;oZm&3Tue6~DR`Kk64fBq;+mpwPQ+c4dw00i7&^ zgWwmYQ!Xl}heFez%o}R!4duQyNrK;X7HW7ZdjV!>rJYE%+}+rDyt8}PBV(k?Y$^qA zG}2q;o8mWbsJF^{GJ7P}B$0;;k04&_In!N=iKSH1JopTP<`F1}?3%n}aNftNsy!gY zmo7EZ+}J>jWOt@w50GI^b#ciyjlZ-v7G+FZ$}CsKD3pD?LXC_dnw=xyu`@SK&2wq% zbGBa8&uN`2W!JgixsQg7O*RQ_d|Z)DRD5a{BVP))WYsA;9X;K;yG=eDo8TYgiaYl7 zArV5*_!4I1MBV)a^I-fZ$3-N#%@Xoq0c=@4B9|j@6+L44<oTqE$lNcnn|5k=^sLA% zUL2Y>;TO(8GEb#x-WrKIJ2-YD<a32+FXM`P$P!mv=vc)K&A{f!2-B&j9ap%%s)$lP z59ymG7b;fhnIh6J&slhI|E|Y1y{md0gt8-iFY^OXnMvfHV6CCl8h76l*4|&nh#ehI zHsd&`R4SjQw}q2%C_R-PYOQ&~y$9er&6Gk$D;yvmcGDcf4Wt8Qm0Iqup4P)=RdeZ! zX^t1hKc0%yOt-EhSF*qrs?>_xq%B*^qh&ObBrM<>?_-B{uVsO{XYucS>U+$VF(klJ zf6Wrko+c1Pe!pR2o`=~zUEJ+yjY*dp4z=3Qr3V2_<Z<%(@CT7EEhY5g^0L^k7?z&+ z|46xq_Dle6OTb^8RBZc;ZQHhO+qP}nwr$&}O2sxRPCw_KzJnh38t=UZ>j%8y`lLqS z#O136nccCR@zjw?d1~%p-iq1n(1&Ne)Z6BL&uw%QG4YWIhsP<LRZ&~YdQw^Imgls- zLC;)B8XYK|o|MdyTI{uVdSuguNsGZnLC;_asWg9`39yK}Df+M}@}D`Bo~P$*5lP{i zz+MvKxG?o4VgiPbNQ3#XrWYY@^wm3089Q95!_#(`0~0m{?rF2~Y@5iiZSV)-IT)*J zMtQ)5<QDWxW0`84!QEStx=bjAhJE4%(4sllCaWq)?-G0`nVKw8<UiAF-J<BoY$nyn zJWGD7a<@o|A&f35Ze%=~DF+_47FeO`>TXtJ-M|J8@|G!}pkbcy=L^7^F$2(?7<6)M z{29ORO%4i)6e$Pqw*svDxs-s-;A~}L<r0p`w8ZqL=4NL5)6rD-bzb8hg|CjLNld4W z$~@`1RxEP9?_sO@`T6(NQQ-BQoyMx-l`^b#22sJj0v4aS>Ad;b7j1tMHj38RWPEHS z3CNetE$6ly#;78Zro%KPh|iASCYu--9+<IWO)Opq!hq%K@1i72PnM*Nn|&=a+%v#< zV$Zx_35;Wja<G;ThJO|h_qG)=5o-*p3HPG`-R69=h;swFeJ#yB@tjA`=E-EOAlv4| zL-fxKVwGkm3*YtTR-q;v?{e-xfS-+1j}B(w_#c}9aj?nvASt3C5xEZiTzSh;TTKhq z4(UWGI%|F;O&4N0_wpZrng3_J&~CCFbMhNWYBcSvAT4qT`9Z77-dDV!@KRej1}1ac zMy;MCpov7D%v;T$ZsXhPIMp;E#hpcW3Dqj47e$UnJdp*2)p8L3n>uLYe$pfp7a^`$ zhODDk(%f={m2!0SY*<*b%8bZ<E0G+Yewxy}i?*=};evXV6|Hd7HXx@RNz|*hvKU-x zM|_^r6GUDWyu(?Jrt3P^%#JyHO6~}Cin$dza!tFAh>f;y0zS^mV`g;lWDpd|Wyl5D zOPvdg<`EX@T))EUdIL3iEAo1P4R?m;Bb$3Vxs6JqO#He04LK3PNYriyvWW1e9;$rQ z*GytqVm_i?3ma@IwEjh0s6uNBH8KPn%~vpyT71N5rCcR(n$0(dl%DLRn{SvnOs$_G zGP(vJ(Rp__IYYw_s$^4SBSXR&*I9pgmkc5QMH4axuIx+dAr<Sd-qY#M0&GHV;TY-v z?TxDaVd^V}W9-$yujCV%EFg!zVegDok|C^}dOw1f41uyj5am0NmL1jkOw!vP>I~$d z4^OLJG31Z!=T6ZH`>eWEk9at_fq|<~jH(D|57LU^c#q_GXI7e_!T|}O6LF3Unba<2 zsb;NSmZT<%Q#*3G0z+}X``|Kt+ESqWstO$XRQUnOU^7F0=0A#9#kj6BlY|H%tIUSH zXo`ba`@yD7h!x~Xe6ctX#Q)3v0W8<Hf0nI}g=Qqf(3KR?Hdmks@=2%j6JWCxFZ@PF zUD{h?jkhCCow9PGZ6qR%T^?e!w)qVcTZJ9#WD)f)@ovG1j~(Y(aHSZqA4ldMp&qfS ztqQzrD&v4;FY%Q)I8QrXJBi?R7by13adLOhpkJCBcvoG1AIImP=c2zgf}x>;GTzs4 z+b#v^-?O3OPH`K#_%;oQc%P-%ya$U(2q#=9SP{6W+PQGgz(i=$*O`Ms(>zSXMg#cZ zF!H@Q4Z2)+<_gpb>~TVg+uluM3skGXE|qHIDqiUh^65KrIl}CD=Y4H{8X$h);h8=- zRUn`$pOo3upEu8O{}z+H5sC-INa3NAMF>O~?Opu<nkVm&*m+YW2`n+gKXqu;mmjsz zGV8WhX`RN);~!9G=>l@-VoTN}+Y8jX{phD`%Sd)59P4qC-a}bxKug{d8-_k)(iQN1 zHuY2t%IHbEgDGcPc1Ig<dhR=jV7Pjy?A-(`SDgcnCk35sy@8T#mFS)QTE~(mI+1-e znunzO;9z3EU^&>1=lVA&beW?_IwS=+eip+n8F;y^zoeO5prJBQc306~J+oIL1#I40 zghIR=&TZq+I;2((3_%s;UMd(AdllqE!_2;QQ;+N#$3tX{QI49SqEY;*w1&{}2embB zN2iB5(d`=0VZ6}G{KnK%4W%kZR=%w#CqYM&ec-R-3Q7LXOvRtYjWz*MB=~i;vl3`c zAMAtBCPn!b){IC%c+$aEspoqo(a7X~05&fJ7L2paLY+!7&-gF`5>s|Im?e0^>5nb% zM%xt!JU$!W>{AnTlPJwGgfe!_uQIgs--Qlx#m4;99xDC6*IF2*MU1iT41hzfuoX&V zjkNpiaX~xV70*YW6C{&HsljemM>|<qaxUZisvuq%*Zsp;sx7YYOUnpm=$J`Y%5G_y zIP{Zf_BJi5{#=A;NpeXmqSOMZPp33AA{Wfj&h921(r)MBT+mw?A;?RepIug1WOR0e zJbvkH^)jQ6R7m(kDxW;|F!aS0&G|$o2MwTGt~_c*1})N+^j0Ft*wSzq<*8ECHQK+D z;RT1C8^B7JP=HqEolK*FJ=u$tprtALA<(N{q{F{~tIvAOi>yxa|1?C2;vx8CgR9g9 zex1l;$&le}Hm!n$k9Pe4*nkYD@XBX8LZ-GR%B0oA94tMGq0$?X0!O}fF9XwaL7C&6 zhJ5nH&gpW;Gj9!gpKYHxt97PdWGA?3(I~xfp$gMhh$gfnFA@(m{CXjHQC*yG(0KVZ zZoVXfQFqmW)li1)<rWcmWy%)|+HkBfnrsvSt)qv-?Ij)vX=Jr?9#-H@=q3zRIE*AY z>m@{n+~I;5bJ>%23ff&ZI;qV%7BCP4rOo1`MpF=2@dAi&M=oYaxuquOlTtr`DDOJ2 zZLEfmTBn4!AHaB;zL$o=KK^J15l7X%XcLlD8I2k+d`d!Vmw!XmNDS5_zzcpyb9Bz> zS695|k;zOXcsiUvk<|wUSqfnP;5{H}b|mqL6fXjczu<gGplw;-Gj#e`NsuW%G>`+z zA%ZeqP=-!CSo3RdUWN@;E1e_gI1fk~MocDC<0{Nk;&UQO4&qojVLCC>!j}tf&EHys zlh)q+w_b*`h!!UZ^P4PQnQS^;eLy~{p57?xfFLhhim$gCmcY`VA*f2tU~_sl5<L3A zWI9Dp{!&)64yaakU8dMP8f@-vy(D1H-9e!1&-MeLp`M@umEvK?-}_k#-Az$}<Bhq# zXCNyQY9hSycx}lXV&>|CB$hu}+hz|3f|B0P(fAUV0+qviZUnZ>CD4IVJvO)MCp;LD z;=P(h);P+k0D|6X=c>^S^p^dzxCnVC7h*~RFf7YH;<c%B6@?KJQwH}!GRw6Dxej~G z#+H&_)XgYf&&7>A2_<AB*oaa@?V_{zW1$oBt8{-Q>#hU5i<{7ugs~8}@x2kZxe{n0 zbu!q|r6#*tdO8G3>5AMN#+pn<uRMUNrjQ7zO?17aU4#}DUiuWz;<<^<Ux{hp2&0~+ zk$Enra1x^9d=esv=VCB%gHVy+w!S=g2@$~ium&Gfg&|T1uze6Aw!3-|(0rou4J4-$ zSwV*uHS&RQ$-#dl+X~g{&9am`)nVlMxbA~OI@-(H7|7nA1?2~+?=%sCYYj+8OOlp4 zm((y@UZ9i`3lIcHg$_lkVQ`P$rHmCQh@^V$`2Jeve8(-=@QDlcJK8m$veJa{7;4He z+kq@pm-~sCptmJy@Z=)mU4;#7*bV!gZDL|pXf?xDRBlEh-AH+ekEXoRJoX}n%LKLB zGa?&LG+Lz1*`lpo+oH*o(9}H;;EB^EpZQ$P_$9=Is)A7O^6c`H@mdDh1I`wum)Uu- z$@=1ddRKf&bkf8v-*6_C*~~s%LAreT3vRy0We6<~AYc7A2q}z?jwimy@+=K<y!8_* z_^NegyxdRo)~<g~XH_I#tBh$<2Q`ZqfSSAds376%a=8=OoFJzc<Vd;hHn_gl9XK=} zT%rB|K$ps8-TM)GMLxIKWEvk`i!(<~`B3gK+L@)*bCcO<J<iv&TzM4Wx^OKsOimLR zp~f%~vseqM&uMv9{spPteoI*w^w4onx*78@P#sGgjDLQ-1(noCxLBEZ$&4%4MpIku zrGcr~j;y)IGl7!Wn{B=Xm>gjnJ0lA6D!?!M-Zz{x^VgJb4?SljjxX&B$B+FHCjN`} zsURZutu`y`34v-{C?JwTTg(;PEN;+C5%TI?k+Sd>cVe@u=SN3do8Q1gQFf7tc~u!- zJ8-PjB3GbN9ySlDMe*(G)FX8`lTAX7Jb`#R^DhhCaHSQW`D#}P^|!8MFOD}-q3cdY zyUBuD4lSn?Qo;xM7l*mYsAtzyvc8@ILBV&l)tH(wuNX*$bbKC*PB>70rYR{ZP6gLa z`9ephY8g$Zhdpk#SxI$Nj&dhR&5&d68wncF+hF+@nL{c)$)r+$2LGtAS|8*4dAf&= zvr5eEa5&fV{@XS;Fn+{C7n(dct2O?Q<;^B-c^%Sj;{D4evYLr3q&k&gbJ`!PMg3iv z(b*2gszmDSUtupGF;#p4Hnb@FXyP-&LR&w}F?6NwOHm|<m%C%a*1v)jy%SJ#N6n=k z;6L(GI9)5^iS(D*jH!o<Qn?^wCj#(-GTS!=Q^Bj?J4#O`)ux`&2;}ZQd6P?SW;ims zl2AxZ{c`2p?8)TihgM?AB8!)6M<VS-I&{I1Fzq_;^UYY<g$-LIHSdeE3D_E}!Bl24 z#K)OH2Ex=xk->nL9@>!9G8#><m43~-FI2}<N@|C6AJY+RrpMYE{-JP8k(A6drs<AC z%FrKdC8+XW98-!WW+k{F`oJGRI>`CH-enN`4(lQk%+m-C4}&6=UettfPuR)x43(O> zGC#8X0N;Wy9_;8q&bx0v(Y4~J-R-KWjknxYo8FquImBTLilxL%ze1>UJG=S>sxI>| zvbhE6iaMXv4}iuc8JVLQE=)@?RA<|(K|bShX|96Pb6pLAB>XRx7IJ5};rWyTy#UIm zRLWGsaIO?-=nnw%DfbJ!Bm*rFYBbI}pfCsR0lt0%(}ivF2--);wIT<SZno8C;l(Rq zb2@Nk!r1l)pb@tzYi+Rz{R7Y$5i6j7^U!`ztLvr1T!;0xUmSv~uZCf`YqAIHA)v_u zlZiG2(CiN%c)l@d0SO4Xq$yiJQ(CBj`B$_iUcx+*iXbZDx8IfGKL8!F&ouA=+L=NV z?~UUg&5W+b_zN9Fe=tf|GAvc(;e4*B46&hJA>xIhdem)kUTNg>exIgf8n^HlNi8qo zz!@wvyP!Hx3PL<au97B{vQ*c{W=@B{br@+Uh?RZm9W^3$c+c;nvL`p^tG9#VG^2JO z*tSNQ6QTJ5r=4#ISTm7!BR>G(;(L4Nwpp>&I-PUXAR2Rmpwq6#ieg&Bn^sumsx(35 zZouXbpv&dSo7PJr($nI5;cEpw+k#nwzswm)B?^TDzpqMoq~B<PIP+;Y=ivZpVBes0 zS2$6M7C{kd^7<~i1P7_tyGF&X%an|3@Ot6?^AvL=3e8WaXhZ&CtlE3DVjVd|_*aWk zn1{ZJ`9Iy<N3;Bq^G`pyEU2hw*fP_{UsMO<Rq|<7dsSRQ%gKey*$WWUaUz$XLBibN z+KZt6YhZ3a02*@9lCx6KjEjDU?D1hK)Ep4SBos@pD-e9@iJkq~IR2P;T{`XBLkt%B zDu(0!Dz|E{=u4?JRm8e6(p5Y8xZM{byd4|X`w0+ASFeV-8A=l0?}}29qVMRita`EO zT|n}h<SRyCsP(6S1>56-9XXnB3e5gu+VW~`0(EF5g2b?@J8_uAC#o5*Xu4D2t+f49 zXWVSWM)(>M16mTcR)qA!j?s6$0rujtZK&1HO8lVxwqpk^DUG~ipk5fF%Fg|~L`X?v ztdJZnn`WsS0$G$)t@Hh>7EHxMhxb=))=J_IR=GmW`O<DUNO?$<fi$bVSs-Xh60S4b zf#=aHtY;x=_`u4aDwIrRrpfjx^@hzY&HKxlmu671EMmhH3HUkaxGC~nK?1e|{tf+o z=V@A7&Z%<dC3+Zl0FSqi+dWi2Pl*LvT;ie5(rmUP(E-pWJwt{d&GvAuClZApS$g#g zD_DW36cCaZyA080N|{C$-L$jgn;GX~;xRQ>uG!kugX;YC&#>*bv7A>F;g|^mjbIyV zwbq)_-FnIWPtL7w_-PGYFmip72QS@p(eC^Q3X~!HjHo2MX-!{!8j}{bZufFwHsue% zq#uNYT?$b8$Lf*C%lgmwql~D}ifezaa}}j9m5U-Yc`F!2Y@%nvUAyrxv#xIpOw6PH zvZlRV8y%nBAFa?U+XHzL!8LPq>X|9)fsTv|BIiS<oz>$rM+pQW&Xg~PbBgVN6OY80 z+6?#OT{kVe>0pVdc<F#)b2L`Bd8UlR_q|)acG=Mc*;s#pd!-+M?^JC7yKe$U3Ew9s z6YhB$iPUj5P%*BL6RGHFkYLZ|8<!Uub(Hk-2jD_@GPdT)1>`gh@c5oq{&xKV<mM7C z5YiWyx<^@20oU@4rTA&bAf%?7-Qy*%h!hTY_Y#`+>1HqYKa?jvPd4ap{jdxhSDuDc zoT?(?-31|sj5IWiCthNlbUO&@B`!$>)~r_D9mC+9xDcNfSG;}z(+ZVi&pn4#;=6t3 zx$Jw>qK@859a95;oA)cnIlk=Cp0t~}pcBsS#*%fsCd8$#P99!bEUYSYb{Yp(?Cf@B zSi(N!r5Q#B#-=vDGH81qkw`Ng1yUZf9I*WbN*@b&-s0Ni6!mmTCh#apV%2j~ef5h9 zZ?oZ*4)Oxnu6-C_MxqDiQ>J?-+3*dNJfco?uq2TFh6uMFi$P^T(Dw!8uxH~jO@J6W z5l*~Y<XrptKAMqGETILY5URNLESD#?jABTZT~4#JR#GtWDBzKZ4xa37aYspF&Ey8` zHbX8}K-S+Jq3#X7l-mq2bMwTb#D$1QM3gsmD2;ZN`Fe24wn61J|FwS^m(fudBAE~x z9mP#f+UX#CMGYYkqS8S|;clFBY$aLdI{s_sPPsQd<XLptF}gN)5($GMcy!@oK~c_h zOI2|^*4j~!`2q?ZGX~$<geqJVssv#&U4V{tn{jC~#D90rIGSa*`yBJ(^Jd?<0IehA zFRm65`Rc)6Xfj|waMxAZxWy?;@C;3R(%TV!F3AD16=XlQ8H#o}9zjNmG_6IGX@5D* z(XkZ80Fu8S;w^(4h9^Ha88Y(H6F@J`MUz1`kw{QF@Uu$PAr_WR6YB3H-kf&u7rnA! z>sasQEBDkgU;aoGe13X)+%Q<i`BFq*nMob!Q~~Pwl_-!yV(Uyh{<*}oxh<$DJ_Ki@ z`BE|VC-6aW?@j<g!nwV#EBp+s2~8X-V=j!UU)B~Y@2yT<)hhXTH61W)0{*ERCgXa& z0;HCeB*thQ+($1agxRZt8ng|tI8Dn!nuQh7m6c+wF6Ffm=|4z4gQf{5ZD5tGB+Dj+ z(LzxMxtMG7rO|DPe}UsvTKX+sZ2|zsy`;%e4qW2E1;wRn2)Xsm4Z9rUst-WJ(QI5J z+M-6@%1Q}N($mxDPR&)WJze|?dWznl1BkLEONmkMRu<C)Q-j_pEZrSR!Ib%!YD1<8 z_((sPC>bP9raYK}{rX&5r)b1+YZgxy^VOp#JA9#>oErTB)OPt(Itj}*neI=)ep5Mq zB@jNsk0$<s9&YuG;7<h-MEK4v3u0|qY-=6IMouhiZ5%m0^!+KRZpi$uUMgj5%j%;p zlr$xYQdfwI68ix}`EuDysyTKq%t{An`9O9Y4b1e^p-pD{1@-ecs=(ck-P4*S2I0o* zI1AXk_|I!xT=0)ZZBWU4u^i9XX&cCiFeh`TC^~Oh70aY0v^|I_0h$x2FJhb@bdvi! zP)FUWlZ08+8dmO<&Ytp;w!xH~__IQ{7exEAzd7yH@+DXSz8@#RmU#T%wRby<td^`5 zO<hY*J3VZkXWQ{bz-h8<Gv59N3q&CE1U^5N)-p%NTN);dljQ=$^o_xJzJuEKQoKHv zcW1!z4`A8gMpGhlZbVPU0lT3z7tD!9-Dt|X+Q4t4fIuq&&rrVick43>jy;#3uE6k^ zt!qzG$&}5r#rseuYa?+Dr(&!E_Y(S%DsRn;i-$?{J1-TkSH(8a#p<7;0&7z5KO{-Q z#oy>_6J+r6bRDR782Scn*?*QIb7{Kecbd&cQuff+==GI_X(Y${xbQEpvqJ#9`GNA= z$=8Qf*{b0oMg9`!u)5-mUa+r3DXYs+iW|k@TR0lYGLAbutKtgU8n4c?vD#9ojm0Z` z=A7`;LhLP8wKnO(g<}BY8mzx?Y2aYXCAQn=t`&HamlPt~+?B_PCC0?(dx<aW6B=u7 zc|tq6OttLxgNm>r7aS<O=%@*_6W3r$$Z)J8&N7?y^iS$!Nz;<zqjidj-i?*@)^M;* zjb26eE5e<$E7T}g=!#W%X_ji%bq8E(O^HCJbk3_4J<B^OI4jh;X*ClkF?rdZcpVlZ zurg;b>~fX~%%3&Wb??k*j!ue=Jdgk-FFGhO^k1vEuDT~BMBF@GS}O53FAz*@-Q2~2 z6A9>-Z8o3G=1jbCj0dEd`fk~s@it;{rq)P*0cG7N6CHL<oR@W#Y2}KdW3SL)pW<b2 zgw2+MOxLNC|I!DG&a@<tWv#Js|0aG<@}P<wCZmv6LqpgekkjDN4U5RL0)lBoR*k^( zEvt|ENYsi7V$gw0QB{0BPYqW`uRWO?-scwT&~mLdV=<V2(kg!c0ALew@uR(+4cLCi zI)#}Dkz_M7T08WQ2FQxSs1Tvm1KYcTM0SQn0^9?UEV=WG;{5J05LK_r#(#r;k}3KR zuX@}zmCMiIr>zxRR|7}|;Q=ofg8Z+)gxe~g@y6qODPihB747ujP@9zzIo|kB)e>d! zC!;knBSV*p-FU8V5U=5Kfnc1bOlLp>ffI|RgH?=;S#^%}f9?0QG_<n0(q*2_;ZWI0 zf43S}OmZbkM?<aKG@X+U#FY}I<|2|$&|}oPI{4BLHaQM)J1%Bk9}%3QegItKcdQku z$Ap)n{%z_H-as2_Yb!iiE@1MA8%m<j1JnKaZO9|@x5Ecz!x8ZcFkpGA^0N#TF+yu) zVP4(fH8~baUE)sRE8$axcq?OuT;Rpvo;G5tU#YESgRYI{xAhoZT>@j{eEc%wCKY6= z!AZTLdwOFoIaBB{)ek`8++8nas~mgum=k)W+d$(<tG$an%g2T+Kd*kv%5fIDvlIS8 z_V2UWU(1*SFXuT0a}(qY0waFPFXa6U#OJ(!HVgEcjz;O6;|98&6PVAM^BG4!01B%N z<99vlJta>N(?F+K4A7Eml)3$!+22J@B*=Lm`95-+qOy1?6C<CS`9Sif?_<(@@a~B9 z+y{5_9rvTTyB|Qo)d_hj)+`Ea+qG3luprX;ZQNRKH%10m{0)TUVdkV-UI=(f4wzVN z+?dsi0sA0=DX&AK&|8F7fv^v*H#S3Y+#k!+#9c?LNFryajo|v-02|^IS!Pg#p&rQ6 z16~n#9<Ngdraw#ie?tk)Fbm%hGDn2Mc~)#c6j-}(l;SsLJwh2#r}QJd13=RKFZkxj zz077)Uq&YT-TPz5=1PLb@J)@y5RHqwWZO7PmPipq)|et50`xmzXbdJ`L(~ppB?UYu z1E@r=Wy8ZoYS<TjyDHC_yk-0!uobE(*q<h-L0$yGicc_PKgG|d!|Czs5+w*KNI~W% z&lk-1ZYSZl@RQW5Jf%SQ!?^1Z7dj{B*=EU^`^8Ww`UPbW)hT$Aw6FI}Hi!oi>1|&l z1Af-krM}yyX`E5~#T3wfdE6c047j`KvfAg(U3IJFN~#}VlUN2lqpLzx=$#M9vPnX& z{?*ZNWg6Ecj4q3@_f>EEXyO5)TlF_R2iZ|e;WQbDt`=V*9D&W8eqif5i^f33e5Ftm z6_s{-;z;BpRpATolH3DuAa0kt_z_5(B+w!2-iow#f<y6&Azljk(5-|fMt}<9ta}@F z6?s|H$u=tT!X^G+jCYC1qrW<PH1!mzG0lsct8Wdq4y@PSnIU;aKD6|RZ}k4=VnD5c zM^uc73n&=8aB+TB3K-`m$+;RMNxN71byQtx1#;RV7@=F=i!aRxkFI#3p-}U(e`9g> zrVRIEmB7yiuYpU*18xMS;r1>Kd-P>ihv)y~IyDJRwy+^W5F)b?so<|PL+Q5We{Zto zmNQNmBMwO`2GDPgm~<x@o%S1kwmw3v5y&+0vb{>Z23BZOy;icYV3dMPP2}U6#J#DV zxVk2<Qh9%}zG@QUxXp}r^J)J8sJ)38d>c*!WnE-=S1T*3Z{Yc&W=IPNUBIHPOutng zSxvEND@vkk9PNGpaE%rbKB&=_Qcw8$NH{uPXaq;5CD{}y*d~ceU-*>>N&H`wh<8(- zNn%nB)dme}jtbJrOb5~Se#gwqbi7mevl{M>Ql#TQ01#_t4BW+V*6CAP-xwlif`_Tr zIl|fW{qm+o6Pe;NKPhsJ!-Xnnor#0jE?+I#7LlYB%7Y9>WW{f7YmSz-KTWjZ2P*Tz zlE9QMV6bybZC!}r${xE$>9@hz-NZPLp{Y`D7>vWHIql=*vqL-)s*E27j~A!YAr?Ab zqT&bq9WKc-CHeZDw=x(ZvceW=!rlb+{;lnSd|lnTX5wxE&Z8kzAm7I^Z&cydLUz*% zExB84lZB$^y^$a<Pi|lmKDMH=4ptEa$dUMySpA>Tkd&wcTFEj?x#Drz-9BkhK}9iM z_dRSU)aF3$YG{=-rIDZ)LA!oEc`%w2RK10t4R|N7vbu+RaF#TnYjRM(anGxTzz992 zgYgPO?F29bi7*($u<Wf?ydLB=>zi)!qDxf>Z8EXO#fEgac^A|ZOxO}PdgUcI=<f5L z`A;f*9lQ%&st12wW4hKRXmfQK+<0X*;`K^9)*y(FV@b?OVd4cwQWi;jUT%{Xb}A2Z zh~9dMk+ep<mQ&(xIB-Ku$3xQeRas0GFE)B^BCF^KiXN}Igphrn0mvIDFD!IVgR{1P z+=n;}dR(aZyZ-8`?pM0Ii0w_yvOZpLLJq<=C(w5pD)}7l^q=K9ED8ug5|HW*ax#$X zJ6(NAI@G*O==;u>C%^FNz<o?Zj<r6wI4Z~6sfyyPhya@yd9?}nkE+@l8G;Tc@Lc0) z`U>r<klotvvx&8M3CH)^#lF}wFfv>XW&F$&R6-oeA!||^O$$cHs=T<-k|azCCGx78 z5}p!@^j25&O6epS(@*?DX3PstHxO?pf^-Pp)0ezjVBawdKozIW?s>pe`NRc*b^rh% zsGTbvZV<t8%ak^@XwI!76MGoX5lg1!#Q76$eL4@yEgAc)8MQ|n)?Xd4)seza#CbS` z`4h0cj9xd#Ep~AG$C1fa$3h+{X(IpAfD`Q|5$98WUhW-WI}oN#7953$q#={~U?qJ& z4o9gW3rzJ=X8O!H)|wV4rE!FZRtAEvr=nd1tWB3tJ?*lP@Trw7@-`VK;7WhT5~A&| zDG3s`?nVqLoV@Cgs_-;-mOEN*TMv_oStU|JuT}mM)3A#=-ykM&a2JH!kZIA}NwvIf zic>(6^V>Y?Op+1Z(-6e@6U(km`P)|xo@pPdn!cOprvAVR{kX$I5n%b6*w$eEYl9&a z`clq0BRQ$-kj7hmlnRYTc;r|%DZ<N`?C8*o4GM`={%k04ul;v36jHmf8Lk7P>a!+G zg)(WSp|=M=wibE|qk{+CeNyl^GP)Sx>1<^8R(*)p$9|ecj5Ej-S`9t&2cQ`LG(FZ# zqm)Gk7mU<a0#NNZOx~G`zx`QcLe@d@BU52bB_fa#q|wfX*zTISm-=HHp1z8}EL=GH z1AzUNBxrNbLHH;Bw+0;0#w`)E`PH?nlQug_i;NzJs+c~q=Cf)tU+4QbBVO8+V28d{ zQGL33SCTfPzJR<K>A~hFX~otLfC8E3gid@nUBm-d57$aW{!$zhC?PLm)Wn1T{;9<! zQMnbFA?nuIk-QM9ss%Od6=tOU14xl?oAyuX;kVShK9Om}VNGT|Rt$waLR-#_knM@o zVDDBrbPhtRLS-U5@4g2|7SenF0nkfk)}f2Ho1Q*L80cBONV(nKrI$H^ql6}n)u8@r zVNTRb4^)i)I1c8Ri%N4=T&3Sn-W37v!L6bIlRA(l{K*GsQ=OJXE1K0@+<cR(-WPc- zJ?{<W5M2hyW<pJN*DU(DgTEzj(Bu!uy-^05mIt6Iu5MUx9Px1v>7ONU-C&~@wVIo< zE}}z;U)`xSid1$EhlY^orOoAs<W5)9Z$oA)(W_XSSDlFP6NVM6&5~kGxfp>H)sxRN z;ho8((+pyryuIq7ahKY35dI6aNkd2pNDmq<%#o%~C(+cPql};xHHs@PNm+3*&6y!G z+b0%DD3mFO#VtrN15rc(frWILKs2Xi>Vp8KL{>^ELTp^7?GQ((aJ3QL7{d%tkzEOE zq)Fo^Gq~2`3}vW@(bgY8&{VL3j!@AOdwWlpfjoIMr-{10uSp5W2T@ub)Taz(s#iM< zhZoRT0+xK<dOimV?M#g02cQ-%&eW}d@=K;%bEeU5p}ZFKN@%kKWN-BN0At-u((0u9 zw?-~8wN@BTjtA7Y^)ROwI>#LN{3B@;&?<2wwk+5lLhuMgwpGJLs}0wR-ZZMefp1jy zSE<sfBl!Tv^Z9jDeIX@Ok?i%gn}R5A)HX*_fcxBd=tG%5!vqa;f*^Jf{c~K|g-WAX z7la~GVO$)QV6Tl*GB)w<=&;^JKv7$$LoK$fJv+_ZAuDL!H;!o;r*kRvlwDr(;FbAK zffvx?*Z{$7VBZ;aFNO21LWX$)G&qnHF)aRz<1%v`n0`a8gqmSbkO{vn4p@@BpNa&G zPG<aU{g3-W_FogE|B*PxV3UaeR<>H#Bx{ZGX9pkx_#f-y|0Dk?`TuzTZ~iNC>;iVd zKuG>q<QN4I0s#M4+xTB^0}2`f5(fMi7$^uV;Aa%Tiu9iY00=lJ01^ZY3>*vq1`YxW z0SSeSf{F%>4uHWRCSf84G7DjnDg7d6F%mXj`WXe_|F7clKdbyF{}DVu!JuIPApa>v z27m!TK|w*lLBRi83i2Q00~rMpl^6hpM#2P5$}EHqWKj|pal#-sGFC3S`+rRe7)#HI z3BAgW4*Um#6SegXjL6RZ8alf<vDt6s$njjR;6(caG#}=!%(G!Q2rVZwR=3sMmpIGo z*#(?Oo0Grl(z_GW;eXpxFu4?Gx*XT2voRN4HhV^S$({8VozJ$Vh4Qn8Ej8r#rgtMO z<_@29TGn1)FAmK3vht>Q3xscV8V`d^&JnshraS0T$?%q1V67+?n;$9!1@v!$q-iAa zw<Zcjv0vto7(Ozs{V`lp_5NXNcV$p(C_VD1T<%OW*kLqJFgYa}sxz4U5Ud~q33RUS zapezOUR;b@hH&h4gt8Xlroo25_kIL!pXOgF8qd*%E=*}6s(71a_e&+e*x4OXCz7TI zZN?XXc!YX{o7^T1LW|H;#NCPb2`hOAW1f(0EJqh6cU`sf#tP4e=Up$yp$VnUQ>V=_ z??nAB{&O5xrCsGIv3_hOJm0iGfc4062Zp+~&13W1O7mAo5ybEMJ^^B}{E@jeuD4a} zFDiqjQ~PquAAssS!RQfwme{0;5=3qtpv3gejQ6_jE#5B!f8Q(D+Va@7J}Gqtp#{Ob z!^%mHm$E9bL&-(Xjd?{dzC}?wySP4%)``Quy)_SVWo3R?3yhCy$F|`j#6v_xwsc+h zhBbwzsj}ko%#FNtk-RuZf`yJCj)*O2Ai7`vl7!32Q`D$r|Hw96T%v@Olpr#3+{&EI zsXn^09d^5~+U`6O)pV`}gY(gH3Jv@@!A58+buFPy?Pxr$NUXWWdrM8tY&uW~_7P9F z{;{9wYEU;mqs+hi@40VOK~6|YPHy;&#mwLHgmLFQNbQgA-UsQrJSQ2~u|J*W**+j9 z+N?*~_2xP(vxd?<nU^iO$L-AuW}{&!7Hp1S(kyJQwSUZ~w$o}&l&+N(j}!}G4dhcB z1FSmQSL*ewrzcNT7!xkWi>J+LbkizC#6Vf0wYOoHM%BdJCd&-vwu05f$qMx&Sd62L zopjnQaiE{^l0x&U+;g>5R^-Z7NJsQymdu`V1&0Y-AX*5qAKj#!1FNQJOB!_P2wHw| zWpUAkZ}oSz@F~-%Pi~Uzp*T>zBrp8{FbU}5otB*Vltk4X+ZSxBKUQaVi`ixxu0EL& zW_9v?Le(gaW7K0Q%clLnKQy)m&jgGXR6DF+%Q4GZ#ftx^Pn<Dcm|$uepl!MQb~&pc zBmDtX(@@60v_%<-8Qf<e^l`ZPyR!)wNW<CO?g-e58^w_~{c{HV0CsG6nGa(dA=#lp z$kHvKJ*|gD0d=ua0@GUWIKBqSKHR5k`#P94yK8!)-zn56xn-_2w^*j;B{UYtorASy z8!-&<%;-{rnMkPj_OH#|1O}5;W)_;31f6vdOBI!Of8JS|=Y4+ZHVzIxChqc}Ifrtu z8+q?Sw2INKr7`o;usL<<UfM)|NT&Tdrj=7>v%$zC4_i~@@ZY7OX&G>7%l>6pUpkfx ziE1AtMHU6YX@2?14D#^+nsf)&uy$@?>n<(M@au-WzFoxmrt66nR{RQ5&*IRA&~Q5# z7JAyCKK7Xo)7gk+haaa%n*uY*SC>CY_oc-nQ0B;ZUxO7lDPQ(Nvx(}mo77LHFXF5$ zc*QG1Nk#3omPYgo?Nyq$yZ4_>P}Rm8l#BcipwJ+DT>Qj`Z_a*DZm)>1<VoBIyZow1 zOwrO#`3GP?QhTE3(@N!E%|N`pciNUJAlqFuw*I1Aw6WnBZ*dsAR%;EPR_Az<l!Uir zUGC7%vxG8Oj7b#`eW|lTYut}i>dxKSO392~o5jVNI~Ke>E|+2;q4~lroMK&EJM%18 z^9G=B%>|L<(Phf1j!-r=_()MzN2_4sB|cNhczchZyMN^U3%OptSy*Lqx*kF%+_Ihl zD<}k6{Yw7pMY}l+vE(i?wG7#BIgx{{+$`aOAot-V+SFY6*DZwxqQag<TFiNSqEoJ0 zuK4+VW5i_Dg%-c`HUF4>;b>bX`}tFDiS>amN2#Q9t7K0nv)dMJi@OWJC-%iXQKNK& zhrD*O^nuxD3XH`VxsSWK>oQR<PMcLDeZ_+=Xnm5wobJURY3~Tg%NVEJQhTMv6rF5l zoo9OvdWuW_lB~n+7_QPoy>2RBv{)Uoo3hfFsa60wMyXm!CVW<0qGk3=36L6>o<duZ zY?%jrzJ=B0I4_I<OI@jAP~D&~Z(f$Zg|S6@W&yDIyJl0lY;J+PssAuc6FsIm$_73$ zdfq>)W>bb%I6k!?J-ayU(q-ZzA;;dz-mM-ys=;Tapu!{bJXJ)^;E<!hP^4Jd&hj<3 ztCz!zSid|rtsgJR^)wXy1L&<i<F6E*uecK2XGP=E)ug2r1Mfn?Yn__0p51N(iN*0N z3vx<q%NLyIS%K%8pig5H#5sk+WKuVk?{qw6dH_Jn3}R1D(t{}8B!zs`C~CS&m2MrF zO&-{4kr@%iT$NiC%06qM0HC=mZ*KY`>_?XpKqQtzbPYS_TPM7`_R}TDf>@n7fsN+k zS|yasFhdSo-N|x#^*+Gt7@H7>@`~{|1o{vU5A#tm?G!pF0kyQIY@<&_xC*g&Svijz zciYO~7w<Yae75V|nV8GJtI?~vEm`-0$=etnOs<2yRMot?>u5|ezBXr>vykobDfOZ( zW=ZQWIp+Mr71JB!>!>*121aRl=V<UM%XSj^c#`@uvNa9qZWxZVcs58YKGoCozh!n; z(RqB+#+C;sg?<avsx*sS)x`KomD>omt<jhx)lT#%Kg%|ixMeiIU2cWtSi&+Yk5%y6 z=1#NwGc|{q2bIh7HfGC+Q8NLR6PCQ?^1kxaM!O=5gW*fmn#{r-h_u$-Vvn9`7yXCp zXU|z3=ecR9%vtqA!wd)HLzHG~g*`ehG`C`}c5R`MygcVgDt<?EHn7LPv|w*vK$oXU zTsHU)np<3)L--IE^8kRbapZ3sdy^~cvujuB3+w01%;*)sZz!&~(i!fzSDvfV5k9=O zLUo&eH^M1&qO~`Ui5R=$ihn=Bh)uwBuxwg5=@7-tr^CgI=g?EP=;WxbY|U`>5z1T% z+&*u+d^sAV&*`1jh~NtQ6`WRX%^r4_x3&JQl2(sv%Tv9p=PWf(4QG8maM{++p7*v$ zOoM)5Oo*GcCV>p*r)W6F1spNqaK2876Mv-<KHW6Xx|(Lo0UN&${+*PTsSV_}n5lVa zZ#slqAFl6eJMpUFi{Z=MAuVBRPWDDwRWzJ73QK5Bb0u}naHOsMZB`;$cMqPml&9<- zvPn^R5B6Yr(iGMcc2&#p_CQC4XW)jj;GK!JWh-1S(`ZQa(9YuI>Qm|NBh3@W;^OK^ z<|urmOG<NDU6`Do4cVz67<*zx0&LsT6&&^_=5WVQ5EiSno_9A^4>jhEwYRwWsGeE@ ziwr8KwYt&eQm0DlWr@!;2n+lIGAwIX>*8$Jnq0LxsCoI<1I+1N5*B!lj+o^3_9N{n zM*8^JbdI+sqT;aWD+O;H$@c3iF`%AU=W1-!*&r|{pb!_K_L<2jIBLa^n#=M6{%x;e zNKuIf7-*(vxPfgJg}c$D7}6G#RX`L%yt07cJ}XD_FoO!IHyEq7AQ_~2R2=mwB%f!v z&XmaUN6^@mWB3>U033wt!;-UJ#-xetY#87*_`u?{vu$pSPYS{G=WVQ|mN~!wKJ9FJ zur4`9V7D`FVx40zl+dO<pSe9tsIPaPQUz*n4avv-Hd{lD?Fcyhv~%^Q`+YM}e5Orb zGrqQ||9&9C%?(dlrUZqXbKJ`09R}gv-y?VM^g1G8A^xkhyAgAC<p<D}Fy7ZEZ_+<v zP&8(sk=a30YqhpBGx7AL;@aQAkcW6)ROsJG<G@!`XCDrdpBo<)nR-^ilmTR!MvP){ z1uYZjpdCzQW5!@HRxs5@<7HKvekq=XBGlecnzKcTsPyQ4HDcuB?L8Gl>#(M7+}BHG zf?nfOSlr7GFen{eT#)q3@zodi>>=pjp%C??yN=<V!)ZxQ9}-EY5bbPbyw|idpS~u4 zd+mH#vpDa=7VrGWCR<Oxuy{G!v-z6zFaHXDo+Y+U`Xj-*FS_k!{N&z)q>|)vrm-gD zeS5FEzxp@wM8f@v0b_zi#cwwm#iG%RmbQkW6Eim*U39Hs7Zw(q;>$aV)cr-@n!K-S zFjSApf!_6#XA=QJnJUFXIo&hgjC}<xq8p2Z&ia<7J!TqI%*ni$qIxkH!T5sJkYle1 zuiZ8^Vt85I8-dc*+eZ&{sy1%Uu@zb0Yo>|OEaS}su_y@3z92qjlLqyhVv`TEAAtOC ztf?+m-s=<2l}xJb{&IB>q9_o9k8tZe^{{}14AH;7!KGwdvGECfaJ*|c^z!ul4_$pw ziDELR`>l;x_@Q|3hQ#XKesZF9+6ftBP%4#d=&Nf!yqf7ILeTRe^BDIXSoIn#TXr2g zX9XtuziH-<@@N0@xH1!lP^P&xb}>VlWI=n4F=}pXk85yLq2{?<K1-h(HyAxeSbyJ` zcbF9LA@2A!e^+ZPzH=R>mlw^6NBMGQ6{7t~oR`dygPvU>`b(uE%&J-MMLPKzVKN_? zM~|!eXHrkpNq5kNAxBLyx!t&UZDDtAH$PtW)s+NG!pMSlM<(trKeX{`+j9<vTG{{E zdM;RsSU<e|uuz8CJvTMINL_#CgUB4Le?rSlom!j4Od7Imk>Lfy8Z5uX{8s)ZY8Vh3 z$l`{FY7jg?;%#y@!BtgSMW%tbi8}LD`N!)^MfL(zkUGp<vSR21vehUXBYNZdySEr{ zGZ#_w8G6>tuBDK7=Gr!<lg&Cg=%UQ6J#3ezIYY^|MylkBsi!zs45IY|5K~j%Pef>W zoq9Dop`Yoxzs+pSxG(u5aNgLizxc(G_(rUfqoa_!@<IQs&-=BmpvabFcBY_<MH8Yx z?D$#DjB%T(OdXI&fcePP+qPB_v2g7KI-cumhZnAO$zi>|?5UMf(^XK5rdQIL6PNzZ z3H1>-#e`VkWfs*j=hm5(&(!(An`aJrsY#R2fH{-TuTS-4I>L1KK$;er#^q9bQOJQx z#VpvMVCr*hM=nlIYGGz|^SY%aNt*b2yB?gZqp+kdo<oP$lK$d6#9e5NSHAeb+wYL> zW)uCA%oWWOTA`G&v;tMAfD&QCCc{<KnUC_Gt{yQ~+f*TY4=rF9HOmc>UO0Y$8UNJF zx1A$^#A{$!uI_(gA<~#Y%aJv~UchS2tNLe2fxkIzQjRQXdnPHvNz`ms#Y&a1g$j3! zTUX7CPo9|iSu6DF`HQu^DTj$QWtg;UT$hZga%fRI=MwMwjAE&xsC=68M68TB4idI2 zUx313$<<e9o_ORQ7qAXVXj3B}P_cK;EgjfHgYQ6Q&DPM&*I1Q{W{UJyo#~!3G%e^- zYunmYz`(;J*VgO!kBe!1V*E2~yqpyimlT^1>*~JrR6=(;B>8b9_nbyqe6?CkO7_0# z{$*2nI-S*cL5XcrH>ND{4!h~5VcT8-gop0;`$ozPN^HK7=ME_a^ulx24tH)jSb>E2 zUt^?`{qT+U<E|Kd!p0>XK}MbC<qh%b^+)Yyd@aS2h9g4ODR;uoo4_`vOpU}*17bhA zjh5S`ie7669On8PZLMA{CKuJMmBJsudF?i3f{-W8EV(L49s}aIO3K+wK$+t%QrH(w zvv`}MsNnapY4#G!08qve^VjC{1BziGY67P-9Ge@-TD!NuN8-6R?d{5U6MNIXy9>O@ zP0hD`Q9q{mhCoRH4QcU>B9I%^!rs@Swz$pIHA0GXV|xpGi=lC%+|@y}oVD-YWQYb7 zeXKr{+FTejje2FxA>Wc273oXHFLWIo%VznM2Dp^ErDMhfD<n1DUcVxABpSs;JSM@R z&E~1Dpq6oGg&<6A?>>~n04t5}EEe@Gr7)ZYQwrA5l;jZ?l$K_iQy!&MA;UI&EHsU0 z^8RuROStz9FxeTHV(YwUx;)b44U2s+aQrD9kx*c8k)@Jh{4a;xHW-;ITW!i`oNZj0 z(^|-1NT#}EE)r~^TamT}je<2cxfj0U7QC!Y;%lnttoW1~*_!C{-AyblDwD#GdcUMt zj+m*tZ=~b9gSPsBX;7Ez|5ib0IEp|QCVSTdj*@iwd7mc7@*bM*`!18`>y}hOq&~1d z@~y2)fr75tEz~HM7v-VaCY24M)~%7uF=@O>JBfW>`eivi2ooLV_8P%ZOLFrY9wfat znNR)$YQ5&&vSSsOVSH>LsrF8}bLcG@bE(=(1o43vYnpsF*>+l1<q0)FnK#<8CO0R+ z9-PVs<;c*gEeGkjvsL%SWKMI@TC{5`x$w~nZ3ws0F?HNFzX+SQ<||uKNE&U{q&3g1 zbzap8qEQl@nUE9xi}=f=96%y9GzW3CR}(xLnff2^-{e1lWQn>4y)kE-I$PRLKZdP_ z1gtv9HdWyfSmlB11{v|}?I8TC$B<sX1&_7t*;ZW>n-^5-s9EPV?k<R<)`lu@-PT>; znZ?)qWSERE4LUgMh_p%tTyDA>9wl5E7GWC0?^Vz-8AyDM;F9DA7acmf&iMMNp{jXb zv*Iu>S8NZlAuJ5|OC%Ca;i;Vr(^_Susth+Z8gUi<=A_dZe=47;z4+h$BeM_4T}k=; zDX~)%m+A9svkqBjEvqWJnHzH}9u};-m%kNla#D2-KP!m^Aw~|1Q)u{!-{y#gapXZP zPjzY79V-!BPO-=BM+T%=tdjV+z*zxW*wB;Ovc7W&f8LkkmaiLl-{11SHFL+0S#@U? zj$1H{+BSq}TdG3mFZs{ED<R|KDA%6R?Ub{lG4|WiP^=(Re*Z<^I(z9PSjwxN7dwlN zqV;vzel1y_?VtV)!`|yhoR-bt7JFYh_uOVSJ}o94r6#%#Bj!J;(6Xu4k0|eF{kx!1 z-9z7pd5KpkJHDQ`Y%z_dviW0;zW8il{%<9%Gz&s@<G8th&J)<L92H)t>>fzNNQN@m z3Ccl@LI*dz@8}16xfsT%Gpp9Ws+V7K>Cu~P1LxE(AN~`?B8D5X*|2=@D0r%?m~A6R zzg=>+RU)bBublY=F4*1Ky7zGMaE~sXKM@Yjj~~2j#Y|resN%$_>#^4sw%?T2twf1W z)~Z{kc)z;&BeE8cm|7uH2K3yRF=o5PDHyRVXmh-6*+BhgmRv|?$3tG=Z??!)y04La zzW*M{P;f8Et9Raq3meldVG$QiaM3YV#}36hW%0E<OBGvJ>uFqCPD~235N)(`N=y{1 zO3|jAxSnG*SSykIRhqO?%eo@R_qss46v@)a*drgA|5Rr|e?4jzuWpv;ogBN?H<Rgu z0S9{TaZPqbt3b9DLD<}*fJ(EnwzKNaxYgd2LdU2XrjV+z-se40Q)CXb{{Ym|@-!`Q zYBnej<x(~~JPnXp3hw_1gZ)`uALWqMtw4h;Cm;yUk*|&qL|ZPz#G{@~^S0>5wvV-{ zZz+A%P>g4#NMu3_w;fAe8=p;e_8QH?;HS5dPT|n4nO`x1H8atZ0Uw7dcbv45sX$sn zin>AG@G9tyxh&9&z}?h?<a4&X&pl`}ML=xnu<(2`61e^)8x}70g?3wLT-eJvw}nPd zt3Exo`1nRUk_}j|(g)UlB}S-=zW5;`po>(W_S$S;H<)`cuhY`y1J)Mz^XtAF<0o;A zjEkg&OofcoUjas+1+oQ<!<?QoX{Hy+2q`<kXZyXuHC53mf75pSaF%e6iW8b8KQ>&X zNBW)9JoqDw2S4p^%}D;SB@bT-7-x5LY%hMSI?%RwVB~(3%g!z#4>UfKDRR83FW|s( z-Q%91W>7&#{nI4nKO+^us3|N5%{m~xMOENq&+<}X$zNqo%=wUP?4d3XXD0U9=h>F< zqlTt3-O$W*pB*n_{3EMZp73TCI+ZP=9-da6uUTbS86DK1-7(fSgA?0fs}0O1qW-`S zemSwe)r}8Uy&>U?uh-KpOjOGQUq{GMspyG5TR9Q?<M-g39Y}bQ!?j^#tTj0<3PVr5 zP#uBG!vxnPJNu7;brHVETCA-nzCo!Che54-Z3DU0{_?KG)O}CTqf=wM3}-?4inpX* zeZIRj<it_zt%_E2b6n)<L-&PRba7~$`r_b;Cchr|&TU(UG6GBF(CJVdBD6_vA6Hp9 zDm0!ly@bS&MK<ci0UL9zCZMR=(!9Qb&+3sjx5OTH8>VKJ%jUMB=g?7Xqrqo6Ft}`N zVVw59p$f-R{AqSbOR(uQH3^No#`O?vd%*To&U(^np51|lpIP!9TT(%ZUdU`msVMJO z6Ly<4mZWZdZ=D;j#mPW|*7_a~EBj2`AE~>d>St6X8eKo8wXnRxK3^YhU#41>I5hhQ zwh%V+X?szd0y&%XCDBThUDbtkt`QpDqiSRiQz))#!oNaBIqEDs68|)>T|}Uj=qB6l z9NpG9FO+ptJw*RZJVqV$by0n|WvIdaEl$6Hi?@IPW*7^GP@?uh+^5@n5cbm5SS#(h zg7WPKziY-*oe$TN*oJ92KAM~cC#b7t+Wly7Dc;XtHIL3~IfHACnO(Kpd77ACIEpqH z0UrGn-_AbhDg(>vBw2wXWM!v>Z>EcId=oCnz+OS>{{RI*`oGcX*c^m!dMxNBUgmr? z11n7v{7n<6a7SbH^(G|Vh_MSPqOpaE$Em8X6PlL()2l5Uf?0)os0XNDt4=H=r)rlM z%<fyH@<&0VIr{oo23za%MNd^?nGRUl+imS<HItmc^fz^z7K^TQP9HlY_~@x-G~iEJ z;q#{ySu3J~xb9W@sHI=%Ns&Y4IhV_=Mn#|u*(si;ZjOmYR4c5LTAww6EeK=oc7gFt zj;}wfQaPR0>FMhAW*jx7C2grJW$dB*8#I|S&HIa$0_S9|lGPlx=Hhw^Cgef%Y`4=j zp8o(%r=eVGd>Ra7WII)@zS!;dbAe~xpvvQSVS$0D%Pw{<c!cffEaGZD8feJKWWDlR z)c7eC{8xCl<~B%Bou`PYH0wnwq&0EaqECh)(57b0zRzS`DL0@YZWUE11A2;ue#5)D z3_GbL_UG2$LY==Q^x8d#DDAbE=V-4`6`b+r22y!w7Zp>7IJMec6|wZUb=h4-L`@EY zUtov$!IMDeT}5s=)6L~mHnxsjq%3Bp$~?9XbY#_sv#D(yr1ST!w@Y*@-$nhUBW)qL z^~9M=>{lX+Vb9kGrKW#fo2eQdPdKMP(`tjAUYkk&+mO)Br#`VaHDfv~Pyw;%MHeC( zNv!)zGd3cBD*pg_<>lS{EUsGI%g>@jTMDy-0#v)&8f@aGS<7;Bz$)ljU@pC6dafyA zj!bsTXIT-*W*GF(rcNX$j!f#KhlBQs_0zYk&(uoR0a=9EmDYeCbrDtH6ymXJHBp_q zu<oRS9Y4u{WOYu(OREsa<$Y-9^#xAM(Wp@|<K>)*ssqzGhL#lyIyg!e4qKj;x3O7e zl&l7RKzw6m3z|**Gn^NUKOMZ2ny)qFPUo%gKWh3~v#~F=%ys;pi#hCR4vTXuFI0Nr z?dW2DrE(486uLV>H8S%4y)Tp@?>phXo1smefS{R|bw^HvTFj%K+imL*Bm^v)n<qOn za}_FkjFs0#z0BBX^l0HpeH8px@VA>eZyO`h;64&#<*~P-r!S@jR!bvD`t0X3Mi3*| zZ}d#6Lj9u@T?Q?nW|U~+?`6cGKau7#YiQURbi~+WQB0c;I#~5uG%7;%$iUiSWG}I1 z%Pg!$3ZSylSwd6yT^vef;<oCU2L<yMIUkFK`3B&WMPW!)7)1~_ddxKdnDvAEGA+Id z{ATb+G2{{-x9y+kJWV(Kg56I+!1+(cbS~X0owK>T>z5D=>6bhM{ids2{{V8XaJ4=n zUgc(lRND8<coXq^kipEt=eur6%!Jh)R5xScF0aY`99An7xODoCkE>LcU>Bu>eC({u zjD&4VP)N(yeb*Gu+wu0fQJLhp@>b^GSc)Ii<=E{}Gx<XRGV+*_;&T<(Ng?e7h=&wP zy{)4)yC>6LAi31}7ad<Td2cIUPI&&l+A3+YO-*0Y=k!m}9i|jmEF+-yM@q&+S~N{` zSRu1mGWJ=OV3w<OWJ9boC*(d((#X{LCR=4r36Gk)2o;IQgAwdWW9zXo9*&JqW=aSE zLcy_Bg7J20G5kwRi1)z9%GR<E$Ms}jn)YEOqh+;em60neDs{%@(*5aK<TC!MuK4TB zzpBw)jFhx9wUX8;vTi9?Qa~1_*{q7da)!BvtxC;L3)Yg|h-e~7i_)LQqIeI;T%uf| zG%e5R^e<~wM9<Hw3nhR<XbQ&`p$nsj070DW+5Ir~i>8nkHGuM`Bez#C_{glst$@Sl z+78Y6oT4FY@^iWT;$;<vf4u#rWJPwYfmtJ9$h_z)Z-n1u%g|Mn;kX~1qcba=%g@c{ zDV}_qJL{B*n<L+E_9_xK+8pS_>ncJn7@YqAYAz|LPf0nL(SBKZR-H5PGjQ>7J+R0i z<mOM-u}jZ}Pg^N>H<_ca0TYrb-hfmU=Bz_}A~F)$5}ybAOM23DL&4(nWD0wU0(!Hs z01wzG;Pc({y=NbzvgX4A-si{B;%xGHeGpH1a#GRBWhu~Y+np^WE>V}3m9#-Q7Zyzn zg){2`1gJfqON1V&{X-_+Q7q<b7UlWo8K{`e6U$atrNf%I149L+ZV6FSG`X*J;w~SU zl(%^gd%Enl@a3Vd6}laJ<TTcoNZ9o>4W|d`1SxndL#q_S!65CeaO>r>8f9gS{F8hx zkW-g{u6uJ$1avhb@ofdlpfj`t(HL$;@vu`MIx9ukHB162MF_RNBGBra=9-h?+E2mO z<9<$LGFl7oM8#&8X-0HcR+6|wN6B|<Dr2FW)VF_vKAJ33`%57efhNd|Ph=nxX2yq- zWE>{|1Plu>Zp4spS`8O6x;~Ai^tCi=x@K9y&8^nN&&F+O5Gy!u+)J~hsdKaCIITsL zQ0iz5OR!Te8y$Rm!xuB0$?b8#M~Ro5+Wkt54)q4fgmc;qQ;gwNvVv}PCb{<Z6zkr^ zgEmH36)&&R&{q?u%F)Ne)XJrE+}K|%S#CEK9*rW%FQENyYGtmOnfH)pr9ctr{U#;i z4CTA{i>I89VI1y;#3FR*chXTa4WcfxcT_s}IRLcX5dgOp=-9^B%rKC`VuPCdPdv!3 zb+uOfMFjqE_9r2#(|AsWLIKP|3Az9jbXrQOS7l{FF=HCuw7Gfz0BM0y@KTLrEmBYG z{{Zs&9eGj#0Z1)K-Pt`fft-$6;l#!br1STcypLBl`7C-tSXkF%Idh0%3m^}~1B+;O zh6nM`m+pXN9GU&5c7SpgzTy=!7tbb%Rede8UDXP3A$ACuuB8B>3wxD;I7S(1fhKY_ zSnP84HQrt9-EZmr2YP&z0I>dG#-4L3tAp?}YsCdotc<IrDXA8TYM@ML62viAtYPgj z&T94ipJytqr<sxaqjTFe(lM}xtQCHTO`Owa+j4*(&zYbczt;_={e@+4dY%GFvf>=9 zR8+BCl$Z?&a9N9VN~l`~Rz)r!v0eZKQNBPKULg$~Rf+1|2WAJ>!BjAqJ$wHEj~_qm za5|RdtIo~4D=^MLG8$UVZStcwIA3u~=yTdj<+%8^gbKt}_0lQNSZKtR+a2Lhmg}5X z^L1C~R><K4z`oZ==Pr+qgP)pblXD+qp6DsN$>?R0=pOo-ntaoHIG4`-(phhX+{S*w z#>x1sIq;j@gPsuSTe>yTHit;A?gpuwHbt3LE^9zf&^eBvD#32<hGw#Hj-l3-GBh&5 zs2wINcCLOS+jASDeXfg`S7BaoA=POu9PyCFh90%E*wSgeBp(HqD+ksYLbj6HG#q3; zv*|TuSgke~1+sSqSKE`Xy}eWS9DmBOK+tN&Zm0z8{;?)mc4hwnAvS4-Fk%E{8c?s} z6Z$e!nJ)^!E2|RddJsc*0r}^X@>AynuGe<%M_!|wuJK+!>v}GiH#NRIH(rSGy$19k zElz7sYbf0U3!#FEtDa)M+a_Te1%-(xy1B%1ensndm)hpokaYQhcPp+KnL(HjCzeDs z!uE$cb)pzd2_)(aXP;#@+I1Gl(A2XI`wn~peCfMKnQTSLYpABFHh%3ws6Gum-GOJ3 zMk<o&<gOi^ThmUU%@qiAlwZ*4YP!0%OV1tSHD02j!O`6&&ezu-Sil^*SVB=Z13QZi zOSIUQ(ssqrNj(KtP;?ONF)~mD8D*{;R~H`}7xS}mvGElf6}?lX8GX?JlCO@`V(7mK z*VN1jK{YT<Kj^5Dw`BqB&aAv%oI0a2DiuZk*>!GDV&P9bkrb|Pk@?POm(_86v*|mT znxN5d7c?kju3VO_`xeBlx<kSWqbHoqtqG~N1iU>qG6ktAdV9MXEHq&lc%2BnqtC2T z&ytBJET|(RzD$(vcD0ZgG}&i0Ql~?_H2$p@qF(D4XXU(&i~<Q*0{PlZG)-0KprV6B zx^Ah@<tzuZ9J@|2H>%pXP3X406Ltxz*4MR?<{}x+>bg_ty~b*CnmHS#cT+1ViD?HP zeO&cZzC$d|d0)FT^j{T>61{r_%V@ruse+^>*=lgBF<a&1;ED$J-PocpRR|i(i`}g1 zg?clTLE4k*LY}HlM484k??#v7%4sC)-KJ+yq?0yA{nYkJvb(6^*M;TJ0~#}>)Gqy6 zur-_<p=n4kbW5k2^P^Mipw(>Bw6j6`G-Kx)tXyT5jW(juQw|?xf`XcQ^jD*KZEXzu zJEMs9wbKwG;Zsz;`w=;zYjhQ|`j3!c3@)-F8MCVF5HX9*YFUd>Co~_+SjS+M#HLYS zqgF0w%V*`p0>x1vzE#r7hV#q!$bAUBKn53Nw0k-Q+Newn=@T<Yeyx;!MnukL?wnCQ z#8ZKnCB#8_KyI#Cji5X6jfXWz(SMEk@>*xAhK(MmqqK@Z#BewS*f9m;%_ojSbZGYd z-=9|5#8VXUbX-}~fjUs4(Mjxdnedb5_}u~z7$p6!2=Q}L$gi{1EPO#FT|Tr;D( zy>_;34D{q_B%E1%JiL~2u=SYcw;ONi<+FZj{PrQPmDbp^N;m}RlIHw-<O&nCFgLHC zIP9M@OYUgk?9PuhnYpeF6<*WJe2FZ}En&H~zHy7sm2Z~-yTrPBjhp;e(0JI}itF`S zXW!RHm(*_j*EN~ZTZhqat79vB8=LEq)^R5qe<d9Tv-Vx0+h|@HX)N7kwi!dD$F+3c zA@P@1J)Nx4v7_70W9~1@YHMjEza!Bm{u)m%>e|U>PL>vn5B7>+r5tvP`FNqnZb7A% zwhKGTlP=gSxVc9nSkq$&<d*A7P}z|~-<9e=K#zNgD+dVd7^^y};jK%493n*trBkW? z%z#9poAjBe_B$1vh~R+B`yQV}bd%)zx8Cuho+jYA4-$7Xq1U0Ng3p!gyJ_}&q~(># z*la5Fe3n7ELuVO0@nmgc72Q0FsJUdrHa~Yw#iih~cHHNayp)os<#O`+e;o0=MV;yP z`a+K{N1%V9*;#z*kwvh+16efc*`2O-9UIKdT}GeR+K`Mc{{Y9HIn4)o(!b;FZz=UW z;Ys4|OOojcvg>d%pPtX}^vbs&?>)|E<?>o-<07&Yd%Ordfrp$FbO_&4fh%jre~$hr z*b}~Y>}SZ{L-MZ2PnG>La_e<H20osDL9~E5Y-GG|gR{7ev^3Po=6fWa>-HUGhIM(o zMKY?Wnk0KWHn@0;WyrfOPDJq`3>h5Utjv(3FY@VNr`D(umm<((AuwKUs#QZ|jBi@q zvBMchz1;|m;}hQ<anQ36ODXJuIJdQUb)k1Hl3q^ax~=yT@^=@NFY$e@tDQj0nyMK+ zL{m1-t-XmwG#RzsQ<v%0J|;7hV;XqT@Y+n3$k-)?0iC<Ol-|ZH^P<icvN_Bu=IN6$ zR-jJX;7So;D_s^f7);`M1&MT@1I*+6REEhFH+j>`9Hn}$SUiTm8_V%9r#;Q1$Z@>u zXkuZnjg3=j69__UO-=AlgDvc4G=MWUK-X9Lk8x1VXJcNU-S{W5@Sj(Z=aX2%%2!?W z9$u{nY&|+5*vQH0Gz+oGb#%__5w>(UIhQNKwgP*3I++~*0NP(Q`I)+($;OjZB<YYH zmOZL$wC~x|sA-R45(NoU)Tds*2(1sy^eqX9rH?3oe!*LWE!j%`%0VZuU|o@iJhA8K zcO1Sh)|S6O&MMim-SzXj3kLclSgroJYqHg{#=GD|uG<kcUk$as;jU5}CYd4|ml+So z{{W9S@+<n;N@%~%=4G{?MNqzA>d@-SK%%!ROcowGrc})&wS<7wIJ4vaNX^_{#B%a7 ze0QOrs@FA+du8gNWVTJSn|l;ZC0AD_vsrGnRdNnM*|ni@!Wsgthe&SPG%}+zamaI6 zpF_wxSlPnpbY7exG8S2kn=A~B#K5*?sL$)ORK7AbX@zBXZf0t97BvZQfU4g%*q1>G zx{$(bSpGsUtoEBCy=mP$bqmMsF#iCkAFwFfXo-uI5wAPR0Fu8}<=KLT3MJUkf9@01 zGKK8i@;-!KFz|bP7ek(|wzzv6++ohaOMP<_D`ZLK#$^^NDl`;CO$0#P9Z9ouV+m7` zx=sitJ1ShDa{ROS+Doj}b5*+#&SFYo<*X`%(!#<!gjg7WsHJ@uE*6VpvlkU22@=zM zJZDqYZp*dF=y_~S9c;~zSxti8KTM`sec6q?&T5RmoA%v{{>X{dn=dSahA2j>rK*+R zen5FU$AsB$v&f#0n$Oxh+Jw%ynmItmZKh#t_e?VDWap?lmi9q%gp84jp4K<pD92qU zPTJj#=_*lDK~-KfAsJi*e(UhecnridEA`;^Bj~Ix*6uW(GFJ|RvgcbHDl1H8x+_Lr zxYv|6JeDe{(cDZ021-E_Lz?B2(L-CMHpMWTQq>+K8jI`XW{RpbOZ^PAGU(>FzVEbp zKo>D?(F{|rX`t7!;C?gl_=Etd!1$v@Q7#Gvt<HZ5%?tX5gf)qCD+CwH#mvQnA_t+2 zQb42R_un|n-*;Q@^S$mPK+DG0)wd%}Hl;0GAyJ#}R})Zqx$LIJYntYOGq0j+1X@2( zP^HQgg+ImUJtJ=_gW4ThENQcunN1h#=&f{^&p~XFy8sYf1t!Vostec*5JtEx$GX=w z?_v(NEd@u)YD*oZ6KGjGjFtBLvD|R{86TEn<=E4QP(b?KwT{ZK9E^+m_Bk(;T45BS zlw@8ec8{Z~k7q4ESp-c`GJ)*p>pZw#dlOwo@_K9)TiK8OwR*7gh8?KY%ATc)Ma-?+ zDyT3Wv<CK((kasj?76N;qXn$9-ECBpdGjmCVo<<VBsj&=JBC9!W=!uzv-O6Z>t`XP zZrf%G$I&}g_Xu(#lKi#foG%u0h+*^IT;|yCOMn3fG|O}?Ge?-y`-}$zV0^bc?Fxn* zEUgYjbYn!sd^ffoMU|i$7De;dM_)o|pdPbBJg;cxASN<%`bNOIp#6G3UAA5&*^7@( zr%+Qm?hRFa6RE>-N3cAI?=jyy3io|(Ma(fV>4&n!%XfkTZy4S(VT(^|GG=2>A_lC; zXr;?Qy`HN2ddm|jQJPVAdE@27C)OSKZ*^d4ITb8arCA*m2Pwf{Wq-FvFFT{@jz!Ct zn;IzJ0G887G&x|rQn_UID1==m8N3#ifUtOl>L8Mg4AU2_=55{NbXIPnZK9^)8GQ&O zxk+SJ;}Jk+E>;C)T&Wd=#Bv7X{{W}FUWTFSxnZ2(d#=+%I<Dr61{<>v?d^2~0%BU2 z;g-U=kQcbjEo(a?742ffteMIcrS89|_#)kB37xgglRWLXp364SsvjAjX#!)gwQG>d zWT{6ttl5jIqi<>aSC}1746qv5xN`4;xYV{g<t*jwl30L31w?<zBa+Nh`+&U5c2;%j z>QCkyPPOe?pmkB%RaB~{WgjJfUJI7wf$#`Ca#Szrz2E6QEqy(FlieX<Xez8EyaKe> zTudK1*JW@Gm1yoTpCMadCmpp`_y-iTm-r=oNw3H5Wp=@FO>Hir$jiST1)+~{&!}aq zw5lL)MM{fDJp`dZ1Lt;(XR}i3&_hN(7#+c}`W*Db*0}mw4IM<P`uZeDx$5X)C49SG z%8_xub0FG~!Ro_SfE6}eJSXXEzW|u^`W+3G?Vp(bc7h7>D`&9Km~2LN<kvf(IoSO= z*?O|ed9GI`UiaRR;Rk&j{QDDpc~@1K>}e*YvFOi?)W!wyt13+_j)_wibt#uLr|pbv z3jnI+rYqJri<Of-V_8r#hYGb6TD;V&uN@pb*q%~=Fg?D0k9_t>6IBpvc(&W@p`xCH ztzit;*;cqE=Q`Szqg`>!38`cNnZ_#tEc>sa1p9-7E&Ky}{P-VT6vgH6cf5<*W_b^` z)b`_i%5j;x{nmdWoRh8T-${L!8Nf#wr(o@^o(t>P4Dz|{Qz^5s99Bl9Ii90DsBi9Q z_2@m%xZ=WnKy0QRCyTnp&IQgUvP(*@EbX49xD#HBRJ69XlNM(DIpKfC?5uu|t@2-K z-*wOKU}!cho^JNx+tXzhvYFn+%jsy@khXDw4bRHXrVs5bnxcJrTw#Rc89q-R9rx#F zS@N!Kv&4oJGZ<xEzqd?mg%w#wWvH%!tBkn~j;j6CQGSUU%v+~)3bg^ty`QQE;lij> zGR;l_XJIx44^#m9&(?SN6IhlV^D-6O(Z)>rdadWA4Xqu#(&(5n(pN|zuoDuQau&~) zqd!`?`NDpJR!Fc;NO!5}vo%}Pz^At#bo|=j<&BU{ch<&p*iDF&^dPu}Q<*MxtpL{- z(I%cHlAP1gYt|cxc^oe+KA$O#*mJvai`grupp!&9{Si0yzK*tUVDfpN6>?U>apkq@ zqnfnewSue5oIi4>Gju*aZAVnl`DEbddG~iOx0jgNXcyl=zr7QiFRz{<ijW{-I>2&7 zeKF^Of3Q$pUxAi(Txp%&nEs=kB(q{<))X(^hxT@hwm*Kte!5I|oQsDj;*0bqDy&2* zKuQ9L<hlZgDgo>4;gqX)Vt@tYA%B)aWW%}Rp|_#1#unm6abnTVtuz2kJ!ET_gpWNY zE{#Wc)GqVdQ?tGHLY7@?pPrxAZQ~fi{eFQ&fZqQAMOI&571E$$?$L&mVqx%Ee8f-y z-ziW{3Cg>6U+yX}MTsSNmZT;}{;|v_E~QkgRn-&w`IcS6HOpshY;Uz?!uQuv%N*Cw z*JJAvqiWhx(KT4Iq0O(TJ)WmmNs0?+nan*9PepTU?`0f#B5Z<iO6zBpywc>s&P%g& zRRVzhyB}NSt*lUG$aqq*wry{XnR7Ox%(YZEpfe=D8Qe@vvbv(ryHAx-(5URqQzUz& z{{Y)E1b6G}^zw{LdjlW`)}S~cK<)=#LV_Z?KD^V(Y-bR3!v*S*`5tUpq0>wLa^_p_ z)>3msze%Yjy;Zx^Q$brS4J$X93#a^7`CV$c$aOk>2EKz@(4$U0M8&G}Pn$rapwLyY z>d{~O2R9<CLi7`hG$qGz1hBbnjQ&ck{{T>QT+WY2w~v#tl(93{I8xVc!9lGJb?VRS zvXp!PvB;iO)pL6?!*kVl)3HNbz(sZ&=r*zQXEMy}AQv%qrPk`Qx$fA*P_Hyl5W)>@ zcASQ+!w+jNH*Ca^gRmRn)@g;3ZHkGM*%5kN`U?OIMP#g=>zNeC47al|dho2$5+o0m zxSmsqqR|9#o-?DcWubcXR#2>1GbuelL|Juzo*U}Botu}bcQiDQuG+eJx$B^RYm+1W zZm2AL@!g2dd<a>F-FC;gBKNTy`R|-nhhlyHl8S3&+Jr5zvo!QUwfEtz5TdJ6S~^D< zzOfk*?!v`tg!s|9sI3vQ%$`@FF3vZBqK8t+@nO}oDVd^8o3iOGRmS+&vP)&NM+0iv z-4>{D(2%)lTfcG)fD@*bPmt!=#nhdsCT>ph7<!P3FSsJIGZBYcmSJ40o`R?NNP{5I zl!9x$Xk9oO=L0V$QW&Q)d4yGrfGs8g1f@|Y##_5BDHmENWeqhAN~HU6`qe9BX)PJ! zCM7=_E8W?7RQ~HtDD&s93r^g-uPOS5LH_u4mHkn9hq?*OTTBh5t(%ysH4MsRiCxWg zl`3tNgD@5%4nj^7A&1wf^91MIYWJ>pw<ky1>UKTm2ke;F$F)bWlVHw`-DO!x0=ufQ z8qLgR6iISDRps0a^AkvCoi#*vTc3gfr^~A;Ry25B9O=le1+_K|_H#mZkPrsmiLMsn zZDOr^lyDJ^S~T!!9*o6xT+x13;<+q|il<Pl8jIq6W^~yIG@LrH<0_FIHZ<4$YYUlG z*i{2IxC$p_uj58VQz$&yqZL%HGjyO8M0K4588a117a!g3%_d^5y}jSCluW7m_!b!o z>qi|!{En>BXH_ZHQJScq<fvDb<wJdJ4li%YIm!`E{c+{&S%Y+?=d_dOlT%r2EX?@D z(Cl|`wYo5ttgoG%%`*9gb0jBAO{Di9hjKLB&YquZ#6C&llH4Czr{hmM^ZryXQJvBG z3i$oLK8_mt_6{y~m85-!&rhew?xZ@eyfAd9Hbt$2(eoPo-f<D-SIqpsCH0#F&mUI8 z_0k3KQ_y1Lc!g9HqDZLYaVqIOR7sUW4QnB&OQC2<QNgt=WkbA`w{dqC#p;zK`8nM( zYiKcjRI_!ev=H@c9ai+#d2B|9O3@sM(O6a!<W`c4j{DZSjW3T*O<O~6jggx(9IIi^ zD(V2DUTiHUcUKgjWkB<0Rzk9%WoG(ik&>?X=yB@U;VJD|<A(0R;7t`!1eyIoMP)^H zRRve0GBRrMUyz3KJ#eFyw_6nDo#|swisig_sa)<rS(uIG>1*q7cmcsix{3u=((cpv z^BZ>llBQ!|dgQhKNpUFgJx*}7JEVN82In)fy_kJw2TRN14=&ehJuQ)_N8A0IIkv@C zHE8B<KK+|V4HCX;7ZE?PKOj0Rqwb$E&dZMFUcnzJi--=FKT1Q2e2t7<vFPcSI|MV8 z@!Mp%*jU+^cw$(O<l~?;YH(-^0c{^9Z|Lh&Q!fLR&VQ6!OJAT-6<O3!%YjPPiDBff zyGMRG><r|KBKlLOw4%tU5#^+|c@Uj{A*qrhjVaOTM#lwCSF*`D3n-I1)o9HyU{#zd zu=bWD1vOVJs4A-OKoO)5r?c6@BefJN0mviv3_YkB2n+Q#KRm6-U~O^gscanZ)rij- z@|i>Fw7FJ>{e~z(n(S59SYdqyz&W^R0kKFYt^WXvZ;t%c*yD3t#^&Qwr;(eNs$?_h zWQgROFFPE`F!^fquNu8I_A_zv(m0xG+B#njV&aAr1<<bZrNrpb-Mt5Gn(4a6g|(@B zfuRAHHK$UPNNOnBClwQ+(EF@0p9`}>2p?KwICmK1mmez29y~6VpttSIR63fy9wyH> zgbhB0Ew)m~eKwa09X<u~x%FZkraKTN8`Aq|tt-;<h-)$B>-SK}sb1M7(0;Ro`E?d= zSeq8FVclMwA>|3~Mwx5yFYa1m$?IMcL%&vQ7gIL%^7Lj{her#-g8YR<C_bA-za@Je zP0rH~n!~uX)n)XU*wblDY(r}3=_Ae9Lf?Gr=d43pNP$&gS(&ZqLWM(3FAZ^Xo*ev$ z?9BA*sQ!-nS{fXMsiDqp=yH7O`oJ!KAFiod&BoH`71G>5MK-52F0oM5D%rZK-HQbZ z`47*$=i`S$ms{gAi^#rx#oo{8_xe1JF+=b?Vmn;pjVX`p=p=eOy$Tf20kzqGBs{Jz z&UzxICZnOIof~ei`J(y1&p1k`uZgLh-gytd%}bBuFdV*@A<5*CJhjv5n9#Cg-5Yti zIr>VumbDaFhmFwnF%W8}nSh63u=3)%`}oI=VLy-Mtp;Axd!99!;iUNLYYjzFavKiV z^|oa4a;b{8mOD8`nZs=95@<Yg0$HDzdslBZM~)^Wj!ra`hiRp@3d=O2)hCZc#$1=1 z)l`P!=>T6z<GzFOca(3&z3-J>>5JCra<%JtPBWr1*~Heq*Y4Wn^_!?Pv9NNvy^O|G z$-d?aJB{W1OQ)R32dk){k6XC$3JzIS`o7We(y?!67o0WuoY^I>c*)2wRNj8}il|oA z6*V+ggTE8@EK|*-#QXVvl@F9(W2fZ1*0s6)bi8rX^t&K^oZd{nJpQNVAL%l*7|kJ` zNk?TQ+1RVHpcTmrx-@(@tw?k5hNt147XprYyKl6(opuD*QR3et?y`Sn=mLJV;QrpR zhOt6KvjHqp;u_bB43lrT*Vz!r7_-aGT+E!DgDcY5W;l3swo(Uh>k&gb$t1FhwAQsj zN;?VkA64!~PvT?(>t{}*{-QNTRut+)`?r1q1x|#pW*vxCm_ThDhvbx})9vo&c(%Pa zCzHmduwGZlrl}fpHlayp2b$WZe&`=5z%4fEb8VRS>um}e!-zOPicXhFqR&gc<%0PA zz6(REb)6n<YILP<X5iBW^wFt;vghaS=1pSAUFUEyn`IC|Ei`RyB!EKUFkwJOhsikF zU=2}a_t(qO*fvewbSk1hv1Rk9!?wFjO-Y&}kRYnzMCJrBdGqXa9ZO8)%39f$Xe?+u z5D_)4byu6w;=Cms_t0)w@WS$&Z7u;Am1wi*Iu0$1rqW~D!wVM6km)GjA#<~(V~VdA z{{X*g&Up=2kF;4aeT)$o^dJI$+sSX9E00A-lUlZL&Wj|wD=PX@Qvk#x^hvesr{<kd zxZyi5iTu~tT|U1>X4`92$^P-I;~pcMCUc;=%hvh<%QLSb00i7%UqG$2FS0>irV8U_ z34@Z`0>uLjBd-HXXcvmBlcuvtIt!WIBpc5Run)d!JV?^6nwB!mn6-^%Eu$r4qu;Nz zwCrCWg5)#DX0ca#Gh0=oeE$Gh57#oApFWF5LE~71(e~TqD!*tKmOd*~J3i8YlrtG3 z8>&eTC%R_by$EeEOv>vhg9Tee%&|rUgo=l_y`ps22#Cdo#H8->^I9{X;}u@Yi;GrS ztk|AUevY?!`j%xBgTjS&V(r9omb;nEBFmz+Bol$aRSpHaa=x`4PgYULZ;{IaW}f_f z@zYhd(KjD=qg9sK?e3}vcQM`NwGXO8aq1tSe^Wg9?Tr>E?G4QK#QuOtCK@dkSZB)k z3pq~AY&DUlo?03zizB4y?$$z^!E&~9DJzQ=wPL1i0TB8*!N?w}(p!^FL%r%x;H$%V zPnQ5SDb_!e4ZoTD6V-#L<MkS#JurnKG6tXuRtSY4Wq6LTuiViH#7GW(dTZ74xr667 zgw~4RxHuii8S!-$WyBC_NL79?`rcSL>GedS`VK`U&$Q4eyO1+0Y`xAQz6El!Y`IAC zLcsdq7!sjg1p^Z`E7hHvXlDE)4uPC)pXil)vr1eP9>*O|>D@q6?dptr@cm|6gFaXG z`noYkxn4rq4P|rrIcO%^16Uimtzi+c)|ytyKEBohx;IT1Q>@wf+1E3v#Z_b%e7_Zx zFF$gt+DqGRc@nv`>lDQ2hT)Qja@HbiFQrQZEmI{&l`8ZAsMe>~FxdOdRf?)oMP3d3 z98EkeoLv<#I+R^qZAi>I%AI8tYM~@r*GjO>5Av0PmFwwCzbC0I!F?m_1ALvqBfpKG zj2ym9A`XBei}vQgesU#*oQkrxuCR9H<(m|hQi8I<<X)`=!(kgj!fBrzXW~=6B;NAb z6iCSSk!iAg<-ysVconS~SW#7$jYVFneYZ8qnOwzHq?u3xT46n5h*jc_e{LB`GW|F} z4{8Ex-Xh%T@OHEGFB@G?FNnThK-X7oWwTRIb+&ke@u8r@=Q7H$`DhR>N7Xqq*e;6J zf{utYtm7@Krr-2Ex(9&uj{8T;KGQ00Yt@;D@O3kg%nwVK7h23;D;l-cElg5<jO?V7 z8!D(g*z$OiU^_bbAi~T5$3TO2p~h%BkvRo9Xvhv)B(i|_FI6?OlhJjlfTpt9!f<3J zJc-$7%I<PHo5(4!-eM?Yplqy6Ny-Y~g6rqLukPy0Ib<osT-nb>VCJwfjCW;$ncVic zuG<rl7nP+b)h9P28xHJ^`nADw1r!E%5{%S`>D3I4L9Mh)EHQ}$r4K&G?buKUVce~H zvoU4_*@qmF(7OS0?D-r{<H)Y^oxYYAE0(V{%(;V}%35n9qakZ0Ot!ksOBXj~1L(6M zP6R-%i-TdJW)Mm}^`hbA&js^59&ZYnQ;oCrs8^)Y3PQWgu>;7?`|Z~b63cLz&nPoS zQg37<Z1Jj)7ALlhXjy-c$ge7)tzI+9{v<z{I2z}|3qQ+peD)B|Az~n^I!S0|^F?kz zo}Pu6wb?23w{uH%*JKX7JrP~AHAMdaF}u?AJwyD$sb}=5@_GE8_MC6xgeVPN9((s` z=oEs$f*kqU*PW+yb_7OsN1oIk%sig>-bg2aiImWWKS~K>+8L3*vVO2)k!j{YsQ&<~ zyz?e1dMHM6N-^HtOk`@+Qj;l8Sr{IKd=7=cpjK`|$wdeXUC2q6AgvuPoWfmhIh?$_ zbJP}HEJ;btNJ~DpfHd3(4OR@QRMAmw7XISH_p~P=W`?C|rEejP<(dYD@pT|uJAYP7 zWwVuNdH(=OyDg!06s(A6AxgdIX6$B4S^4Zku*L2CFq(cY*38vQH=h0Z_8H5r-$Lzk z7BYzC>?|EcVPl<4O;akyGdYKP>NA&&nmM9qPuf{x!I<gvFd-a_%<VUfs1jc(r;(;v zSkbS;U@pMkq$Ip9VUBALqOcxVbckNCF@af?OKmB~9Wj#@t63>=G$SQ(RJx^YaH<?v zsx*5K?<foaQm5%NPb^l2{vD=7jR&m>K_}@oD@N}nJsngRQcvwamHHi}fPpbO6+rb( zro9s@1R(R8eC`HF?xJPOPL2Xt{XSNsXB!PHT1)pu@tjVE73&Be#THI)Kbui1@~_vW zapNlt>d7mRv}u^h)@@RvMJ@WhC|E?X{v^dK`y2i~I+;y!(8X&AI@@j+Lp*g(Y8PWc zSsYN}N!L!=>D;RshMoOzldH;HtQ5diuvle5R=oCM)viM6)q8<leHpNHDP~ULvl!5C zP81S@p{a8!(DN5#-D@t8fTAm^Kr53kY@8XTUcSa|C@I1Kp-)Cs0&Jm33IqQDt`&*c zb)wpGv02R)K)m`Y(OZW%XDmr(GzzQLdVmy;OLNtf4q>EH%}IAN?Wn8cYZpzGgKFrv zK{H)eC240w+CeZ)Q$SApZLI{LH0lawxS*@1;J1^FR?IDBtui&q^RnC}@i&`&gi|x6 z1J!7HL2Yu~Wo|~6$^zcAc?@i^ejzjYqKsP4Z{I~@3w_N6x#bRf1yw1g(nMbbS|fzs zQmeORSNU33<n|aeNQAhlO!Rr$n$9nY70N^Jw(fRXj^4r;>`Le*oNG&$Rkjvlk1>?; zYt(~DfPiKa^-JmI*qKbc<24p4s$T9TWhwfx0h!rIwK}ME{lHJwgPth!D9j1bI?WZC zoFmX%{{U@!4!x9ss>?vbqbmg+fINpVj`nXs&-5g>ND%W(n<euzv)E+0p1L$0tQ5<Q zwkEVJuuh3q)5l(dI>##ISQm?ocOA@bM{kYKeLby?XJa}yQ=?}NcUjJLKq|<fv}%V| zj&@HAO)6>yoZq&ROA#bA^Uhmo=v7bZI~qk}QRblb1EanEi)<-H4s)wj4$7#!YG<t8 znNd>Bu?WLD%Ag>(EQA0R#hyXvHhHnAd^R(TbYXK5d;Ga5Q~}MKrUdJjkoAsfR0&k7 zAO^&;@lgu5mZ8{xufz6<2vnsQpl584dJ-4p0co&atVmHtWmTc!L2}QQxMO3ASk3G0 z_%U(7P^yJNL}Y1q02WCqt3Lz3JpB$!pWH6JdA$X0PEVa}Z973j(NL+^>5+37>+8R) zJfPDrFFwQwb){lbtI;&q`4w1^eNO(=<uHLWOfGz_p<A5IyY_4l3D&*TST;pfmzz{U zjQiI05b|>_C|$J;aFMz$nt;elkOpsC)O0;o(;KzULw{$UQ#qy-$9p|gw)EXf>L{vi z>S(ow!^^cKEq+CWO6S!X&VR+;FT8IlucT7x-E0~r_w^nLR$pQdj@u+UL&HA)li9=` zzEiQ6pi7Cvo$C)gfrr#Q)g*@bc<hbGVv|qbr7bl4fhpPR7Nt87SvtS1l5E0mMy#7- zI9`d%B|#Ks{iO5YmG(FVdH@GhWdTTHL1g-0Fq%zZbHdO>=Tk-I?VbRF>@fHSsl?G( zD{hPdplPNHfEo_x4@@aaRU*q+hN<82qpjt)&(L*!e=)?dfNeDMm%;D1QsnS-shN|y z^A2Uvjb)MFW{YQL7fUfG0s7RO$z~d5hA6ANLgP7&{`UhF=N-xBl<K(<x2w0Cq>`B& z_gB@ApASdB%_Wbt`YYQzT?!*Zbb>a5EniZ09?8VgyM+XNA-BtO91kDQnEkUF6w&Xo zyorHVv)b_PHjd9PM6+>_b2}@x$?o6f{8<k^o*I0OGO@dy9A$Cd*63+%53?_V*etnJ zrXyu50di`-lzu4PXtaVY-6@XZX0yw7Bh%fPW)(5uQ?Z&*yB1OGb;n~#752Dw=s9jX zH31xyPQdV3u4l+vU0)C7j~)4A#~dGv_)brOdzzlWxJfQP=gk^Qb8aKzPJbJq-csEM zanYr=_gxgnoo1r!B-7mXj&5)4{{V^K2>CHj!k)9poNBt=av40o8s{&2ay}L1x^Ba) z?K-VYw;LalbxD`na@_AXf{v2a!O6((`-sVoXnN1$thR?q`%tDXes_x!@u6_~zPrg; z`$%r~y^S!DM>~vjrR=i#o*NrOsOz>m#ausEk__lhJABYuO3OOKbw<}ab7nirzmfeH zSK%S^L*aQvIlfH|Fum5#R>dbvL!$${&hKT^^gc}O@wYsOkFUKPoV(Gyma-as5_#)k zXk@a+at=U$;qdV#pAAN$AMyMAiCb$m6p6lZM#VYH4C!Pz$#-7<v+IphC2|x7pIYwD z%HC|Pi#*+pb8xYz_}F2ZGRTG}2}MSG&3XX8sGn+lNsuhmjuM^=&3RnrPno+;zm@C! zx7F|T9$z1bJKHV;Y;)Z|Rsrl$u9G*uXQEeQpG3)By`#U*Fym*^DHhPl)~n3f2p12B zo>ztDRypLm5^8CZ!&h;a{%rBObwb-8q|ee>CK_>fjdTjt&I(+1i6W#}#Wd)4ULNic z=OaU{+7FYzcdK;rGVz7bW#RPMQB9V53{HzZtR(FI?Xz*=waGdct8}(V7;E7|s!#0r zmy_t2A5piB*mv%9bYcGh+M&Cr%!57?(R&E^bkD=$`ds1(2eKQwY>Q#5&U-1WNEOzR z*2%&c`k!goPbXWElu>Tzv>7e<{{XCpEzzSN!gn`%6`W^F_jynE>_A*CZLqul0Mt$m zR0=6|W@iP@Yfl*2(u5GovSNxEi!mqVy&9RS>OHWkjOvhZn=;OwU!<_r7c`7(12W*x zy3p2a2=dgQIx0(+Y^w3-$x!{lb7r`E1r~8%S$141d20YJSvp$aS#{=_M`>WzW&qnO z1VS;OpBM*!uGKVpdRS>~KWG-Nrb>hQ3+Je<o49la%LOBkOT<>ctrB7*Dkys}eLV|Y z&@e<c8kBXz>v30nkLJEL-hTRR9%}H2(v+bZNvMLAOmf|18dA#I;(*fAe~h-Z#Y&0_ z)M?EpTEBHk)vHW?3r=jK-DSt(WlJ~ejoFZw?orlIjLJ|j{F<Xb>cpjILh3nCq<3H& z;3-xd^*;bBfW_PSV-FV}JBhL{8fmy~9T)rb+66H{=n$w!nA7Z+IYH{CyjqT&uLlUX zD=VjSo+6ZfKZEakeuE!Z8yGVO(@;`Ajj=X7M5O4GLin8_O(?nTAX;B3rPL;pV|8V$ zknF9Rk?gV^0SK)?D^d!&b4byY7_=qx&>4mVDN?YcSWI0~d}gf8*InBPqh`*K((AN& zSxi~C(p(fp**+R0E1E<Ou&UJ|+o*cb1aP+~{{UBVL(I%t(P4sMD>AaK7BO99)wAqr zR<?7cnr!N<JFM8TQdkvW+#(~d_R9|XW0qH+?Y}*GuwZ*A_#fmNY5`RX)RV{qo>cG+ zJ-3Q_4h>eprJKzwt5H4#8Pe5;?W_g#91&I+6p6agQ`#3DbaLv_wyaE(;D;$tem@~c zs4ZjS>sv{_hK#bu?uZ~1s;^R!Wtd}AB~4jaEj3b;>jqM_k5!>EQblP!4ws}BC3f@_ z(w1ElEeAbT^2jS_S#vmb88(8Cz~Ijk3RK3qzS6<4S|w{@nw5fiUuj${^)paiMztZF zvg)pVHT3jc5#`nvn@b7?!#xK$;rJ*8bey89yHb+HP~-kC*(4T)axBj&<lP#`icuT8 zh=yizcvf~S{?{ECbz?*)4wSUmimYa(PYF_M$8esp^VL<Cl72#f8-vFx?1wbQerqPo z4wV_ZORs%`ma3a=YSb4u#>VSsf=ABDpaBTSX5gnR)qyPxe;oa16}HIS*U0^Dz*bcS zM~yol9+U6Jk<@!AqXNJp4T)-ulH@T8j!iWvW~mT^NwzS2iLtS?#y?5T7LMo}K|Xs= zqj6XAnq(DpW~NDF=z~S3g$tkU0b5+_DrMePLCr-if#fcum}@UHwcA;9W7g4gO$I%B zkrnE*53(&kM@C^*S^|!$jAN9F2&8{atmP~n$)n8~M=KXH6(V5P6~}3~9J3PWtgKA| z5#;p$0LqmdI~mzoRofy~lPdP%)7+I#3b*R0?5KVS<<C67?c0y0Q!AR>p)xTa;?>K2 zk`*E?($L3e>bIOed8ksP#A7jFzE4EY^1LOQ&ik%Hi_pI{j@-`<E^_)RX>(d(S5T}8 z9M_Z2&dSjnW0C&5MQ|)jMp*JF`=n(BTCkEj^{R^cN5;Q%f0I}NZv67<bl2GkE+2CQ zF3m`YsX?agEDZKx+`6!KDqPgpYyPr>Wcpzhh_cNe7vyD8<xx|kkZO(vyV;+lE`@XS zvC@LGdLk)$Ec9xS+8PBstEqAr8fvUD!Sh&8_=s*-eTzyw^$TgWvDIOTMp@NetC39B z4O*&*1>?~U^r>)wlU~Z-9(dU+R2f1lRT#CY)T1X<>FaJEg;peRgs}y>5Tvj3OU2b- ze*SZz)fTFF>kZ63MG_Id8mXerpD-{UP$($62?P{4xy6!YWFnfvWebAsP;vYwzK=i9 zD&AK=!=wa4Ogw>aU=RXA05iI5byNE~a2U&mmkMR0C)3r1)Xoa9qY5|jFXX>H&GY~V zPs4KFLD#<igRxD$o`r3E;SQ>cHXYW%(O6(%VT>_w)|NGwc778V^}k{b-?8RAnXjbZ z7m{BQ;tMq3u5-Oe+eRGFoeO5Q9S2TQw>I9hL%7Nuc~Ey?)Awo+DRKim&7|TVGai_- zuuF>ovQ>FgsZr9#^jb3%f<8O*B2X1qKzFOv9VZuC36EGtlR7AH7`c%vB0+X@-JAC; zNFcHLO9QFfa|FLW;v7c$KX;&4FqxO5dbPo1Z|CKsew70+u)8TLftO_|Ub*ay@ZnRJ zBJNy!mzUD#I=<MDrSe|;2xa6nc3wje$e8yLMK4{Vu#*}Ewtxa`@DLKu>j==xKFhE_ zoBk{1yjRC-Z1dh$!03Fho6uzRjc~a3(rI*rEk0(DMfw9_H#;k6b2=7fFlbwx1|0^- zsKai==Fue8rkRso*)0C+nso+($#D$)&`e1qNtRuYs28$T`vA_66`GLuU=+3OW=_S0 zE7YX#j@hd=L6lx^PhFza5fQ5~QDmB{8U>b2Q2R)-hE+yms`(Uayf0<Hs%Z0=5=K>j zU}=V!bzf0HOqq&?X`a0DRMEzDgrkBar<tn$wtKE7b+nSJuHMG8mIv3+L7g?13JaoE zQmdgmLLJRTX>(1OwBKW|(LU$w_E&5RdlU*u{At~Puy#LR1<rhvro$Q3C3D8fA=;7$ zHd-L%BI8Gt*xBKs?Czf9ld)?zky&Mv>tc<!)hqJ8n&Y|XOGp>>DhW~wHyxZ7WE3<Q z>&*1ZYN<TNhfAlGqog9cn^U!^sL#eWRw$5rCd(A7Q(#w<)KA$pD*;+X`!BQ^1cxgR zDL)>NRxxzvq~xyTDuT^QwA`>jC@7rv>OopFA~PS2Hc0mN26MwS)`!$jECNf`e{n^1 zB!CJKhxH!>lDit;e^UB%%yT?y>zoU+(1=u>Q$Py<9{^uIa{^Z@Yc?0r8)%HIFhCBf zfF`oyO$8vjJpRi_WZ@E*0y_5@U}CO@(=`UZnpsU60_%!=P7DD}S<=$ZnyPAz@u3vA z6?NWb#nEW9l9<NPSY`bPkY=ohzE~s1m4Hx>>JQKtwtz+Rm~|MK`Q#!#zt8-}CCDoC zL;_i3HlUvUg0?=n#F5f%EjWKY@LMk$5fhDD-%IVVY0F(g(AqUkwznH&liBehY}Bmh zE3)1}5E;DHdix46021OV>Uw|SdzlU-q>>A;%bqj=505%~d(w&OX9&uS)0pg04VVTk z&j;Xr6SmO?CaKqZR1UVSWb%Yr$pi_~t60&zl*!f%c8&(@jNkkLBtOb(vz2xc{<p{t zJHJuSz&j<>Vd0&D(&Uvho7QVOBu$Nq{gK|fK@e!YX-wd(;Km96043>t>O9Vvc!f4P zg>)5nNt|rF%-Ol*4C-rM+DCM%s5MLOS;g6S#kH1I_C6Itdseeb2p!_QvEO8^o5$g~ zwY}W-&qi)%$AHe4KWx%uBIcu+$TJVF9FTNHpd8Q=%SMivDQAMld<4?1J`3Zr9hXT< zvqkNdNybhm$K+73UW_^hZUG9M1@<{4F`3yIF^ks;<Jcn6e;fOZhMWZ-ET@GiyuYuP z`Q;ap#m|KDr$N+zPhj);G;3GLJrdbj{Obki#igsc(Ys7F@N{UqP%Bix&~zD;m12#u z^Qs=k1)*vlG8I$B9iv=-Kbl>xy4vP<>fsp@-<3mu<jCID)PBhB>9wey#(6%_rDYA3 zLj%;!sQYLBCOj?p#65((Qa&qWJ03~vYvg>qo!4=AJ$_3Q6Vs#d(j5!8=t-#^2U(yR z?erWMI!weFzWO<A<QFe}km$E5;?Kpt*OA28^49M&i{y<SGfCm&<aBg(eJ+<#9Hk1* z?{$@Pj85YqhK8|RCbOD+?!m^+PFrq*Mt|c@e$z!3%L4L}``;b0T%K>3Ygi+*_L`W; zN#*-8-ks>=2&puR+bZ;agB_X3>HGfxZK_<Y2r;J$J;((`J{2eY0L;8ic(ciz_3xe4 z?)c(4+%Fx@#_PL%(%anApS;%}I~Y17T~;)eHuq7MmMh;eG1R%UR?0OFn;Dpz3pyOv zedNWz8+JRcafiHT)1z%A74fQQ=(_hciqE*IZSyTFm^|}xxung?4sS)DjQMnWYOR-u zPJj{|ebw8>U2ScVt(Blm*vZn_L#5c{n9ar3%M<pZY2=X1W~u@?I6~&ZqK12^xsytx z?B&Opogq0VVPD6(e9oqd`u;|<Q`?nj<@-7&w-ScJ+}<#9<19WzaRzCP&ff)k=k#jm z9rZGe(85VKq)cY(UTrdgt(JJNjxe+FE=EE&W-DU2EZ9r!UXnQ#dn)82JeB1Kn~>E^ zffkgtDw(!PL1eL1nI+PO&}v(knll1XovkoRl2`pN(q-mPGkJHSLmQf&kErQ;y?yP^ z9Oi53fLWdEpzSnwpW}CO8!l$YlX?%<*#R>9nu#jH+4tMj$aU5B49&v-0FE5jj{APE z%-k=Mxi2?)7szF~e09$8xcU}Vj<d~5)3PTQvTa?vwK>68u4!(Eqs{5!xu|94AF9{t zqdz@vH%1G(;$=?G{XSoH&Uq7{%<^vxLHB&OR+d^wpC;DG)aSWeR<m-N{cbI~TL+oa z9-|HE37ri!kjS=J#uLZmH;%W5#`Qe|m>axLl*(Qkrc=sYpc=weO*=K1m2@==h0t49 z0_(es>2@!VxGi0ry{-JcBzfGO7V~dnQu^&*j#{yFg)K~8vyWUnk(GSxdjPUqW7F{_ zu7s*CE=u<_^+kYW12XwFe)O$sw13-@jY5&@1stF%y-`(E02rx5*noLd)5Y@rJcH*h z`*VwXK73n-eZL?s)^&O^=m#Hd9PP28zsO^0;USLqXk46(F3_)Fi=&-fV=l&n4Zc9v zU;M^b#-tA;<J?K;c|6sHOy~1@zMq;xO&;NC{Y(%X)XZI-K|7)$&8c>%^>i!%OP>ui zN5Q*m{zv3(_=*1jIW4Qv8_V88)9y3Fqt@{}A8B_v-op=@)ag8xt-|hQ3!ZlX1wi`0 zJ3ZX(M@ONi`?)|_te)2$pVyTE@;}OpKfPMLE+3x18FLhV#5M47cl(3qbA@j9(5^DC z=wkG)>MRvqS(Nk|-_&HNwy4=+j0mfQp|kOcW#q@pXZRnFJUBxdEwqL+#xeCm?xJ(b zCAz&asYhfoyG+rY5dcfeV<S0J{mUwv0MqIoU?}2)v+>J0q`5#)At9KHD_xSg%IBr7 z2aFPFTI5$Z<ZwAtcwi$04x?ptpz?2$!YRHQE%H#l*rMwXiOnqR1?_uYiQ~VijOb`~ zjIy+=!eL=q?3%E!6k&#KQ#WANWnXa$3d^uN)|12ZMS15m_LRwSQY5i8A#`AKRv<Fa zs&!KM!Dj}bQ@yKlmS(oUzPGpAnY9n0#N1Z;GAmWTu#^uoB+V$J65hi?8+Ik2OnjB8 zEh0wXmunJO4M$IC4_fEJ<&wwo>tiO6r7@@`8gyiD$5wZpOQ`*np4@!#G0QL4**eMM zR<9;w!m(15EZ{PR3=ndF1MnQTUyiNM@-Dfk-#<N_0p>2~CFaJd*C8@aseK%(_D!cl z4#G#1Fsmqv^h)(5*gKI)k8k%^L%+2KzGCr)p=nc97ipYck3!);`PFT8thmW(2q;lm zlB~5BhECz^(afb`THYo$oO8HyeC8MS1%f=Gbv^CLFYw;iZ5g9sn+xNsLWC~yD+=AC zE$c`W`5*fH8grnaNuQj~di50y-iCKX(M1h0c(qdl4=A&TyO8}xh$>L}C<m@jX(&z{ zdCe)3xU!w3tVNBP*o2xPK=fFnvv+EG)l0H7ynzI={{Y6T#L|k+Nh&Pim;yQuq^Al1 zAgZY+<c0a=c)lNF$U2S2evW$T6dD=o6<b!WFxEDO?<aRX)P4qSqQfJWX-H02SZ1Ja zLHtNfxx9zacc}clSB}?^gab_bx=d>4=aRYhqX#Om=j?uU-*6uxS#)KGfJ##1VXGVL z2!FZVc6)qwaz)FLYV+l|)+O~SnJO!3#TZ5V=(@Ir&cg1iP*JL>DG>uUy5t$rG>@~h zL9Vvhx~;yEuf0#&q>{P@(q1wKSgwGnvziteCUTVv3P1-Xp#CF)l3esJy|C8BawU>7 zFzGCHjEp9&e$-}GT9~DSd!sV6i)6Z$avT!8eQTCIGEmFfB&yBs9P_|ZpfT!8usnjZ zQP0Z{f=?`#7h{i$n7UgTc$iwtvt1A_vsk2ZT{2f4YU=}fx7IZRBG`95O2Armf)b3} zk9yk>+voP%vj?tAr_MMgNl+|}onD14p>&s;)wCKdS@in9ArTqcx&A1rmWyTYknNsg zW;e{_x|l|^<tFo0(F7?zv1lq%NM#!?YT3FJ7Zm8r*DRTJX=<rMM~(cwo1QGJ?u$i* z+A>2NGJNeLIl40}MHaONm4u2T0M|TxgAG_<OPr|C0yWOVrSV%fGE#2YJ)hXps`F(d zuyzOCa5+-UQ@HI;S;anF=(asES!lF1m+X@=>>YUj0Mx1!j=Zm7$UR3K{DM{T=sP#? z^Zx+p-Z}<y?XOwQ#7qg$Pv|BK=v->jy9wl>SS#8fag7JwVCP^G0YMj5pbo5AeQHA& zcg~PP6*Kk|Z&TM#N$7aCAkj>iZQgTDQ^3>tioFb~(nf$OvNRAcbIN1lPoI;%MYp_X zq>!#6fm-HB$|uJ^0LX0%JE5)-O=Q9|%Ynoz_fCKUy0umwnRqJ78r*?h-d-K2u-XAc z6;v$}%Zjwu1%_Jy_c<1<xRRe4RD-Qz(5%J32AQ$3T80s56zIOWs{D{A(6fW-94P7) zQ~>>n{dgO2BGh#Dsp~>1j_uf**#mSR`Ufg`><RD40Z$(ViSkDFTQx;q)k#%aq6+5G z2f_;<E~Q{AKO|_8eN$#b#~17CaWn`$#?t~+L?oF%96Z;9;xp>(@x5z33p-h?V?tZ2 zs=kU|%Z;W|9T~GiUMvjwNp*lWMe@yRlgF^fW|F-Phf)YIs?JWu*iF_0pQs9H0lc;9 z)?R{{S}EuI7J;8csu*v`m<^#}#Fx|oIJ=?a`>M-&OD~(rU`<we1|NRe;}FB5ff7JX z!l)kPScMy6gRHSH3o}qu(kg<=GIV%3cq10~{B?F(N;RyRXra#_N{A@zuB4MDZb~p} z9tYH?7b1ootT@PESK0?&JCLKFf<m|p^ULrLDe}Obd(iyr<2z1naBtvFJE+nk4f1=N z+sC?F_4`XSn&V9nVvi|<=Q_?$)ziea?PY#-GKx}BeVT)OmD6~)51r?FzXpeOuN=-2 z%4|z^`wds4$N_(2ow-((S3wPoc+jFOunGsCc&vrI@-`dZA4prm@;F%)^_$Ny%uZeW z)`t%mtJ4KdCR2Mr8TQ02SwK3luw7P)Y%g!OHDX2|jfk!bN69uWgl!zTe1tasd&AUa zoVN7y)ow&-*UAjCcf+&-BTKb<GOU?xBLS8UwM$U7x=lVjUoT&D>5K!ML6OX;^c7;o zUzV*E?7>R)^|~_v?ofRJmYH+A2P(t`28^g2DzXBEqK0L1pWNj3>%j#=u_PW}t?cys zje&G{IK3Z7pOG2)nt2&vZgF#>gNc0SWRk^}2^SLi%YD-8tz=rZTC}CCd9VYod>J}g zTWylNWp`F{$Mh6N<qfQ<GXtpHthtGyr*c~?3^S$jTq-ORTG^|scBBQt>0xB*^t>L{ zXfn4EQLVhjfBTD67fwqG6klfmdnvb=v244vVN~k4Lkt;zo@*4cayVTE!4aS-j`6Lw zZ`kSVXUzeun=J$mFLGMdskMd}S+!3&&l-S;DYNr|C1G<buw3V`tPB=##YawtL0u6Z zvuYl}RJ#OUQ!I$(k0<`yjYzfYJY$L(YSZgTw?Euv<Mr$bX^OjWy%0B6VjPmK+OKz$ z$?{iosL$wPuVU$KbT3~pPUiDG&RWKs>+EQ;DuGeOObAU=5rOFJyqZ%JQxTzyN6>LT zO2JREaH!Qjv4wO;&rK_FW~_VUw1#0F4sb&FYik*%SP5kAzPs8D23bCtXu|YD&ET>$ z5T<B)7lHDGqa+RFbXP5YMhx0*RF@^N)?nXSqznekJkrPve<LLtli7AUon_GZa>HIz zGbqU_JS}VU`K#>PNxwm^wn?#ZGgx09tSnuH*Mc3r3fhoz9Al)*$7C`vqc|ywJ*w5U zF0lz26G8xBNi+lma=?zEnSaf`m~XM~hg4VNnWWLwe{-WUB5--?TlOu;LBMnVK@=gs zX>@)w<%NW%!AG0RbUW#1SOUrqOVViS?Ca+RJxn|{Ld%uW!h+Q4)G9`VTE<!p^GJpK zcXFKv8i$iIxoGa!*761-IoV{(I5s;SmN`8ho15sE?7DuJoGzCg&g|m9&F8dtveMc< zO5g<#qn0R7ODd`QzOB{7_crdn?~}ugB<FK<6!>e(@%v>aCa$;~2-fG#pd4*sXQXG1 z8j7Q__KcjeVYCZgCpYBA^gB~M;}`i&jDvN6={i={Lo-+zy7&Qe$9fpr8T3Y)Gl$a$ z<tkjzvFAJL<xuQ{I=RBQxw!iHwW&JMPh6GA_UFZETUmkkvSg#aMjA`o2o*e&K|E!} zo;=&>N2u^)Qx&z508jw^K<pw4Co4y(o7f>F33YDHNe<U>=dSNt%b5yr-BZo@^N_>C zU%WokTe*Ydw|5v5JnUz%tu#|MdkWOKO(;Dkw)6BZ!<`0V4UMZSd)K#Y3@1B>v2t{I z9ZpReqQ(-*{)byPx_#$%{{UW(H`3}Ag|<X6yG!%*=g3TrEa&sy*BKfvMqv2Y!G2U& zn%!n*_mbxew$>JLIsD$1-6nRXMrzwOdr&;kNg7=4m<;z-Ijn1L`~qo*HsOMdY%@Ah z&v@?G9X8IU&u+$Q%5&M+Dr0jww_lw7jylA?(Fd|^JkWF<QFHTzQq^NOotzjTGT#D8 ze2v2PIC{KBn&Rd{p)vY(Sk}(S8E;^EGb-c?<h0h_&q_fS9T~$rXc-ld^p<v{Y+8*r z>E1)tIn%ic84=_PC|3A#So6SPk0Z@jfXUA5c>XwBZYQ;)sm%2NE~dIzpEllhq4hJI z>9Z5(#+qt3etjyYs8dTqXQ9zu2tMXUrPrq9mf6eQ$zzh|UeD9Y7;|#Dz-4Wy4XDg) z8b-l+H`v(MK3I**y|RU@n$h~=WhR%k6fEBct{;*cTW6BScH1esohzTs;ALoRxi9NI zvR&PF73K5ajT>m{DVY0v8F~$<=6q#7U00rlt$G#<zFz3fw}r?tqP|l6+gc80U!jH7 z&eX(G?4%t_W;>OV6E~}0)qxV)^QELZhg^BeUvb1E89BDd{{X0#b_%K@R<^xrMCR<Y zn?07(MY7BW;%rbepIVU0Shzf>!A$*3S%gn&0z(xq#|cNEBr{3n&^qzi)w+{b<Np8^ zvkRrx?<M~Lsd(Vm<qe^`#VE=7OoqXO+v86`yQj)7F<22fnh&I^T}&n+zs`QGr1VkN zY3!!dT+S93ig7S?k;3CS9P~1>Gbg!agn_OJ8sWZS<C^Gf{6Dg<JJHUzaqW?Obw~Tv zdP*tpB5O^coF67koCSRS$N6Wc)vAW-_+Dp^o<~~?okQScdK!5y&fvMuZx8JYF(;X> zCYxUxRl^S2S=|On{{XB-a`c>+J>)puPo#61eT!k`gN|Rwo3YddPw7%OnWxBXn=HFc zr^~gsIJ-D*-!C!sw1v;<CW*7d-)wVp+h39Y03dQPt49%=O3gBukU}zJ>-MDC{{Zac zWK=yYiULhkF&Q*&av#&eB*RijjAdsE{d>@J%}WvNVp@_22?PZSx#P>?Xm;Iqn7M6l zCM(N$&F-FA@o$Z?INqk5uJAB)ax<0bdLi*WKRbFenV}i{?HZ(NUsxpB6l{oWA!2NA z;|5;m8{;VEe4W#9JqETW{*GQF8NIVS&SE^Ka+%0uW#?fBi`^DtsmjenAiLi|5)i3m zuD&|?<Av*?{CV-O2A5Ih<;kVwuPIO<=auE*@6`Cmly6TXqr<MoE=TDsdUaUcW<D`` zU1$0Jlb7b=ou<Drg|pE9lTQwo-=F;F%js*ciHZ2&q-t#IZfR$ifbtIT^E5Ox81&9f zto;efSrv1GpG8s1Sp=6Kr2RN#jIhCbyu4p6)nH=_Vmv0eb);{N8614L;v|`orw7Xp z@^Se!q=B`ak=cEIrNZ-;JGis^9I$3tvOL2%EWlUR$gBwGq~`sXj@2O*Mtt(z@VT7x zW@mJbuam5~b#<*oQ$u<PE3IpzTO5#8;2<<LM(PsW$ImasvbI0AvTbwwD-J@q$*Kk~ z3?$~As(L-24#<G*>hiQ2=C!MOnxmnvqXoRu!l3SYIs);q2K5}(78v$}1i9^K(?z`p z47%emw0<`hFv2zi@k;7c0wrx>uqpXTH6vqld=MRI`kY2?rEc4dT(#2Nod<7eRuU1x zMh!GAni1R&(qKTK=>R1Q1tqF$>~}uXQ;hXuMX2+-Iz1Vt-Dk?<hv=uLU=R?XumyX4 zPT}I&O+!}v8Bw~g7IrPb;IVI1EXv1{pmEfnl0hK0YGy6jsiS>kW^Xp??u}(4lx)k} zHKRVIR?s4JUC1KK(Q+U{1nN@mJY%y8*c7?9`hP#68acfeNnp3DqmXwRWmWH}joK>p z6DT^viv6>|g2ikrT}uowI@X_InPGQN`YXhc$=1%~yIEwj7h1#U-x<QSzMzW~RM`ev zjfNL*;IU#r8)>ykq5d^!3)p#&6<a?%Me*jHf-0nXQ*E?1?K-R0gO;l#%T}VP>uXuX z>@vj3tx#QBj8(2VIeScnlMHHL(1c%NzCXA~Q7913wWwrfR_@Bgll-5K57Y4KvIx^7 zT#}2?)6y~@wOEgr=M#hhS%<?CKab!75V-Ir$r5{Ij?Zb^@$M6OJxq#-xCPDIPfi?h z>h4{lRmFia&3)q#Q@sc1$k=qo2@ak;TSuAZvG;+wtQ|geY+i#??<yo)*wN8w%n?eK zw{sknjMbYW0A&<eK8q3c+9jziy;XOR3X-}!)~adT8OeXbEG%-fT&n^GyU*jVmd28{ z1bhaeD|W6D4wg0QDp&Y`%-!Kp7O3lvr@%5UU5Y%Q97$tQ+EqDhpKg;jkB${w&E898 zMRcH+r?!>W*uFurbgGm##VF7Uoy#IA1XX0<M4A_(^jfMvUWz*Q`pYlFH7ky)xe&y& zbrs50qWfq{@<hVQY!OHkQbVZaJM>}>Ty;JT*U(E-o516&6tt9Q5%P>u;a!@TV-}ut zG;IweW~-8us>B#qmh1s9LEF~ERW*MVyss5XxgIR0-V+TkkS>9*+9*r9kk_*r`4zct z5-^(78QLJeYb!0mi|mpJK=hH$`TBFvXBQ2|)XHuPLJ2N?$;y0fl3?R<4WuNALE4ZT zoYx~4NFlGy=(y-EwEXzW{{W~CZP!?scd1k&co}M4DlHZI!OEhCbQ#bnw8;Ll%F=Bl zCFoXW3H(Vgw*FPGd;b7#47760wrs9ciS_ULMF3#IKVR`uN}j+V0L#F&CP5o%cjSgv zjA1t{I+MwKw<TNnQaB_ILY@yEd$Ioj5x*jL*|rZwoOV=0Pdi657hFn*RdLN9^eT;< zGjh!q697%Z6_Q@-G^s&Kly;K85%_`m3Cbv@o<ELyEyOHq(G+2P!XvSfSG3w1BKZ!= z$8P8M4)+zArg16mteBO!jkWH1^P;fppeS*6g`^9cKw0_FIVqW55J_Bg`N}Znv(Ec! z6u{<#nr<C*^YhB_h9U)fuQ?wjRdxK~9e0hm<a8fFe4szi`0K9PqHa-k+1ly0v%3zP zk;17hZ~c>k@ehC8@8%MwA79~ZVF;v@=rR23$}(P1hP81&RlU!#F|nCYiZ(&v8JfY= z`Vo7%F2QNrvWK<NcxR7d9F3;iWsf%`N<2s3n0ZiVg^who)zqq%vXMBJU&yXFarKy@ z@Hd+R(?ACylb_iUxnb;<YKHF4K3=lL&>;c+Jm+Dsvaw@80k5#8Wow~hXBKJy03l$@ zhv6S91$!H$%}pH!z!+I48b+G{yiz_&MhRtY8o{k%3bd;6RxR-{VKicVq-cftjpOc- zT+Tnne~z9ooXoX8xO6;-{{Tzke;H-INV8A$I=VO=j<4kRn)kFAAodyA@~7mnRo|+w z2_GCaT{hNpMSl^zNBH&m0oif<uXo3vuj)ERG&8m{{9cB4i@Xb;uHK<e;8j0XFEV*C zW3Vj69uGm{zTb`8*Bv7LCMJ1<r$yx1{{U+?J6gUTADQX(#EEwNO*U@Cnz2u0(APf} zeL)OA9A30uOF307BAZ#~pKG<NI&Hic%KVO?l|z-}*qS-4q!>$;!q?`ymf<;}UI_$# z#Cv|S6HmihSLZDJoy=zba*J(tH{MO%W(`2yW7h@67gCDn$Xh!h7K;s(j@XQ^=p_SM zOnx@@I~K4p`Td;~&>Ex$gJaBv8>Vq?MIDhZuBxi~)q?zB`&t1U7A7VSQF}kolZgCe z{BiKNIj70^qsLiZKgHF#&8i+`rb)d`27^#Ducfp}Cg#5BX<Am@2CjpfR;a}i>{Mf| z5ss7jUw#+t?{hnwembvU-!rXUaA<d1y4^#gAd>>MNgy;qW-FM{RbN5;>M000q$z0W zl1}j4VTt`X?_?s!?hJzzM54>Z=Z()m;B{r(*e7Dh^ad<mv+T?n*@F@H%k2z}M83#S zv1&S7E6;Os+&v7-7Y9cap*%9F9=7X33o%j8kSwpn9`7hbby4x0pxjgo6&HKHJxDcC zF@3})dz}Ni1A>@k8&sB76qbgxP$Y_&a3%5IU&|R6Hg=RaRcdS&1Fy(lOgJCLMPlge zSaX`?hhkETrCXN3Mr7u)3(WhAZ}I!YD02E7&nM2{b1Sd|P#0gE#3+<ttHQ%#lw3LO zTHzSQG?m{})qzvuU{haM%x@|G04J_P%yzpypXR^ij$^CPw#rAxyB;<1?gmLn$r}3M z4mSkHO!h#EVpU}|`pp)XrRFW5Y4*$sxBi}dt}uW2zdaeXf984G4R@q6lmNXBMD5f7 zNCBI%05J!aXWldS^X%RZNWRPM4sJ3Q{ohsPn*mjs1Q8X<$9V={fEW8}q`6Vc5%uPK ztML~1Zi;mto7i=@9lDOwC>l%XD8cRTs>A?cD@cSh2IU(AsUY619`>lJy)_@iMGQ>Z zz127R^^h@i7My&$PM1zs26@pakXdE_07@{5>o12Umj3|ibV;SXqDJom^kBF0dh-7O zFIB&xf0;j>k^N{2x>LQ+C)(�*U=@b@jUrhjcVaIi&|_t~nwHVn`MZJp(k2zvc1# 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 P$OC|l*ZKWNAP@i9?%5+X literal 0 HcmV?d00001 diff --git a/interface/resources/qml/hifi/commerce/wallet/images/03dog.jpg b/interface/resources/qml/hifi/commerce/wallet/images/03dog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a85b80c0caca0a36b23bf92a15c39bff23b9891 GIT binary patch literal 115650 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 literal 0 HcmV?d00001 diff --git a/interface/resources/qml/hifi/commerce/wallet/images/04stars.jpg b/interface/resources/qml/hifi/commerce/wallet/images/04stars.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f2bf62f839f2ffc75de676a14ba7f6fa7e82960 GIT binary patch literal 87586 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 WNkKqormk&|hOnpGsWDp&H1U7TW4_q{ literal 0 HcmV?d00001 diff --git a/interface/resources/qml/hifi/commerce/wallet/images/05plane.jpg b/interface/resources/qml/hifi/commerce/wallet/images/05plane.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6504459d8b339a2937c49c621fab2ff36f75e9ac GIT binary patch literal 62060 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�@erMX9QdI%z<ZP+-I=;_xj(D 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�QPcHM!?UBwi4~Y}yy$V}lFdc7V`DnM#0Bf! zTO&p4YKzoA=2L?-iR`%+pxsh)Q0g@*d^)`)!nP|qCs%3G)l!OS>W0ed6uQQosLEoY z9x^5C)EWaCVu;mVjRC1`#Et&|bq&P18F5+j;>DQcS!4RJYjnDSTN6yLHGdB-B}O}L zFt=3BC8<>TnaXZw!RH-*jpd&{vi(u%uzr*LHK>`N=l$<YjXIO(q`E3l{<1l2IJu0e zEzeUwP~V@8^VhYl6V2@tCrIjAg))hyd7Y=f#hkd-^VJ>=BloQ`D^IF5UQ^3$x@Mr# zl9_B(pt|5x>Iiw3q^e9>q;_;NnX0t6EqN7H<ZMP?<|EqO*czUlsH!qO4Ktu0i%|}m z1tH`&A>?WrS|X+eemgZEMe0>fiBmD!XHXFSy7Mbh>vpLWnj)*R+U30X(lr$#i%u^7 z>8I6ZA#t@;J-BiuO+`IWYKCkkN>vtgswAitIUq4yN*u0Nd=r=A{ZC5jm)ja2Qh0Y+ zl|!Ry+Fd=`Q`L<<M)-NUeydBN$(JH+Jkxb7WwO;GuBTzjq>9R#S`kvDPKi4j(k79Q zRe-@Yx^AI}#Oc(TG7~66pEQ=|!<Rj_+hS0aPJJtKTu<vaEX4{+l@?o0?T0t~MoQBB zp3)IC-mIqSPY^U{?a;L?Vg&-9Se;mhr5}?EN;Y*P4NH|ek2BMZim_pbY3{Q&aa~d) zc0}l%@de_Sm|D7{u8{pA4ux}>)T(#=LZVO%p-9y$i%keq^5_t%6X_CFJW7(|lPYy8 zgesVjnMzI6rwMwBay?YOmmKrH<Ca<+K0;Jg=3DOEyzi)>Q({(?rL+a6{%h*LG96{- zid>eroN2#B9(652EvEiP&zP+t4T7MQST>Z{f$1qW^yh~@31|%~Fv*FhY0{>>Dxoz~ zrb1!qiT-6;k6cUyJX<SWE|XA$0dyF0%&+9k!iLlroANo%FRXR;qo~G12BRgY$z=_E zJ2F<5zwM!_5PYM|4g6HtufCb@GNyhhZoH?OSC~*R^=4g0xZ`h6nL0ykM+lB&$qu3u zC~Xa;h-mW&wB`aq1*nW62uqG6AR!>A7FR9`qEDtNac9!xH&Tr$mlRxW`g`bcw*!jv zs4bTnQ3N(pNJ&#+zr=Rmlb#BES9A5qj&i4vJj2u!iGUV0MCvip`ZdPhT1iuS!&Ny( z(~btvQhbrBZ@iQx7HpChC0~=j{y%*8)k}pto!r>aJg=oI(RJ!3kBw61Ca3bHATBJ& z9Xe-DL3P1{BA;5VvXv=IExCUo^t&+RfY@P$ASFp!6p#{>*n*oIr8gEI+IH#JjBQm2 z>Pbt_2RYJEu%-Egg#{#~Nf%g6k1dEd9Kzdi2UUJwX@zSYA+GeL9-mLsywRpenqov? z`ZO(HN>gz)g#r>RvlGcZ#%lD$pG_^%t5l^W4+SYFcG1Yn9=YUBzKIt~QmP!$(b2}I zqg2|C)OzF5Vl25Kre?N~{{Yh}5G8RB@K)<+4k<^<Q!(Bs{{UmZEqNW`6H`@rAyU^` z!&&m}sr<pLJ*el!nNh3Bff>V8tZCRZ>T6Kwaw5>gh>udC!jPK0IJB`oU$0FQT!p_4 z+|QfKR%vw_J#ML7f9mHdw^!FSiF%4_@uarmT!kRKxUDXjv{@}cj^t>O8c(RyLg`Wh zjcO+}A=D$J5)#|4gs6li_7!(oSwKlGzTYxblmebbpjzc1pQPW2rA>t)*GadK!kh(a zG2~e&aV2X}4l<U&-1BlcMaq|L3eXxVtq!dwwJN5Gw3)H&)JNAb>Wi^mVMUgtt>t+m zIS~#z(iB%J$WT*hXr!gBz3|_ywIj9qri#?drA44oSX`PMh|8R<M7I+ANSNHlR}@1; zGA#Q7JFcjJ(v{{&0k{4obj=G$>e_~<<<$^WVrtzWb(J=O7E5fxHOHmZOqx%s;6F<i zWVTQvx?S_cjU&uL(v^f^URX1#byXiv>&cV}`d3mebm;S_>WwLxPNFRL5|$leba5f3 z<VI;vMs?&V(4xwug{0YaMa^!ZPFqS+n{D)=_{vZTTQUMo({ziJtpK+5xlfpst0@HW zXAHX*q}-s(WpR(e%l^_`j<SWcu3l7&p-BsAL@0zPqW1_qOb0Nvv@TfHJT`ci(z;@a zshH&EzN7yD)!i~$W_$Xc2k$6Kg6&adQX;NBLV)(C&{b-K(cV;gCa0a`^%TTY5=H!a zcwf`Jp_QZg^U4~8jYHvc#4Q$!%pO>3QtPr+PJdI<Sg%IYRYyX~)h1L4ZPj%6eIfa< z<gJ1qsZ!?_;-8W)(zP`fx5~Xx^qGU0bPBu)&dh*_Y(bYH#F|oLu;pH+Wy`0y)JK&( z3VTmJ+SMMD2@R>YGh`pybF2AB;8BkN{K(Q;cbT(v?wi*1{RWL^3UXv<{c+0fXtAki zbSiyjm*`a@)#^G9uc#zx+O+joVn=#Dn5F$2bXw&}x^=h0O=nfplY)}soq<MCRazs8 zaQsG|mn9x_nC+!51<Ip7>(dz|G=m9J*;|PUY;jldFG$n1BnP9GlFXXQ6pCD=HlOHM zBe12i+pZNSk(#_<h;Lh&MnWSx5=d7YBjAUUO6PYuBTUqk*5_!A7xbE^SV5K?Oc@l` zUrKcTk1jT!<1bLv5LZ2vyvx#Pu`BMyeWXK<miiu)`rdKJ9$K7r)vd=CvQ)PmT8fsn z8yl4pR88(xxH#jT@7dY=SUeYL&Rw(1{$W3=IUBF5^~p7zOIX%)rPVY&UaavDX>qBV z!%rrAktr0aTP-%*`l^wqV6jk>SC*HMYD+<$?JceJcQ9yibv}gEdUILnxx>!~P-$A- zH&D^0Cc#&YQ>4n54eJF3C^qVfe84K#9Bn$cQKM8=S28Pw%5+A=N^rW5^pZh(LXfKz zE>py+%0e9S6B(yRGbsZm(wcSMF-2+|rot)`7x6U$5E29GNJ~s5V5u%Q9e@#ZEp09J z$aS-4jqWELByY9_ulWygY-4<$22$^9n`1vY+S_0ITcG3e)-8MAeXpJEu+HCOd<<MC z9N#}C#~c06_V3vO5>2sd^|sjS>y!8Cw+|Gq#|Iyfw$~OO`~AE=ujaPq_#hE{b+z&G zG6zg>t<n{J?Qx&#G7qq}-7{msE;y2Rwr{w}$J-VH-v>JoTwiPMcOZda4UhKfZGtX% zHMEhv$4uaKvHE`c@H)-N7#jnTYmU9guGhB#yNlZA2R#TE_uPAC$Aylr*Xh5$d+lr= zj9=r14!8nM@ta?Lw#QD_AFg;z`hdNSubkZG=W=^r+dljr(AxLF0RA73-}1N)SP|>i z*|4>@0PWht>9q&k{3i)j$51ct>~cRMH|nWrNl`cQ`&|BGBOfCC7PH)&TVs6O5Dxu( zyV%<H?06iggMxwclltPihl_P<f<jfa1y0w^S#I5BZ;&A+ze8Oc7D!QAluje*6o zdJJd1y4;Kor-rSlSZ!l(%=Gv7JNxZqjV$MT1Jw7q86*I4?S9wci%whsM#=<dV~g)| z+Sdeiz4%tK*8Z0N03W}@hRAak$?0>xEO*H0Eq=M_!=}y1H^=~D;@!X6`|s0?7tF0B zxH_tft?BPK5<Ox}Ejy{4cFBtw$%<+vGO;DxC6)u}i4sGrSEkyN6$osuW6mcwHnDq+ zg|c=wzT0)Z?S03&;;g8VYH(#!=CmD)EtN9*RFsitHc~w4P(!UR%Ht~_mfcERO_Y#E z7yLnZEkW_;!wUZZhqbh}+mjI7`VC1#`jmY~04dsCK@J3|#57i=!>9&AU4E4^bY|At z-V08V;fIJd4-NHwH&a5pjI^ais=@~o=@Lp&GBHY&5?l#FB*iN{jm?i8)dGYRm__kv zqP0Ga*OXrndR21tJCxHhm&_MK#7%O$3OZ@Ja-kv=R#)_rrM&zqJF=iTEiJg1aVjmA zt8x-_qfu9C+Mb|^v*+rbV(LnfE}~m<rfLb|TZOk-goYHGG-80SK@q9$mh6_?AQUp+ zPP(I)nkQSoIsI3sU{=#rrvB=w!jzRJn^1;QrrbojbagWhLYCUYN-naXhMQ%U!W(6z zrH+!&`X@ocO*cd74Kbu?;9Kc*)e4tHVO9WL#_7>x`l~h`Ww;czAH<~+Z^kR&ckt<} z^eq9Z4!f-By35*W*Qk0sQq!4}D^W?%t(3h>rs@YJ!iFMGfVUosreIE}Kz2JZoaPRt zWqO9a@sfpIp1In3pH_^Tn@!BEQ)ar$G`6c`a!Qp?47~c^W<W|D=YBLv32|<Ng#@FV z{Tbm;#osXKYtxXqSE}hcW~*1H>OVHMkw?<Bs(nr?a@cOM6&3k3%|OJNQ6(vvtkda} zML~qdGg);|DXNXI5B|xHa@F)p>{NNN%lMj{RGFDhqOKmJsL>c^a-l@6wJN%Z(H~*o z-O<E`+l8j&Gcsf-P@H}wbt-E!#D_ZE+>4QGiw>Q7Y;)VM75zX)Z@+JglWv<^KEsbm z#n6;Uwkt#OmANiBP>`zx+$E6Og@6|3TFx?Ufs;wr)pxF0@*<-aN*nWu9Klvme7FwT zDN1)Z7sM*^>-H=1o(plLbBCH*(_KkIgO1VkjA%L@fUBr2ab!O5)D^j`+*|4*&7wT3 z1tGRnc#vLKcqs6t$(JKb<@X}=4LY$9g2tt+Qbw%RY`B|wooiF-wbrYVl(hi0rX=|7 zd4M6bfD$&4s92kC+V(dX`Rr~%7VmBcQo!rd_XKT?w;LX|{YMs9G`KK85n{H{P6D|~ z+|9r8I8^6sb6ajI(`r*E5G2T3qQC^3C9nWUNDZVV0N7yi-0n%u%5U(11_EpXK(Mwf zl#aky0k|DD92(lJMsNl;>TG&i=Klb0+$>7>0NW$IfX+Mr0H=NnLXE)tZ}%4V7W*FD z9JG=zy|?za{_&mo5eoX}u<izawjFxkrwklriLs<ZlG+}PEr+7XWqCu)KHA!OrKaGN zI?~pKgStsc!3T~ke0_K?o8Y&eHCJ?vVwYCsrmA9gxYP7_RkSBrX`K-|zRem-wR$s8 zH&ug9(^dMtKTN>X(UKs|5@^b9LMpA)S%=xJR<%u_QmS>z)cCZzH4>dRtyii}c@g2$ zX_V;BOrJh%hX`$mu;Mc8huv8SX{OY&Km_sp`TS>iyVYJN{9o&@5ES{6*r2X+x;vLN zX$qE>BXXLSB+=>gDe(zF5j9mc>XlzpKuXJQ)wLZ-DIq1bHm0V_4@Of`2QyAxJfLU$ zY)HO-P(qEZl%n^y3?i2c!R8cOd4QKgmmw)AT2z!O$02J^FU$!DF7lM9@tmaU3RbF_ zNoj9T+FKMTbm~1On*yCmhaR0yY13vYwAj&tN{S@CGE=PyH5sXwHhhV5oRuYZ1GT!J zF8QF;nv3$Ka`Rh7jYxH6!1P@usiVE=L2@Uk>Jt_PSiTc25w1dviBelccqK@&G&ZA; z8dNCAdC^F%HrnViq&%-)AFVMcnMRuO5oEmrNc3c>v=ZuVHZ)fw)KDGREltXaoYK-2 z>J>ga&ZYkVG>T0_)G0$1n2sV<IhH)_hg5~6h-z5$mSMj5Eu+Y_jB0cr<uer(@B~F9 zhTjPa1(#Gms@=Iqn2Uw-f<ly%E>cQ()v0q+R*KxTT*x0Y%yV+`xP*`zQM$Q-zbcB8 z%9CzfoAGl%t4Y!|n6-vd9+d`TPs2iINMWW}dE}vGvzFajTX?pmI?~eGTvE`WR6#Sw z&V+MU4F%0jI@2g~m~m;&(`Tio6x~0YT1lehC~pKbme2UYo)t%smkL^&QZz>;FX^DR zg<`J{^?4k}(b|TCsH(_oRPxRRNB5;RS{wc2J_R%=Hz8_Uty)Am5zHEb2c7ohvWJ%1 zR`LPd4pGLZc#ZJ!t+{m~qO($o1N>Q~oG+EVO{&03CL%;Mrtc<GUW!UqqR?=cnv&rW z+VmlTDar+Dij$}cVTZm3rScUv>>23fSW-{Ow$$G%!3rFzNGT^LgC@omdTX$lQjsXO zCDUCBP1%_RXj69OP&~wsDNE)m301-_1)-x#vevDjwKceHeQa{LHHKSIPtsKyC)G-t zNOf(r@0kxEeguZz^wNI`wo>J$x90~WYlBeoi<sKymX*aVDt302t<)(jR2yWiNMffF zB&OrlAc6{28l=SN&Lk8(%IrLsbWI+*7O<?<5k`vKUS!c7)N`B)ag|dwu7|6xgRbZh zW2N?ClQvyq7Onbkrg?BE^?Gtzak$Mo9BQgdK?M&$lpGiQPPB&`KqL5`PvM}U#ic1J z@~tabD|6Kg9%Fx<A=-UPLs5xLf09IE7ykf(<fUok<yZbSDQyCq^Lc)wij+{*Migl- zCgtY2T}z1s`N*(!wYH=K%oZ*ZpbAQfBEW+soQVCoo+b1W;?eo>q4cjjXfc$`c{+}W zsNBEi0#cybS1r>|jQ)_TdM%K#6&h}W`>r9xy;4G5X~yPXk$<(5!FN6t4w%m}f9YPY zlv{0DN1Rcc(K3XE{uD76Q9UYNil{j9!kdo7Jxb)~$WQ(WwYY?yM(UbwoiPq5d6^3U zFdR#bE6%6TN>q;{sS6%p8V@NArEP=i{{SOQ*%dtkkX%Ys`$N+ON>pcqZ778-C)SSS z_I$1nQAkNZH`t{?K31^xL#PQ%lp)=L-3}_nAzwOfE((pxkglV#;be*gM@UObTPwa+ zk`~b`Qn^nexk5sPfJ#=LPzko+e?nGgN1DSEA<1T3SuG+&X)&H{`0`kFDRHOcyvml_ z%{YP_ZPwJJEhH%_DL3Qdo$hm!k8o@)?Qm^!2OL3oHSrP8Zw=hjp~KUB)33wjeQt9) za<xEyzTB-PNvPG<+Tm8)(>1R(0h0!zmf5OKL<nytiuFbI+*hX^P4$1_x1TzPnk-jn zI_fPl4zHo965_c_izWnG)e&k;XC?@eB+Chz3R;;&<;Hms+)Vgtj~$QVHWLpUv{Y{s zXkHUlKbX=rMyjMptZ8TFMrhGB3ShSTwK`=!q|@tCYZTUFE=;I1BE;s5>{nwr`lO+u z@=u3aff`bwtRfh*sWfSAM65R*Yef2Qp5skMmnI{PfT%KDaSfsP@4d?4bUKtFwJhy} z?u82iJMJxVO@>c?pE*15wPhq{r{#X0$8NncGBNeXE;hFN++O%L-(Wi6Tk;WWK3fi% zB%9!7*dP;by~)Q>wjma^t~2^?_1kM_-;Bv_T|*>*oB?nzVT)jIdlS&yaZP`O9Fi^G z_D~}r<Dj?%+Zj2)YF&?g_Emt%76Z(kt=oI?QEDm%=GVXCCvLgNP&PK--0&!K%Yt0J z{{YLk-sw5-!AVXsI`!$b`hK>+_25OTBG&-*2Hm&8=x?`EYjE+k0xo|rar%p7+TAnW z+#cHQkUhn-YYTVoMe+#)d>rtRrP|#Iu{-4N`ef$!z4qaY4h)Qrr)wMwZJdK^k}?J@ zU>2<aeedmSezzXh@52_>Z@2>1?Y`E=39!aD$9^6(vu^pZ+k5oQ@81>{wlBjL);yqE z{{T4r#>2ig$Il4cSO8>n$NFEdxE*%MxyX0$fGkc0zo8f-KKA&=23j}8#`pgKKHqK% zLblr02{*T<*1_w0-1i+gaF=(<>9@G)o8x1Cx3N75O6~#cjP2V$*K6&YaGfp-i|u1_ zcIplCE%0sIt;K&<_y=nw^|&2zxcANPj^+~8?Q3H{Ty`6Dx1jn<&upJ-1Dl>wFQ2XL z(*B$`Lct_lbg(AawgAB!Zbwt@03<H<7VDh<0I&S}oG3$<AlzR2l1EOMx4z@-I3zl4 zlaO}%?t0q<clWk9h@g8PVfq37I*vL@`|W+MY<9u*&i3hk8F{wPdky|^{{RT~JPf5< zU`@sMH?bpoTQ>)wIT$;E%cNu*=i?h>bSL9$XBhBYzfs(qlWzN4xyO6j*5lwtd-_}b z@xqh|7rs0C+TF*czu4f!EQ9b#0`|D+@BWsy4+W*m3lq~eJu&^h1_x8Zq`7Qgd!4g` zZk_tuW3{iq6>8l!gG;GbYg6LV=+t_A%B@<bIpjx$O{UZ1IWBbhk{ltnBEyW!vLrmS z<ZYJL;+5q|Jboy-#^*bGY&~**-lvbL#j|_c9Yw(Vi(A^>{6e?w(D8OTJK^RRhutex zF}Z=_4KiX^1XsMXD7>YmI)ka?yi%_;ajPZ<bi8o$Yi4yQYNki=BV9a-=^Zrm$5?oW z0a)@d%Z>T&TvGh56)wq0H&RQ9Bs1x{@$$0JQnok7Ux<pQjQ;=?JjLe}mu3wv{a9(P zUsGfy;%R)npg8nxEln&GgA!Fuvi72@x8+l9)+-f9NeEC=l{7AsLL)|gQ%g&(I^rU; z>4c=Xl%y%AJj=3D6j)5eDW?afmZL2B1x<v~^#w%?1tkg?0V4pMixQk<5)JM!kT3nb zT&R@4IG{McFXmsGPcb27C`th+zbFFe2~xRy!_8sOU^IOU>gi6hWVqXpDm2hbK4xiC z63}6)qpztzM2_nPmMX2bgdv)FiBy=dC`yk0;rLDF>oo0FbVj;FfhfpwkvbIiypPAI zvZBZD2EyHpxUv-SQ%?lGg{i}3CAN!aikb^fHy%QYqb^gylrB}+FBr@^TxD)4C;+9` zBr@!FoLJq57v=RDKDKU;`#rg*;#ZWM%;%pcH0^$r*CAw5MN3&zkyNMBE7XOu^5*G^ zeQKK;OqaDbl3|!q8g`ZHDlVO>)9IBdG^E9%KQf49#;?S7i!_F$w%V6Xm_l%)Vj`(Y z7X@k{M<o9MP^m2^=Tk{tv*BOUvRJJ|1^CKel~ah7-CkR1DEPLL6cD8)7cx?tkOG}i z2urJO$E0$DPg8tJ>#c7^)S6z1<a$eUIj73qPW3v4s8gb~4Qhj@^_Ma<eNJ=CQZ+W2 zhZ3O1uhp|+PK#30&}h}!b&5Om=itpww)k<?diTReh-v(v)S6jZgHma|Yf;cu8dQxz zN}<ps)KfUZg;AecQ_~X0m(;ZB(ChT6^xAE4Pt&R_$&D6M52Y?{F1zKoF1ew|K3{X^ zkx14RZhLYTL_IgJ^!QGolFbHmkvO$qu2%KDxAiuvnO2?kDvcTF(`e66Z7^$3y2H;# zVp6<Z_%26_y$#B4Z0Iy-%`4)*gUSwAYr0mZ({#kq^#1@kd1AU`YDSV&ihHa+s(nLA z%F@!QY*Wm4=4r=YlLf;rkzdp3Qe8gkbqSwEZ3X#ghG9#MF+wDUCqhz#1*IuPPPVoj zQqpYSGYYyMbhZ@h`q@n#Fly^sS&o@rbZHS1Wwi7uEvL_I_SgthD)T}@Q_ScR0zAZo ztwFpY$*%^~-ErdHyUBe}{2e7GuRB(1&Ro@JM{->*rmkvocUbc4TWNYXpoV^_`jk56 zo2W&Yh~hk2uAHRHkjJU`c-EKy0A#O?I%{h}X?(b=xRp8r=^Vgiw75Trrd8?IX|%5@ zyw(Z|Bg$4lvQkQ>zrcSdxr<$<@@vHRGW0IKYnk2|xrG-%Yq*+<lU1csE81lOO-7rk zwC!4>5;YaoM`@;L)%bKo&L~?tUa0hF%~e}WZSj>LI{VHbdTCRREiHvyp(;@!H#R?n z5S!cr1?(@IhJ$Kep@{g@5FL*)j2fV*s41|gDelQqlmdxcp-o9;&oyZX=2DQ6@+k?a z>e*4~PqF-#OHRkCt;)zjPcR6Y+)$D&WFQ5{a>z+4zcR@o&SmmdJN9XK;(_J*o<`Dj z0!7llqvi)JQndh8VwF9s<4F8Jg~WoO3W?8{lq((AJOX&krnswkeb+G((FyZYYI;Xe zrD_Teg@n^}4DzIUh(n49N{^e&5=WJwI|*Bg{{Xvt_06+k*2mt~=uX@S;(~_vy}JJZ zr%mnp=X>bU)TNvAOhxWUOXw&!BOI$`W9z>6B#tR(R!;u_n=qD=FbhthR<O7$ZS*)f zj!6mv`wyDjaXqO#9r&$kJgD^#3_Qk|<EU4sEquGxb6jaFSCznDrqiUMZiN!^R@BxK z5Ir=JWRWv}v)+@>%|yOm)cJ+WopZ~|k1idk>78Ft)p~nT=~lH3HWer7X|iCQSq40< zLTXVYMTJm$Gjj?m@nueN_5x$bMBF%#pl^_RjF5j@WPDq$4-1`0O|hGki)ZH9u>hPC zl6Ds2i>&+u(OUYeplel^>kL&qH`Y|mYo@1C<+BcJQ|ZMebob=^GmBLsr{%Jmq&7Ys z$tjM<BkZlTuZMJ>6?Fv)9-)H{Jw52UnuRihQetCn$c|%7KtYg(Jk*bkj8wHmdDXg> zirh(UXevsEH#o;rdtSoU9j|=jJPNC3#>86p&OzSd=kIJ@$EAo;z`c!)#xHYkwk!?r z&<o=H0^tM|dAg|WzW)H$=WK6|H<SWxzf7NN{{WBy?Z#3~#w=`aziV~AEn(9jj+{_+ zdyEaPGoO)ReEb|+IN(unf5e^t0L)c>#@O26+b8Fb%U#N?(`#gsGi!We*523OfeM1U z9Ao*rAA{e5kc?X!efG}x&v1GXz~N(>!~=i-07P|2wX8F3fY{?4G)tsot;YDcHw2Mx zquc|~@WH39LHGH&8*D5-JDU<Lc(>5$AY2>`k3(W}ZL!k%+hM_oc-r9P3mf#YH{avG zzg`4WSlZujPM((g-0)ahfd=;$7#KGPd)N>K#^U4;L&eV9)*D|Nd{_}~xwr#8!N@!m zhpn~<&8`64<l5F2>UKYwx0`s|p(I@9_Q2Zv<nNu$g@z4F#`nF=w>H}29S2Wsjk9yW z<*Q(4sNbcqe_MCQ6Q#>oleLGo+jYH%+#h})q0wP-FMJc&{j4+kjNfi6rNAwFcLv_w zd+l+9+iUQV4-y7GdT*SIUc`-!@_J+fQt81r7XS?Ymp<DIlY4AUge9)F&$;Pqb^ZJC zH=B!Xi*?8t$+kB;4*r}vOSZTtug`1jK^7RvHaiPjf>7o14X!%lpt#7*h(FX42MG}6 z>@m2tx7=j)xVg?QdTe+p4hvipjr!l;y{~`Bi(7cq-qzpO+uMDw#HnzLo8uNIpuykU zs2{Hk!=q~wJl@2ReX-Z`HuoHUE(`7ewgw0U_prClaxM-H_yg3jCg5*;-zMEYa5{mE z@#rX%(1W#(-+OL08Q=5ckb~6Q>3`Rcg}`n90Ouz=;UpfUft!6d+k*qUbg%;!_V4=i z$Hx%k`)xVZt#luRO74N>%7^c6WXpk0<^<UC3Mc8#QT<qJQB)GsB`YmgYG1oF)PSNA z^%`cNKp(?eo0uYSE-iH17tM}3{(i@N;x&A6a&9$hrvqM1jJmd!)bv&I{{UZ8WjN#U z(G6_P{oEL7YClaDtjyWaWcnqho1D})(3H!X<BP<9h@TL3KZO1j*8D=!)F!nPnqqYh zp<aNsEIf@Mio`LhWkW(NS22n~ljSXHOHh)f)SeEv2~pk9JTKF<on@>cY1*{)(?wD> zL7HpFlr-gNLUmN8Us1|fT%g%f04k7Dn26<EgsnV$@~cUOwHff+X$+~w#zU-$UTFce zsp+ams8CXt!(NMSB|*mwc)pUEmnF#ClcVU=`g~~9-%37}lTZ$MRu%L#=#94ZN_%d& z;RZxzi1ZeK(w?f+BOs;LY6ZeBwdGY~lsej1Egy_zH0#fP<(%7yWJ=RA-3Ls&VB(gQ zE}Hv>p!;PBU2#=#?ca5^3AXTQ`!^n#%^zQQho-I`nu@qH^w%h4g|{ZSs7f*^wO(W& z;VrsiA7AeXdL*>V^IkEPtL+*LT{978pPtW&FzHp@H!Z2O8tpzEVg*gL6BSgdgDH_3 zO~4B0eWy~U*eMTla|QW8Ipx|aBmRt3h*gG5br?^{i1dC?msdHLITVznsD(D!Z7Ffk zLKE_<=Teeai2M?GE7lzSK;}-qZlj?2Gh1>rmZC6$6H)8hTs1t3Z7PQ)X<O9&EYw2F zGc_OqRW`${(h~d9U#Qc19@2CzKcO_`Ge~IaOdUC<XwZc^okXQFBU9r<N(vU(Wk31K zd@04ree&dqk2>qpoqgw>TE4KBBC^bAthF9AcA8>5b{lP$7-5tpwwYz5B?xJzkd&de z+e%P`1f?J)APTB?s3UQU4CAIZuo*o@ZPQ|;&>+#-EyZa*V!{jZ7Ln&XQWBH}sAM*T zfR>xNN)iTCqNSY1sb8B_aV7PT(?2ULB#_%c{KSEdWvr=6TFA*!2?<4#HC6|NT?wSQ z^-<@BfSfd>ePK(NN9KnvTB63Eqq&6wqK_p>iSeA59aP_}4aab*BT8}{#t~4astrMi z5@BS9`4P%?wT~$E=+m=Y)!d8HnxjQ>#<1?E)hksCPirVtm^z*u$X~vNH&VG)k3*%c z*?OK8VpM4{5i$eOWvy}-mlo(E$Jl$@rTzZ^wTAnwTc+d_Z0~V!bByHs?fp2OEdrGm zbh?acd{$>qO9`1Rwor$pCOIl(I<PayrIq5!DzcPGN_j<owNZ8?ST4+xxNy|!qQ_H; zEwWxnL%f3bvXOLHk^%~nkd&!OGDqO&R?(+v-9?}#p>9+aQj=K>N-aMQWj<s$kt8zH z3Iw1usGeyEaVlxgs01qIN#kBTMDliLF7-6ZogSRxbcIde^cUJvTxuioJ!hPPq$K)` zp|4HEwdy1z$cv#wc|f*2IBLPB`KdyA*$9k^gL0{5$JQB+9hA}Z8-3L&AuYP%0ulgH zmhojFvPdFTHMW?i^9M)Gq)0*?_0j(Thmh-k`BEBRrl-=CSeDk1;3*{`=2vZ$4;f8v zd)g;mE^BF8>9w|)c4JB^^2t*Cw_HVt9%CzQP9vBbCC3m4Du5bo9veElN4F8el+UF& z<1w8`Pne!mC2gfdi}E^$65D_f6sFRmd4~{cxA1yfCilIL``8>@9NysA=G+Fi$-(>E zy}-v?jP>?6JYKxX(RF<Vsb$b=(U!xE`IghA4<(tbhh0J?M_Z%JwiZx8DY|^fBXrnf zWv=G;0|Z!Gdy8NH0KaQwgStX-iILfr9cgig+e@uDk_uFn07b3(j2sXR_{L_T=x@Ch z^eGQAveT$o`I4Y=EPGh{-?7Qck+CN?#(dem?m$1=0DXwAJ?6e{LCyWH2W$J=ZUAw@ zF?(MB06X6O0L_kiXSV{a;*xGnu674w+V{pi$m_xBX7(c3Kj2@s`QLuMfm5W~{{UMN zYvA_i0V3lA@gc<!N%pwwwl^2Yv9Qg!4Qd582W(o$7rpl&{{XfRekrZ|5UcOMdysKr zMXhXa@6&;n;UdW%TLWy1+zo|^z`k)|V{mrhgtl>E+c?kO{rYF85p(a<TK?G>>`puK z?VZS^;=dj80l!`Iae<S3TEN=YzUtsr8>rcC3t)s6?S7Z@0&i<yY+Dz<9@L?duJ^IV z<9^o1P<s$K8A(cw$pg3IY+MXq@n?ICV;JkfNlwFIi*+3=KHWGRpRMdbCd6zv=ziBX z7vic`N1E9Lq@3@)&V8;nC#L6ulJAsUs1BAHxW8_MdtawPegJF&E^lz7{fAFs_v^>7 zNh91R?Sr@EH@^^+i}nD4>URGCIsA_XDN0R<unNE)yNlQi1HS(NpAFl2Bm!@nTy^i> z*|tXZ;MShG7EuFxU+=x~eb2q|!ekS4p7!WE{{T(+F|GGIfxmm){QL0{K((!Ixb?By z_t;yHo?@&Cw%o?T*8<lb{{W`<>gBhOUij)d3-tNyHo*Y!YF)jB`($8&_TLu-*pYqu z6z!9cbNGnP{d(_z!VUg<V}g*Qeea&6_9vkk#yfEWkS}AnwtnCG{{S3H9A79=B-~tk zU|a36=y-0^hQROA*uk(O`5$ce!8ipa&^?L8ueL9n_PN{K-p49hQSy^>_(-q>fzW2( z^X-lcK{o^1-|viH--uR#Gm8`c{<{u44%sOdH#i-Ez$fZ{zz!G%Tx5}Jb-A`pfY03C z-Ns2ZgPlg(cQ@a)iMay*04FxcK>i!pV30S!2{;-50De88ME?NszubAV{{ZSgE+Z%z z>3?rczTZpnAXz7r?m)=xgWDJ#I`-d#3zr9`ZDDbMM{JXEY;V77rmxUw+NO&;PihDZ zRcQ4#y&14%dHp9)m7&BCq$#&qb(foM<{x3iKEv%c^DZI8p-ExpBFDJCb8L}|@$7Cr z({g)~M*jfY<nS!Gk)}p|6xi%ci7l6-N{c0y-;F9W?UtX9A%{}7o?+&crrl}8t+x=h zA!#Wj9@&)qcbbtM*BFq)jk?3^t!%u@ttl&M*4%ALTW+?rrER!{B}h_2l0twZUg(|^ zISED9^e$w7fuq(nu9%FtnrgeKXHTuaLyo7urL@3{HbUTsqR1vh39@3ypH6+p9)l`7 zjx9>rM3esjc5QLi**^aO=yvUH1s}`>&8!dq0I&Sc{`cakCm)sij2*w_zcY1o4LLy4 zl$dlKF+`;4+8hM9m^6AFJ|!xd4KBL3olIB|T4F48t>+wdNok~oEoxaD#GV*b>h((8 z$7)r2gxZ}#M<IS}`A<uf@k$be`LZ8c-Crsal#XQ^B_MHH_5|RbnI8iA+T{EV^Tjf| z5;0?o+;+v!Tjb>KEq*+1yMOE#>MoLgFVk(l{81$SEdKy1zz5`leYYL0?ZbdBee5i4 z*1+c1KVAE91<oytf3BwcfnqQ%jy<hp0CxiS7vB5y_xK>+J8-%6lXIIBf1i5`5^PAf z_9u$VCh9jg&-dUL2>^@qC;I;YPyYCkC>96n`B-n$_2LD&ew*KX{{Zy>`;WsXa&P&$ zDnp1;6r`vr1Suqfl>=~6K?D$NZfr-}iL&ITtp5NIX&5oxlGLd&;KnUK=2A?wDl<N1 zsSCQAA=MCDDp5*E@?9e04@ovZY=7<-{SM!)_>i9nRqBJR%ZlQVrlLC;4FVUBIu?Sp ze-p}A<w{fL2?oFeamH)nohdUYEX?LgRRQ9p+<e45T0sFoTxAKkxC9b^xC6$8;iXMc zs}DrwQB2lT&1G33OqCmyoE!6-9mTO=NaH1Vt>q0*T2iBHDjP1!lSqd1bD=VYKP9;B ze;rFH3rZ5iPb8H-qz_R(axAbA6BSN{HsaDnh`3iv6q9kC_BqJdj9~O92#2ZaX~Z_R z)*5YSQbN+U<dg@Hw6Dw*m4&G!D)$83lb#{_#QulVx-(a$8hROk%-IuG>~ya2&_Rfx z8EeWC(m{E4LM)I72>=1Yp9%FduLbG3NmGfA6yyhhPxRVPGTdqFs1ssS<pC!F*#4;@ zM1rKMzyrfy67=&;@>k=mHm6DvF``v<xJzhl#_R|OaNs330VG_L#;!QBE;l#07QTA> zo8RtE!=P$dxUuW-4gL@5{WjpYutl+a{r>>x`*69;sNeqZp1WJ;e||TF0b`F(rH2^8 zj#N8XcIcD&Tm5nIYq=u$vD(|8d}A4~+~*|Tnw;E_a1V2Hk$sLwbGgVFx%>szQc1Au z*ZkZ5UB9;!mU5BO<MlpM`V)<_oAD||$REG``|-~)83coI>wAy|@7p_D_2cErubs)Z zFPvbT?}M8Tw>$7Mtdef4Uq8x|zy9q0So`0Kw*7uP{{X@4Hsjh;=Do=lHWs&FdV|!T kZ*Du;L}2Vbmlodt0KDG(b9^Vit<Eknf}P3FPTYV0*~C=Pg#Z8m literal 0 HcmV?d00001 diff --git a/interface/resources/qml/hifi/commerce/wallet/images/06gingerbread.jpg b/interface/resources/qml/hifi/commerce/wallet/images/06gingerbread.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54c37faa2f58c12ebbf78d54f3a18c671e422ba7 GIT binary patch literal 76195 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 literal 0 HcmV?d00001 diff --git a/interface/src/commerce/QmlCommerce.h b/interface/src/commerce/QmlCommerce.h index 8eebcd3378..cf6b620bdd 100644 --- a/interface/src/commerce/QmlCommerce.h +++ b/interface/src/commerce/QmlCommerce.h @@ -31,7 +31,7 @@ signals: void balanceResult(int balance, const QString& failureMessage); void inventoryResult(QJsonObject inventory, const QString& failureMessage); void securityImageResult(uint imageID); - void loginStatusResult(bool isSetup); + void loginStatusResult(bool isLoggedIn); void passphraseSetupStatusResult(bool passphraseIsSetup); protected: diff --git a/scripts/system/commerce/wallet.js b/scripts/system/commerce/wallet.js index e65ed4ae37..866bb613a7 100644 --- a/scripts/system/commerce/wallet.js +++ b/scripts/system/commerce/wallet.js @@ -16,7 +16,7 @@ (function () { // BEGIN LOCAL_SCOPE - // Function Name: buttonClicked() + // Function Name: onButtonClicked() // // Description: // -Fired when the app button is pressed. @@ -26,7 +26,7 @@ // -onWalletScreen: true/false depending on whether we're looking at the app. var WALLET_QML_SOURCE = Script.resourcesPath() + "qml/hifi/commerce/wallet/Wallet.qml"; var onWalletScreen = false; - function buttonClicked() { + function onButtonClicked() { if (!tablet) { print("Warning in buttonClicked(): 'tablet' undefined!"); return; @@ -93,7 +93,7 @@ // -Called when the TabletScriptingInterface::screenChanged() signal is emitted. The "type" argument can be either the string // value of "Home", "Web", "Menu", "QML", or "Closed". The "url" argument is only valid for Web and QML. function onTabletScreenChanged(type, url) { - onWalletScreen = (type === "QML" && url === SPECTATOR_CAMERA_QML_SOURCE); + onWalletScreen = (type === "QML" && url === WALLET_QML_SOURCE); wireEventBridge(onWalletScreen); // Change button to active when window is first openend, false otherwise. if (button) { From 5f69f30551a618e40181c8a1ce54ad46635db43b Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Thu, 17 Aug 2017 16:20:50 -0700 Subject: [PATCH 03/29] MOAR PROGRESS --- .../wallet/SecurityImageSelection.qml | 6 +- .../qml/hifi/commerce/wallet/Wallet.qml | 26 +++-- .../commerce/wallet/WalletSetupLightbox.qml | 102 +++++++++++------- scripts/system/commerce/wallet.js | 3 + 4 files changed, 89 insertions(+), 48 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml index 984a5c932a..4086f868fb 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml @@ -24,8 +24,6 @@ Item { HifiConstants { id: hifi; } id: root; - anchors.fill: parent; - visible: false; Hifi.QmlCommerce { id: commerce; @@ -96,6 +94,10 @@ Item { function getImagePathFromImageID(imageID) { return (imageID ? gridModel.get(imageID - 1).sourcePath : ""); } + + function getSelectedImageIndex() { + return gridModel.get(securityImageGrid.currentIndex).securityImageEnumValue; + } // // FUNCTION DEFINITIONS END // diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index b200c7467f..191081118b 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -36,17 +36,27 @@ Rectangle { } } } + Connections { + target: walletSetupLightbox; + onSignalSent: { + sendToScript(msg); + } + } Rectangle { + id: walletSetupLightboxContainer; + visible: walletSetupLightbox.visible; + z: 998; anchors.fill: parent; color: "black"; opacity: 0.5; - WalletSetupLightbox { - id: walletSetupLightbox; - anchors.centerIn: parent; - width: parent.width - 50; - height: parent.height - 50; - } + } + WalletSetupLightbox { + id: walletSetupLightbox; + z: 999; + anchors.centerIn: walletSetupLightboxContainer; + width: walletSetupLightboxContainer.width - 50; + height: walletSetupLightboxContainer.height - 50; } // @@ -146,6 +156,7 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } MouseArea { + enabled: !walletSetupLightboxContainer.visible; anchors.fill: parent; hoverEnabled: enabled; onClicked: { @@ -180,6 +191,7 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } MouseArea { + enabled: !walletSetupLightboxContainer.visible; anchors.fill: parent; hoverEnabled: enabled; onClicked: { @@ -214,6 +226,7 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } MouseArea { + enabled: !walletSetupLightboxContainer.visible; anchors.fill: parent; hoverEnabled: enabled; onClicked: { @@ -248,6 +261,7 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } MouseArea { + enabled: !walletSetupLightboxContainer.visible; anchors.fill: parent; hoverEnabled: enabled; onClicked: { diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 393a6727a8..9fdb27064e 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -24,30 +24,32 @@ Rectangle { HifiConstants { id: hifi; } id: root; - property int stepNumber: 0; + property string lastPage: ""; // Style - color: hifi.colors.white; - anchors.fill: parent; + color: "white"; Hifi.QmlCommerce { id: commerce; onLoginStatusResult: { if (isLoggedIn) { - loginPageContainer.visible = false; - commerce.getSecurityImage(); + securityImageContainer.visible = true; } else { loginPageContainer.visible = true; } } onSecurityImageResult: { - loginPageContainer.visible = false; if (imageID !== 0) { // "If security image is set up" - commerce.getPassphraseSetupStatus(); passphrasePageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); - } else { + if (root.lastPage === "") { + securityImageContainer.visible = false; + choosePassphraseContainer.visible = true; + } + } else if (root.lastPage === "securityImage") { + // ERROR! Invalid security image. securityImageContainer.visible = true; + choosePassphraseContainer.visible = false; } } @@ -94,7 +96,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -141,6 +143,12 @@ Rectangle { // Anchors anchors.fill: parent; + onVisibleChanged: { + if (visible) { + commerce.getSecurityImage(); + } + } + Item { id: securityImageTitle; // Size @@ -162,7 +170,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -172,9 +180,9 @@ Rectangle { // Text below title bar RalewaySemiBold { id: securityImageTitleHelper; - text: "Choose a Security Picture"; + text: "Choose a Security Picture:"; // Text size - size: hifi.fontSizes.overlayTitle; + size: 24; // Anchors anchors.top: securityImageTitle.bottom; anchors.left: parent.left; @@ -182,7 +190,7 @@ Rectangle { height: 50; width: paintedWidth; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -193,8 +201,31 @@ Rectangle { // Anchors anchors.top: securityImageTitleHelper.bottom; anchors.left: parent.left; + anchors.leftMargin: 16; anchors.right: parent.right; - height: 350; + anchors.rightMargin: 16; + height: 280; + } + + // Text below security images + RalewaySemiBold { + text: "<b>Your security picture shows you that the service asking for your passphrase is authorized. You can change your secure picture at any time.</b>"; + // Text size + size: 18; + // Anchors + anchors.top: securityImageSelection.bottom; + anchors.topMargin: 40; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: paintedHeight; + // Style + color: hifi.colors.darkGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; } // Navigation Bar @@ -219,7 +250,7 @@ Rectangle { width: 100; text: "Cancel" onClicked: { - + signalSent({method: 'securityImageSelection_cancelClicked'}); } } @@ -236,7 +267,10 @@ Rectangle { width: 100; text: "Next"; onClicked: { - + root.lastPage = "securityImage"; + commerce.chooseSecurityImage(securityImageSelection.getSelectedImageIndex()); + securityImageContainer.visible = false; + choosePassphraseContainer.visible = true; } } } @@ -254,6 +288,12 @@ Rectangle { // Anchors anchors.fill: parent; + onVisibleChanged: { + if (visible) { + commerce.getPassphraseSetupStatus(); + } + } + Item { // Size width: parent.width; @@ -274,7 +314,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -303,7 +343,9 @@ Rectangle { width: 100; text: "Back" onClicked: { - + root.lastPage = "choosePassphrase"; + choosePassphraseContainer.visible = false; + securityImageContainer.visible = true; } } @@ -374,7 +416,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -388,27 +430,7 @@ Rectangle { // // FUNCTION DEFINITIONS START // - // - // Function Name: fromScript() - // - // Relevant Variables: - // None - // - // Arguments: - // message: The message sent from the JavaScript. - // Messages are in format "{method, params}", like json-rpc. - // - // Description: - // Called when a message is received from a script. - // - function fromScript(message) { - switch (message.method) { - default: - console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); - } - } - signal sendToScript(var message); - + signal signalSent(var msg); // // FUNCTION DEFINITIONS END // diff --git a/scripts/system/commerce/wallet.js b/scripts/system/commerce/wallet.js index 866bb613a7..330fad97a7 100644 --- a/scripts/system/commerce/wallet.js +++ b/scripts/system/commerce/wallet.js @@ -55,6 +55,9 @@ // in the format "{method, params}", like json-rpc. See also sendToQml(). function fromQml(message) { switch (message.method) { + case 'securityImageSelection_cancelClicked': + tablet.gotoHomeScreen(); + break; default: print('Unrecognized message from QML:', JSON.stringify(message)); } From d052b49a54b3b54c3de918dd03bfa39096dd939a Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Thu, 17 Aug 2017 16:34:33 -0700 Subject: [PATCH 04/29] Login and picture selection done --- .../qml/hifi/commerce/wallet/Wallet.qml | 2 +- .../commerce/wallet/WalletSetupLightbox.qml | 69 +++++++++++++++++-- scripts/system/commerce/wallet.js | 11 ++- 3 files changed, 75 insertions(+), 7 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 191081118b..d8ca2e2c94 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -38,7 +38,7 @@ Rectangle { } Connections { target: walletSetupLightbox; - onSignalSent: { + onSendSignalToWallet: { sendToScript(msg); } } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 9fdb27064e..1d0d28c055 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -24,7 +24,7 @@ Rectangle { HifiConstants { id: hifi; } id: root; - property string lastPage: ""; + property string lastPage: "login"; // Style color: "white"; @@ -42,7 +42,7 @@ Rectangle { onSecurityImageResult: { if (imageID !== 0) { // "If security image is set up" passphrasePageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); - if (root.lastPage === "") { + if (root.lastPage === "login") { securityImageContainer.visible = false; choosePassphraseContainer.visible = true; } @@ -77,6 +77,7 @@ Rectangle { } Item { + id: loginTitle; // Size width: parent.width; height: 50; @@ -103,6 +104,64 @@ Rectangle { } } + // Text below title bar + RalewaySemiBold { + id: loginTitleHelper; + text: "Please Log In to High Fidelity"; + // Text size + size: 24; + // Anchors + anchors.top: loginTitle.bottom; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + // Style + color: hifi.colors.darkGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Text below helper text + RalewaySemiBold { + id: loginDetailText; + text: "To set up your wallet, you must first log in to High Fidelity."; + // Text size + size: 18; + // Anchors + anchors.top: loginTitleHelper.bottom; + anchors.topMargin: 25; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + // Style + color: hifi.colors.darkGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // "Cancel" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: loginDetailText.bottom; + anchors.topMargin: 25; + anchors.left: parent.left; + anchors.leftMargin: 16; + width: 150; + height: 50; + text: "Log In" + onClicked: { + sendSignalToWallet({method: 'walletSetup_loginClicked'}); + } + } + // Navigation Bar Item { // Size @@ -125,7 +184,7 @@ Rectangle { width: 100; text: "Cancel" onClicked: { - + sendSignalToWallet({method: 'walletSetup_cancelClicked'}); } } } @@ -250,7 +309,7 @@ Rectangle { width: 100; text: "Cancel" onClicked: { - signalSent({method: 'securityImageSelection_cancelClicked'}); + sendSignalToWallet({method: 'walletSetup_cancelClicked'}); } } @@ -430,7 +489,7 @@ Rectangle { // // FUNCTION DEFINITIONS START // - signal signalSent(var msg); + signal sendSignalToWallet(var msg); // // FUNCTION DEFINITIONS END // diff --git a/scripts/system/commerce/wallet.js b/scripts/system/commerce/wallet.js index 330fad97a7..3cdb419f7c 100644 --- a/scripts/system/commerce/wallet.js +++ b/scripts/system/commerce/wallet.js @@ -55,9 +55,18 @@ // in the format "{method, params}", like json-rpc. See also sendToQml(). function fromQml(message) { switch (message.method) { - case 'securityImageSelection_cancelClicked': + case 'walletSetup_cancelClicked': tablet.gotoHomeScreen(); break; + case 'walletSetup_loginClicked': + if ((HMD.active && Settings.getValue("hmdTabletBecomesToolbar", false)) + || (!HMD.active && Settings.getValue("desktopTabletBecomesToolbar", true))) { + Menu.triggerOption("Login / Sign Up"); + tablet.gotoHomeScreen(); + } else { + tablet.loadQMLOnTop("../../../dialogs/TabletLoginDialog.qml"); + } + break; default: print('Unrecognized message from QML:', JSON.stringify(message)); } From 05648bdbcbae7aa63d9ba1b9df8290f3288f263f Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Thu, 17 Aug 2017 16:53:38 -0700 Subject: [PATCH 05/29] Passphrases working --- .../commerce/wallet/WalletSetupLightbox.qml | 137 +++++++++++++++++- 1 file changed, 136 insertions(+), 1 deletion(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 1d0d28c055..2947c29f6c 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -354,6 +354,7 @@ Rectangle { } Item { + id: passphraseTitle; // Size width: parent.width; height: 50; @@ -380,6 +381,130 @@ Rectangle { } } + // Text below title bar + RalewaySemiBold { + id: passphraseTitleHelper; + text: "Choose a Secure Passphrase"; + // Text size + size: 24; + // Anchors + anchors.top: passphraseTitle.bottom; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + // Style + color: hifi.colors.darkGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + HifiControlsUit.TextField { + id: passphraseField; + anchors.top: passphraseTitleHelper.bottom; + anchors.topMargin: 30; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + echoMode: TextInput.Password; + placeholderText: "passphrase"; + } + HifiControlsUit.TextField { + id: passphraseFieldAgain; + anchors.top: passphraseField.bottom; + anchors.topMargin: 10; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + echoMode: TextInput.Password; + placeholderText: "re-enter passphrase"; + } + // Error text below TextFields + RalewaySemiBold { + id: errorText; + text: ""; + // Text size + size: 16; + // Anchors + anchors.top: passphraseFieldAgain.bottom; + anchors.topMargin: 0; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 30; + // Style + color: hifi.colors.redHighlight; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Text below TextFields + RalewaySemiBold { + id: passwordReqs; + text: "Passphrase must be at least 4 characters"; + // Text size + size: 16; + // Anchors + anchors.top: passphraseFieldAgain.bottom; + anchors.topMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 30; + // Style + color: hifi.colors.darkGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Show passphrase text + HifiControlsUit.CheckBox { + id: showPassphrase; + colorScheme: hifi.colorSchemes.dark; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.top: passwordReqs.bottom; + anchors.topMargin: 16; + height: 30; + text: "Show passphrase as plain text"; + boxSize: 24; + onClicked: { + passphraseField.echoMode = checked ? TextInput.Normal : TextInput.Password; + passphraseFieldAgain.echoMode = checked ? TextInput.Normal : TextInput.Password; + } + } + + // Text below checkbox + RalewaySemiBold { + text: "Your passphrase is used to encrypt your private keys. <b>Please write it down.</b> If it is lost, you will not be able to recover it."; + // Text size + size: 16; + // Anchors + anchors.top: showPassphrase.bottom; + anchors.topMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: paintedHeight; + // Style + color: hifi.colors.darkGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + // Navigation Bar Item { // Size @@ -437,7 +562,17 @@ Rectangle { width: 100; text: "Next"; onClicked: { - + if (passphraseField.text.length < 4) { + errorText.text = "Passphrase too short." + } else if (passphraseField.text !== passphraseFieldAgain.text) { + errorText.text = "Passphrases don't match." + } else { + errorText.text = "" + root.lastPage = "passphrase"; + commerce.setPassphrase(passphraseField.text); + choosePassphraseContainer.visible = false; + privateKeysReadyContainer.visible = true; + } } } } From ccf81f801d386ff8d512198fe8ceabe7f4b3e35e Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Thu, 17 Aug 2017 17:06:48 -0700 Subject: [PATCH 06/29] All the pieces! --- .../commerce/wallet/WalletSetupLightbox.qml | 92 ++++++++++++++++++- interface/src/commerce/QmlCommerce.cpp | 3 + interface/src/commerce/QmlCommerce.h | 1 + 3 files changed, 93 insertions(+), 3 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 2947c29f6c..2ac782e042 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -42,6 +42,7 @@ Rectangle { onSecurityImageResult: { if (imageID !== 0) { // "If security image is set up" passphrasePageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); + keysReadyPageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); if (root.lastPage === "login") { securityImageContainer.visible = false; choosePassphraseContainer.visible = true; @@ -267,7 +268,7 @@ Rectangle { } // Text below security images - RalewaySemiBold { + RalewayRegular { text: "<b>Your security picture shows you that the service asking for your passphrase is authorized. You can change your secure picture at any time.</b>"; // Text size size: 18; @@ -485,7 +486,7 @@ Rectangle { } // Text below checkbox - RalewaySemiBold { + RalewayRegular { text: "Your passphrase is used to encrypt your private keys. <b>Please write it down.</b> If it is lost, you will not be able to recover it."; // Text size size: 16; @@ -591,6 +592,7 @@ Rectangle { anchors.fill: parent; Item { + id: keysReadyTitle; // Size width: parent.width; height: 50; @@ -600,7 +602,7 @@ Rectangle { // Title Bar text RalewaySemiBold { - text: "WALLET SETUP - STEP 2 OF 3"; + text: "WALLET SETUP - STEP 3 OF 3"; // Text size size: hifi.fontSizes.overlayTitle; // Anchors @@ -616,6 +618,90 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } } + + // Text below title bar + RalewaySemiBold { + id: keysReadyTitleHelper; + text: "Your Private Keys are Ready"; + // Text size + size: 24; + // Anchors + anchors.top: keysReadyTitle.bottom; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + // Style + color: hifi.colors.darkGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Text below checkbox + RalewayRegular { + text: "Your money and purchases are secured with private keys that only you have access to. " + + "<b>If they are lost, you will not be able to access your money or purchases.</b><br><br>" + + "<b>To protect your privacy, High Fidelity has no access to your private keys and cannot " + + "recover them for any reason.<br><br>To safeguard your private keys, backup this file on a regular basis:</b>"; + // Text size + size: 16; + // Anchors + anchors.top: keysReadyTitleHelper.bottom; + anchors.topMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: paintedHeight; + // Style + color: hifi.colors.darkGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Navigation Bar + Item { + // Size + width: parent.width; + height: 100; + // Anchors: + anchors.left: parent.left; + anchors.bottom: parent.bottom; + // Security Image + Image { + id: keysReadyPageSecurityImage; + // Anchors + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.right: keysReadyPageNextButton.left; + height: keysReadyPageNextButton.height; + width: height; + anchors.verticalCenter: parent.verticalCenter; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + // "Next" button + HifiControlsUit.Button { + id: keysReadyPageNextButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.right: parent.right; + anchors.rightMargin: 20; + width: 100; + text: "Finish"; + onClicked: { + root.visible = false; + } + } + } } // // PRIVATE KEYS READY END diff --git a/interface/src/commerce/QmlCommerce.cpp b/interface/src/commerce/QmlCommerce.cpp index 8cf7f0583c..751a38a1fd 100644 --- a/interface/src/commerce/QmlCommerce.cpp +++ b/interface/src/commerce/QmlCommerce.cpp @@ -64,6 +64,9 @@ void QmlCommerce::getSecurityImage() { void QmlCommerce::getLoginStatus() { emit loginStatusResult(DependencyManager::get<AccountManager>()->isLoggedIn()); } +void QmlCommerce::setPassphrase(const QString& passphrase) { + emit passphraseSetupStatusResult(true); +} void QmlCommerce::getPassphraseSetupStatus() { emit passphraseSetupStatusResult(false); } diff --git a/interface/src/commerce/QmlCommerce.h b/interface/src/commerce/QmlCommerce.h index cf6b620bdd..71ecd32d71 100644 --- a/interface/src/commerce/QmlCommerce.h +++ b/interface/src/commerce/QmlCommerce.h @@ -41,6 +41,7 @@ protected: Q_INVOKABLE void chooseSecurityImage(uint imageID); Q_INVOKABLE void getSecurityImage(); Q_INVOKABLE void getLoginStatus(); + Q_INVOKABLE void setPassphrase(const QString& passphrase); Q_INVOKABLE void getPassphraseSetupStatus(); }; From ace1e001584a301f0f7e38ac762bf0fed83ec2a7 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 10:52:42 -0700 Subject: [PATCH 07/29] MOREEEE PROGRESS --- .../qml/hifi/commerce/wallet/AccountHome.qml | 105 ++++++++++++ .../qml/hifi/commerce/wallet/NotSetUp.qml | 127 +++++++++++++++ .../commerce/wallet/PassphraseSelection.qml | 149 ++++++++++++++++++ .../commerce/wallet/SecurityImageModel.qml | 4 + .../wallet/SecurityImageSelection.qml | 2 +- .../qml/hifi/commerce/wallet/Wallet.qml | 71 ++++++++- .../commerce/wallet/WalletSetupLightbox.qml | 141 +++-------------- 7 files changed, 470 insertions(+), 129 deletions(-) create mode 100644 interface/resources/qml/hifi/commerce/wallet/AccountHome.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/NotSetUp.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml diff --git a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml new file mode 100644 index 0000000000..77ab48a351 --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml @@ -0,0 +1,105 @@ +// +// AccountHome.qml +// qml/hifi/commerce/wallet +// +// AccountHome +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Item { + HifiConstants { id: hifi; } + + id: root; + + Hifi.QmlCommerce { + id: commerce; + } + + Connections { + target: GlobalServices + onMyUsernameChanged: { + usernameText.text = Account.username; + } + } + + // Security Image + Image { + id: passphrasePageSecurityImage; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + height: 75; + width: height; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + + // Username Text + RalewayRegular { + id: usernameText; + text: Account.username; + // Text size + size: 24; + // Style + color: hifi.colors.faintGray; + elide: Text.ElideRight; + // Anchors + anchors.top: passphrasePageSecurityImage.top; + anchors.bottom: passphrasePageSecurityImage.bottom; + anchors.left: passphrasePageSecurityImage.right; + anchors.leftMargin: 16; + anchors.right: hfcBalanceContainer.left; + } + + Rectangle { + id: hfcBalanceContainer; + anchors.right: parent.right; + anchors.verticalCenter: passphrasePageSecurityImage.verticalCenter; + width: 175; + height: 45; + } + + // + // FUNCTION DEFINITIONS START + // + function setSecurityImage(imagePath) { + passphrasePageSecurityImage.source = imagePath; + } + // + // Function Name: fromScript() + // + // Relevant Variables: + // None + // + // Arguments: + // message: The message sent from the JavaScript. + // Messages are in format "{method, params}", like json-rpc. + // + // Description: + // Called when a message is received from a script. + // + function fromScript(message) { + switch (message.method) { + default: + console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); + } + } + signal sendSignalToWallet(var msg); + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/NotSetUp.qml b/interface/resources/qml/hifi/commerce/wallet/NotSetUp.qml new file mode 100644 index 0000000000..3efb592ba1 --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/NotSetUp.qml @@ -0,0 +1,127 @@ +// +// NotSetUp.qml +// qml/hifi/commerce/wallet +// +// NotSetUp +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Item { + HifiConstants { id: hifi; } + + id: root; + Hifi.QmlCommerce { + id: commerce; + } + + // + // TAB CONTENTS START + // + + // Text below title bar + RalewaySemiBold { + id: notSetUpText; + text: "Your Wallet Account Has Not Been Set Up"; + // Text size + size: 22; + // Anchors + anchors.top: parent.top; + anchors.topMargin: 100; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + width: paintedWidth; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + + // Explanitory text + RalewayRegular { + text: "To buy and sell items in High Fidelity Coin (HFC), you first need " + + "to set up your wallet.<br><b>You do not need to submit a credit card or personal information to set up your wallet.</b>"; + // Text size + size: 18; + // Anchors + anchors.top: notSetUpText.bottom; + anchors.topMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 30; + anchors.right: parent.right; + anchors.rightMargin: 30; + height: 100; + width: paintedWidth; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + + // "Set Up" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 150; + anchors.horizontalCenter: parent.horizontalCenter; + width: parent.width/2; + height: 50; + text: "Set Up My Wallet"; + onClicked: { + sendSignalToWallet({method: 'setUpClicked'}); + } + } + + + // + // TAB CONTENTS END + // + + // + // FUNCTION DEFINITIONS START + // + // + // Function Name: fromScript() + // + // Relevant Variables: + // None + // + // Arguments: + // message: The message sent from the JavaScript. + // Messages are in format "{method, params}", like json-rpc. + // + // Description: + // Called when a message is received from a script. + // + function fromScript(message) { + switch (message.method) { + default: + console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); + } + } + signal sendSignalToWallet(var msg); + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml new file mode 100644 index 0000000000..6fe1605cda --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -0,0 +1,149 @@ +// +// PassphraseSelection.qml +// qml/hifi/commerce/wallet +// +// PassphraseSelection +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Item { + HifiConstants { id: hifi; } + + id: root; + + Hifi.QmlCommerce { + id: commerce; + } + + HifiControlsUit.TextField { + id: passphraseField; + anchors.top: parent.top; + anchors.topMargin: 30; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + echoMode: TextInput.Password; + placeholderText: "passphrase"; + } + HifiControlsUit.TextField { + id: passphraseFieldAgain; + anchors.top: passphraseField.bottom; + anchors.topMargin: 10; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + echoMode: TextInput.Password; + placeholderText: "re-enter passphrase"; + } + // Error text below TextFields + RalewaySemiBold { + id: errorText; + text: ""; + // Text size + size: 16; + // Anchors + anchors.top: passphraseFieldAgain.bottom; + anchors.topMargin: 0; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 30; + // Style + color: hifi.colors.redHighlight; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Text below TextFields + RalewaySemiBold { + id: passwordReqs; + text: "Passphrase must be at least 4 characters"; + // Text size + size: 16; + // Anchors + anchors.top: passphraseFieldAgain.bottom; + anchors.topMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 30; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Show passphrase text + HifiControlsUit.CheckBox { + id: showPassphrase; + colorScheme: hifi.colorSchemes.dark; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.top: passwordReqs.bottom; + anchors.topMargin: 16; + height: 30; + text: "Show passphrase as plain text"; + boxSize: 24; + onClicked: { + passphraseField.echoMode = checked ? TextInput.Normal : TextInput.Password; + passphraseFieldAgain.echoMode = checked ? TextInput.Normal : TextInput.Password; + } + } + + // Text below checkbox + RalewayRegular { + text: "Your passphrase is used to encrypt your private keys. <b>Please write it down.</b> If it is lost, you will not be able to recover it."; + // Text size + size: 16; + // Anchors + anchors.top: showPassphrase.bottom; + anchors.topMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: paintedHeight; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + function validateAndSubmitPassphrase() { + if (passphraseField.text.length < 4) { + errorText.text = "Passphrase too short." + return false; + } else if (passphraseField.text !== passphraseFieldAgain.text) { + errorText.text = "Passphrases don't match." + return false; + } else { + errorText.text = ""; + commerce.setPassphrase(passphraseField.text); + return true; + } + } +} diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml index 1be249fb45..b49f16857b 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageModel.qml @@ -39,4 +39,8 @@ ListModel { sourcePath: "images/06gingerbread.jpg" securityImageEnumValue: 6; } + + function getImagePathFromImageID(imageID) { + return (imageID ? root.get(imageID - 1).sourcePath : ""); + } } diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml index 4086f868fb..e066102aec 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml @@ -92,7 +92,7 @@ Item { signal sendToScript(var message); function getImagePathFromImageID(imageID) { - return (imageID ? gridModel.get(imageID - 1).sourcePath : ""); + return (imageID ? gridModel.getImagePathFromImageID(imageID) : ""); } function getSelectedImageIndex() { diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index d8ca2e2c94..a48b759466 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -24,6 +24,7 @@ Rectangle { HifiConstants { id: hifi; } id: root; + property string activeView: "notSetUp"; // Style color: hifi.colors.baseGray; Hifi.QmlCommerce { @@ -35,11 +36,40 @@ Rectangle { hfcBalanceText.text = balance; } } + + onSecurityImageResult: { + if (imageID !== 0) { // "If security image is set up" + accountHome.setSecurityImage(securityImageModel.getImagePathFromImageID(imageID)); + } else if (root.lastPage === "securityImage") { + // ERROR! Invalid security image. + securityImageContainer.visible = true; + choosePassphraseContainer.visible = false; + } + } } + + SecurityImageModel { + id: securityImageModel; + } + Connections { target: walletSetupLightbox; onSendSignalToWallet: { - sendToScript(msg); + if (msg.method === 'walletSetup_cancelClicked') { + walletSetupLightbox.visible = false; + } else if (msg.method === 'walletSetup_finished') { + root.activeView = "accountHome"; + } else { + sendToScript(msg); + } + } + } + Connections { + target: notSetUp; + onSendSignalToWallet: { + if (msg.method === 'setUpClicked') { + walletSetupLightbox.visible = true; + } } } @@ -53,6 +83,7 @@ Rectangle { } WalletSetupLightbox { id: walletSetupLightbox; + visible: false; z: 999; anchors.centerIn: walletSetupLightboxContainer; width: walletSetupLightboxContainer.width - 50; @@ -84,7 +115,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -104,7 +135,27 @@ Rectangle { // // TAB CONTENTS START // + NotSetUp { + id: notSetUp; + visible: root.activeView === "notSetUp"; + anchors.top: titleBarContainer.bottom; + anchors.bottom: tabButtonsContainer.top; + anchors.left: parent.left; + anchors.right: parent.right; + } + AccountHome { + id: accountHome; + visible: root.activeView === "accountHome"; + anchors.top: titleBarContainer.bottom; + anchors.topMargin: 16; + anchors.bottom: tabButtonsContainer.top; + anchors.bottomMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + } // @@ -134,6 +185,7 @@ Rectangle { // "ACCOUNT HOME" tab button Rectangle { id: accountHomeButtonContainer; + visible: !notSetUp.visible; color: hifi.colors.black; anchors.top: parent.top; anchors.left: parent.left; @@ -149,7 +201,7 @@ Rectangle { anchors.leftMargin: 4; anchors.rightMargin: 4; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHCenter; @@ -160,6 +212,7 @@ Rectangle { anchors.fill: parent; hoverEnabled: enabled; onClicked: { + root.activeView = "accountHome"; } onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = hifi.colors.black; @@ -169,6 +222,7 @@ Rectangle { // "SEND MONEY" tab button Rectangle { id: sendMoneyButtonContainer; + visible: !notSetUp.visible; color: hifi.colors.black; anchors.top: parent.top; anchors.left: accountHomeButtonContainer.right; @@ -184,7 +238,7 @@ Rectangle { anchors.leftMargin: 4; anchors.rightMargin: 4; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHCenter; @@ -195,6 +249,7 @@ Rectangle { anchors.fill: parent; hoverEnabled: enabled; onClicked: { + root.activeView = "sendMoney"; } onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = hifi.colors.black; @@ -204,6 +259,7 @@ Rectangle { // "SECURITY" tab button Rectangle { id: securityButtonContainer; + visible: !notSetUp.visible; color: hifi.colors.black; anchors.top: parent.top; anchors.left: sendMoneyButtonContainer.right; @@ -219,7 +275,7 @@ Rectangle { anchors.leftMargin: 4; anchors.rightMargin: 4; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHCenter; @@ -230,6 +286,7 @@ Rectangle { anchors.fill: parent; hoverEnabled: enabled; onClicked: { + root.activeView = "security"; } onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = hifi.colors.black; @@ -239,6 +296,7 @@ Rectangle { // "HELP" tab button Rectangle { id: helpButtonContainer; + visible: !notSetUp.visible; color: hifi.colors.black; anchors.top: parent.top; anchors.left: securityButtonContainer.right; @@ -254,7 +312,7 @@ Rectangle { anchors.leftMargin: 4; anchors.rightMargin: 4; // Style - color: hifi.colors.lightGrayText; + color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHCenter; @@ -265,6 +323,7 @@ Rectangle { anchors.fill: parent; hoverEnabled: enabled; onClicked: { + root.activeView = "help"; } onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = hifi.colors.black; diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 2ac782e042..3f319d7a6c 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -26,7 +26,7 @@ Rectangle { id: root; property string lastPage: "login"; // Style - color: "white"; + color: hifi.colors.baseGray; Hifi.QmlCommerce { id: commerce; @@ -43,10 +43,6 @@ Rectangle { if (imageID !== 0) { // "If security image is set up" passphrasePageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); keysReadyPageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); - if (root.lastPage === "login") { - securityImageContainer.visible = false; - choosePassphraseContainer.visible = true; - } } else if (root.lastPage === "securityImage") { // ERROR! Invalid security image. securityImageContainer.visible = true; @@ -98,7 +94,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -119,7 +115,7 @@ Rectangle { anchors.rightMargin: 16; height: 50; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -140,7 +136,7 @@ Rectangle { anchors.rightMargin: 16; height: 50; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHLeft; @@ -230,7 +226,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -250,7 +246,7 @@ Rectangle { height: 50; width: paintedWidth; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -269,7 +265,7 @@ Rectangle { // Text below security images RalewayRegular { - text: "<b>Your security picture shows you that the service asking for your passphrase is authorized. You can change your secure picture at any time.</b>"; + text: "<b>Your security picture shows you that the service asking for your passphrase is authorized.</b> You can change your secure picture at any time."; // Text size size: 18; // Anchors @@ -281,7 +277,7 @@ Rectangle { anchors.rightMargin: 16; height: paintedHeight; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHLeft; @@ -375,7 +371,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -396,118 +392,24 @@ Rectangle { anchors.rightMargin: 16; height: 50; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; } - HifiControlsUit.TextField { - id: passphraseField; + PassphraseSelection { + id: passphraseSelection; anchors.top: passphraseTitleHelper.bottom; anchors.topMargin: 30; anchors.left: parent.left; - anchors.leftMargin: 16; anchors.right: parent.right; - anchors.rightMargin: 16; - height: 50; - echoMode: TextInput.Password; - placeholderText: "passphrase"; - } - HifiControlsUit.TextField { - id: passphraseFieldAgain; - anchors.top: passphraseField.bottom; - anchors.topMargin: 10; - anchors.left: parent.left; - anchors.leftMargin: 16; - anchors.right: parent.right; - anchors.rightMargin: 16; - height: 50; - echoMode: TextInput.Password; - placeholderText: "re-enter passphrase"; - } - // Error text below TextFields - RalewaySemiBold { - id: errorText; - text: ""; - // Text size - size: 16; - // Anchors - anchors.top: passphraseFieldAgain.bottom; - anchors.topMargin: 0; - anchors.left: parent.left; - anchors.leftMargin: 16; - anchors.right: parent.right; - anchors.rightMargin: 16; - height: 30; - // Style - color: hifi.colors.redHighlight; - // Alignment - horizontalAlignment: Text.AlignHLeft; - verticalAlignment: Text.AlignVCenter; - } - - // Text below TextFields - RalewaySemiBold { - id: passwordReqs; - text: "Passphrase must be at least 4 characters"; - // Text size - size: 16; - // Anchors - anchors.top: passphraseFieldAgain.bottom; - anchors.topMargin: 16; - anchors.left: parent.left; - anchors.leftMargin: 16; - anchors.right: parent.right; - anchors.rightMargin: 16; - height: 30; - // Style - color: hifi.colors.darkGray; - // Alignment - horizontalAlignment: Text.AlignHLeft; - verticalAlignment: Text.AlignVCenter; - } - - // Show passphrase text - HifiControlsUit.CheckBox { - id: showPassphrase; - colorScheme: hifi.colorSchemes.dark; - anchors.left: parent.left; - anchors.leftMargin: 16; - anchors.top: passwordReqs.bottom; - anchors.topMargin: 16; - height: 30; - text: "Show passphrase as plain text"; - boxSize: 24; - onClicked: { - passphraseField.echoMode = checked ? TextInput.Normal : TextInput.Password; - passphraseFieldAgain.echoMode = checked ? TextInput.Normal : TextInput.Password; - } - } - - // Text below checkbox - RalewayRegular { - text: "Your passphrase is used to encrypt your private keys. <b>Please write it down.</b> If it is lost, you will not be able to recover it."; - // Text size - size: 16; - // Anchors - anchors.top: showPassphrase.bottom; - anchors.topMargin: 16; - anchors.left: parent.left; - anchors.leftMargin: 16; - anchors.right: parent.right; - anchors.rightMargin: 16; - height: paintedHeight; - // Style - color: hifi.colors.darkGray; - wrapMode: Text.WordWrap; - // Alignment - horizontalAlignment: Text.AlignHLeft; - verticalAlignment: Text.AlignVCenter; + anchors.bottom: passphraseNavBar.top; } // Navigation Bar Item { + id: passphraseNavBar; // Size width: parent.width; height: 100; @@ -563,14 +465,8 @@ Rectangle { width: 100; text: "Next"; onClicked: { - if (passphraseField.text.length < 4) { - errorText.text = "Passphrase too short." - } else if (passphraseField.text !== passphraseFieldAgain.text) { - errorText.text = "Passphrases don't match." - } else { - errorText.text = "" + if (passphraseSelection.validateAndSubmitPassphrase()) { root.lastPage = "passphrase"; - commerce.setPassphrase(passphraseField.text); choosePassphraseContainer.visible = false; privateKeysReadyContainer.visible = true; } @@ -612,7 +508,7 @@ Rectangle { anchors.bottom: parent.bottom; width: paintedWidth; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -633,7 +529,7 @@ Rectangle { anchors.rightMargin: 16; height: 50; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; @@ -656,7 +552,7 @@ Rectangle { anchors.rightMargin: 16; height: paintedHeight; // Style - color: hifi.colors.darkGray; + color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHLeft; @@ -699,6 +595,7 @@ Rectangle { text: "Finish"; onClicked: { root.visible = false; + sendSignalToWallet({method: 'walletSetup_finished'}); } } } From 1a62f60348cd46f8a647ca1e036c46b9b2f94a0f Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 11:30:25 -0700 Subject: [PATCH 08/29] Commit early and often. --- .../qml/hifi/commerce/wallet/AccountHome.qml | 2 +- .../qml/hifi/commerce/wallet/Help.qml | 73 ++++++ .../commerce/wallet/PassphraseSelection.qml | 8 +- .../qml/hifi/commerce/wallet/Security.qml | 229 ++++++++++++++++++ .../qml/hifi/commerce/wallet/SendMoney.qml | 73 ++++++ .../qml/hifi/commerce/wallet/Wallet.qml | 78 +++++- 6 files changed, 453 insertions(+), 10 deletions(-) create mode 100644 interface/resources/qml/hifi/commerce/wallet/Help.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/Security.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/SendMoney.qml diff --git a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml index 77ab48a351..2a0effb47c 100644 --- a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml @@ -42,7 +42,7 @@ Item { // Anchors anchors.top: parent.top; anchors.left: parent.left; - height: 75; + height: 65; width: height; fillMode: Image.PreserveAspectFit; mipmap: true; diff --git a/interface/resources/qml/hifi/commerce/wallet/Help.qml b/interface/resources/qml/hifi/commerce/wallet/Help.qml new file mode 100644 index 0000000000..2252cbfb59 --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/Help.qml @@ -0,0 +1,73 @@ +// +// SendMoney.qml +// qml/hifi/commerce/wallet +// +// SendMoney +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Item { + HifiConstants { id: hifi; } + + id: root; + + Hifi.QmlCommerce { + id: commerce; + } + + // "Unavailable" + RalewayRegular { + text: "Help me!"; + // Anchors + anchors.fill: parent; + // Text size + size: 24; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + + // + // FUNCTION DEFINITIONS START + // + // + // Function Name: fromScript() + // + // Relevant Variables: + // None + // + // Arguments: + // message: The message sent from the JavaScript. + // Messages are in format "{method, params}", like json-rpc. + // + // Description: + // Called when a message is received from a script. + // + function fromScript(message) { + switch (message.method) { + default: + console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); + } + } + signal sendSignalToWallet(var msg); + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml index 6fe1605cda..c323defef7 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -29,6 +29,12 @@ Item { id: commerce; } + onVisibleChanged: { + if (visible) { + passphraseField.focus = true; + } + } + HifiControlsUit.TextField { id: passphraseField; anchors.top: parent.top; @@ -129,7 +135,7 @@ Item { color: hifi.colors.faintGray; wrapMode: Text.WordWrap; // Alignment - horizontalAlignment: Text.AlignHLeft; + horizontalAlignment: Text.AlignLeft; verticalAlignment: Text.AlignVCenter; } diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml new file mode 100644 index 0000000000..444420dcdf --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml @@ -0,0 +1,229 @@ +// +// Security.qml +// qml/hifi/commerce/wallet +// +// Security +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Item { + HifiConstants { id: hifi; } + + id: root; + + Hifi.QmlCommerce { + id: commerce; + } + + // Security Image + Image { + id: topSecurityImage; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + height: 65; + width: height; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + + // Username Text + RalewayRegular { + id: usernameText; + text: Account.username; + // Text size + size: 24; + // Style + color: hifi.colors.faintGray; + elide: Text.ElideRight; + // Anchors + anchors.top: topSecurityImage.top; + anchors.bottom: topSecurityImage.bottom; + anchors.left: topSecurityImage.right; + anchors.leftMargin: 16; + anchors.right: parent.right; + } + + Item { + id: securityContainer; + anchors.top: topSecurityImage.bottom; + anchors.topMargin: 20; + anchors.left: parent.left; + anchors.right: parent.right; + height: childrenRect.height; + + RalewayRegular { + id: securityText; + text: "Security"; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.right: parent.right; + height: 30; + // Text size + size: 22; + // Style + color: hifi.colors.faintGray; + } + + Item { + id: resetPassphraseContainer; + anchors.top: securityText.bottom; + anchors.topMargin: 16; + anchors.left: parent.left; + anchors.right: parent.right; + height: 75; + + Image { + id: resetPassphraseImage; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + height: parent.height; + width: height; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + // "Reset Passphrase" button + HifiControlsUit.Button { + id: resetPassphraseButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.verticalCenter: parent.verticalCenter; + anchors.left: resetPassphraseImage.right; + anchors.leftMargin: 16; + width: 250; + height: 50; + text: "Reset My Passphrase"; + onClicked: { + + } + } + } + + Item { + id: resetSecurityImageContainer; + anchors.top: resetPassphraseContainer.bottom; + anchors.topMargin: 8; + anchors.left: parent.left; + anchors.right: parent.right; + height: 75; + + Image { + id: resetSecurityImageImage; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + height: parent.height; + width: height; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + // "Reset Security Image" button + HifiControlsUit.Button { + id: resetSecurityImageButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.verticalCenter: parent.verticalCenter; + anchors.left: resetSecurityImageImage.right; + anchors.leftMargin: 16; + width: 250; + height: 50; + text: "Reset My Security Image"; + onClicked: { + + } + } + } + } + + Item { + id: yourPrivateKeysContainer; + anchors.top: securityContainer.bottom; + anchors.topMargin: 20; + anchors.left: parent.left; + anchors.right: parent.right; + height: childrenRect.height; + + RalewaySemiBold { + id: yourPrivateKeysText; + text: "Your Private Keys"; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.right: parent.right; + height: 30; + // Text size + size: 22; + // Style + color: hifi.colors.faintGray; + } + + // Text below "your private keys" + RalewayRegular { + text: "Your money and purchases are secured with private keys that only you " + + "have access to. <b>If they are lost, you will not be able to access your money or purchases.</b> " + + "To ensure they are not lost, it is imperative that you back up your private keys.<br><br>" + + "<b>To safeguard your private keys, back up this file regularly:</b>"; + // Text size + size: 18; + // Anchors + anchors.top: yourPrivateKeysText.bottom; + anchors.topMargin: 20; + anchors.left: parent.left; + anchors.right: parent.right; + height: paintedHeight; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignLeft; + verticalAlignment: Text.AlignVCenter; + } + } + + // + // FUNCTION DEFINITIONS START + // + function setSecurityImages(imagePath) { + topSecurityImage.source = imagePath; + resetSecurityImageImage.source = imagePath; + } + // + // Function Name: fromScript() + // + // Relevant Variables: + // None + // + // Arguments: + // message: The message sent from the JavaScript. + // Messages are in format "{method, params}", like json-rpc. + // + // Description: + // Called when a message is received from a script. + // + function fromScript(message) { + switch (message.method) { + default: + console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); + } + } + signal sendSignalToWallet(var msg); + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/SendMoney.qml b/interface/resources/qml/hifi/commerce/wallet/SendMoney.qml new file mode 100644 index 0000000000..75334b1686 --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/SendMoney.qml @@ -0,0 +1,73 @@ +// +// SendMoney.qml +// qml/hifi/commerce/wallet +// +// SendMoney +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Item { + HifiConstants { id: hifi; } + + id: root; + + Hifi.QmlCommerce { + id: commerce; + } + + // "Unavailable" + RalewayRegular { + text: "You currently cannot send money to other High Fidelity users."; + // Anchors + anchors.fill: parent; + // Text size + size: 24; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + + // + // FUNCTION DEFINITIONS START + // + // + // Function Name: fromScript() + // + // Relevant Variables: + // None + // + // Arguments: + // message: The message sent from the JavaScript. + // Messages are in format "{method, params}", like json-rpc. + // + // Description: + // Called when a message is received from a script. + // + function fromScript(message) { + switch (message.method) { + default: + console.log('Unrecognized message from wallet.js:', JSON.stringify(message)); + } + } + signal sendSignalToWallet(var msg); + // + // FUNCTION DEFINITIONS END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index a48b759466..1f76d5cfa4 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -24,7 +24,9 @@ Rectangle { HifiConstants { id: hifi; } id: root; + property string activeView: "notSetUp"; + // Style color: hifi.colors.baseGray; Hifi.QmlCommerce { @@ -40,6 +42,7 @@ Rectangle { onSecurityImageResult: { if (imageID !== 0) { // "If security image is set up" accountHome.setSecurityImage(securityImageModel.getImagePathFromImageID(imageID)); + security.setSecurityImages(securityImageModel.getImagePathFromImageID(imageID)); } else if (root.lastPage === "securityImage") { // ERROR! Invalid security image. securityImageContainer.visible = true; @@ -157,6 +160,45 @@ Rectangle { anchors.rightMargin: 16; } + SendMoney { + id: sendMoney; + visible: root.activeView === "sendMoney"; + anchors.top: titleBarContainer.bottom; + anchors.topMargin: 16; + anchors.bottom: tabButtonsContainer.top; + anchors.bottomMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + } + + Security { + id: security; + visible: root.activeView === "security"; + anchors.top: titleBarContainer.bottom; + anchors.topMargin: 16; + anchors.bottom: tabButtonsContainer.top; + anchors.bottomMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + } + + Help { + id: help; + visible: root.activeView === "help"; + anchors.top: titleBarContainer.bottom; + anchors.topMargin: 16; + anchors.bottom: tabButtonsContainer.top; + anchors.bottomMargin: 16; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + } + // // TAB CONTENTS END @@ -186,7 +228,7 @@ Rectangle { Rectangle { id: accountHomeButtonContainer; visible: !notSetUp.visible; - color: hifi.colors.black; + color: root.activeView === "accountHome" ? hifi.colors.blueAccent : hifi.colors.black; anchors.top: parent.top; anchors.left: parent.left; anchors.bottom: parent.bottom; @@ -213,9 +255,10 @@ Rectangle { hoverEnabled: enabled; onClicked: { root.activeView = "accountHome"; + tabButtonsContainer.resetTabButtonColors(); } onEntered: parent.color = hifi.colors.blueHighlight; - onExited: parent.color = hifi.colors.black; + onExited: parent.color = root.activeView === "accountHome" ? hifi.colors.blueAccent : hifi.colors.black; } } @@ -223,7 +266,7 @@ Rectangle { Rectangle { id: sendMoneyButtonContainer; visible: !notSetUp.visible; - color: hifi.colors.black; + color: root.activeView === "sendMoney" ? hifi.colors.blueAccent : hifi.colors.black; anchors.top: parent.top; anchors.left: accountHomeButtonContainer.right; anchors.bottom: parent.bottom; @@ -250,9 +293,10 @@ Rectangle { hoverEnabled: enabled; onClicked: { root.activeView = "sendMoney"; + tabButtonsContainer.resetTabButtonColors(); } onEntered: parent.color = hifi.colors.blueHighlight; - onExited: parent.color = hifi.colors.black; + onExited: parent.color = root.activeView === "sendMoney" ? hifi.colors.blueAccent : hifi.colors.black; } } @@ -260,7 +304,7 @@ Rectangle { Rectangle { id: securityButtonContainer; visible: !notSetUp.visible; - color: hifi.colors.black; + color: root.activeView === "security" ? hifi.colors.blueAccent : hifi.colors.black; anchors.top: parent.top; anchors.left: sendMoneyButtonContainer.right; anchors.bottom: parent.bottom; @@ -287,9 +331,10 @@ Rectangle { hoverEnabled: enabled; onClicked: { root.activeView = "security"; + tabButtonsContainer.resetTabButtonColors(); } onEntered: parent.color = hifi.colors.blueHighlight; - onExited: parent.color = hifi.colors.black; + onExited: parent.color = root.activeView === "security" ? hifi.colors.blueAccent : hifi.colors.black; } } @@ -297,7 +342,7 @@ Rectangle { Rectangle { id: helpButtonContainer; visible: !notSetUp.visible; - color: hifi.colors.black; + color: root.activeView === "help" ? hifi.colors.blueAccent : hifi.colors.black; anchors.top: parent.top; anchors.left: securityButtonContainer.right; anchors.bottom: parent.bottom; @@ -324,9 +369,26 @@ Rectangle { hoverEnabled: enabled; onClicked: { root.activeView = "help"; + tabButtonsContainer.resetTabButtonColors(); } onEntered: parent.color = hifi.colors.blueHighlight; - onExited: parent.color = hifi.colors.black; + onExited: parent.color = root.activeView === "help" ? hifi.colors.blueAccent : hifi.colors.black; + } + } + + function resetTabButtonColors() { + accountHomeButtonContainer.color = hifi.colors.black; + sendMoneyButtonContainer.color = hifi.colors.black; + securityButtonContainer.color = hifi.colors.black; + helpButtonContainer.color = hifi.colors.black; + if (root.activeView === "accountHome") { + accountHomeButtonContainer.color = hifi.colors.blueAccent; + } else if (root.activeView === "sendMoney") { + sendMoneyButtonContainer.color = hifi.colors.blueAccent; + } else if (root.activeView === "security") { + securityButtonContainer.color = hifi.colors.blueAccent; + } else if (root.activeView === "help") { + helpButtonContainer.color = hifi.colors.blueAccent; } } } From 9636fad67916cd467ae1f1957ee2f2600c071312 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 13:37:06 -0700 Subject: [PATCH 09/29] Updates from wireframes --- .../resources/icons/tablet-icons/wallet-a.svg | 180 ++++++++++++ .../resources/icons/tablet-icons/wallet-i.svg | 276 ++++++++++++++++++ .../qml/hifi/commerce/wallet/AccountHome.qml | 130 +++++++-- .../commerce/wallet/PassphraseSelection.qml | 50 +++- .../qml/hifi/commerce/wallet/Security.qml | 58 ++-- .../qml/hifi/commerce/wallet/Wallet.qml | 15 +- .../commerce/wallet/WalletSetupLightbox.qml | 31 +- scripts/system/commerce/wallet.js | 4 +- 8 files changed, 656 insertions(+), 88 deletions(-) create mode 100644 interface/resources/icons/tablet-icons/wallet-a.svg create mode 100644 interface/resources/icons/tablet-icons/wallet-i.svg diff --git a/interface/resources/icons/tablet-icons/wallet-a.svg b/interface/resources/icons/tablet-icons/wallet-a.svg new file mode 100644 index 0000000000..4a0bab4b33 --- /dev/null +++ b/interface/resources/icons/tablet-icons/wallet-a.svg @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + id="svg8" + version="1.1" + viewBox="0 0 67.733332 67.733335" + height="256" + width="256"> + <defs + id="defs2"> + <filter + id="filter3737" + style="color-interpolation-filters:sRGB;"> + <feColorMatrix + id="feColorMatrix3735" + result="fbSourceGraphic" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " /> + <feColorMatrix + id="feColorMatrix3755" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feColorMatrix + in="fbSourceGraphic" + result="color1" + values="180" + type="hueRotate" + id="feColorMatrix3757" /> + <feColorMatrix + result="color2" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + id="feColorMatrix3759" /> + </filter> + <filter + id="filter3741" + style="color-interpolation-filters:sRGB;"> + <feColorMatrix + id="feColorMatrix3739" + result="fbSourceGraphic" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " /> + <feColorMatrix + id="feColorMatrix3761" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feColorMatrix + in="fbSourceGraphic" + result="color1" + values="180" + type="hueRotate" + id="feColorMatrix3763" /> + <feColorMatrix + result="color2" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + id="feColorMatrix3765" /> + </filter> + <filter + id="filter3745" + style="color-interpolation-filters:sRGB;"> + <feColorMatrix + id="feColorMatrix3743" + result="fbSourceGraphic" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " /> + <feColorMatrix + id="feColorMatrix3767" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feColorMatrix + in="fbSourceGraphic" + result="color1" + values="180" + type="hueRotate" + id="feColorMatrix3769" /> + <feColorMatrix + result="color2" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + id="feColorMatrix3771" /> + </filter> + <filter + id="filter3749" + style="color-interpolation-filters:sRGB;"> + <feColorMatrix + id="feColorMatrix3747" + result="fbSourceGraphic" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " /> + <feColorMatrix + id="feColorMatrix3773" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feColorMatrix + in="fbSourceGraphic" + result="color1" + values="180" + type="hueRotate" + id="feColorMatrix3775" /> + <feColorMatrix + result="color2" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + id="feColorMatrix3777" /> + </filter> + <filter + id="filter3753" + style="color-interpolation-filters:sRGB;"> + <feColorMatrix + id="feColorMatrix3751" + result="fbSourceGraphic" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " /> + <feColorMatrix + id="feColorMatrix3779" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feColorMatrix + in="fbSourceGraphic" + result="color1" + values="180" + type="hueRotate" + id="feColorMatrix3781" /> + <feColorMatrix + result="color2" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + id="feColorMatrix3783" /> + </filter> + </defs> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(0,-229.26665)" + id="layer1"> + <path + id="path3719" + d="m 47.58248,232.15716 c -0.05338,0 -0.381483,-0.0141 -0.408329,0 -0.04304,0.0227 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0161 -0.07164,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05642,0.0914 -0.102077,0.10746 -0.153124,0.0537 -0.178644,-0.0269 -0.306247,0 -0.137574,0.0288 -0.269938,0.0831 -0.408328,0.10734 -0.06713,0.0122 -0.138141,-0.0174 -0.204164,0 -0.177773,0.0467 -0.305415,0.23951 -0.51041,0.2148 -0.06673,0.014 -0.137436,-0.014 -0.204165,0 -0.105513,0.0223 -0.202781,0.0763 -0.306247,0.10746 -0.134899,0.0406 -0.273428,0.0669 -0.408328,0.10746 -0.421124,0.12657 -0.191369,0.0882 -0.612493,0.2148 -0.1349,0.0405 -0.269938,0.0831 -0.408328,0.10734 -0.06713,0.0122 -0.139598,-0.0226 -0.204165,0 -0.144366,0.0506 -0.263961,0.16418 -0.408327,0.2148 -0.228263,0.0799 -0.518349,-0.2182 -0.714575,0.10734 -0.114882,0.0453 -0.189855,0.17403 -0.306247,0.2148 -0.09684,0.034 -0.206147,-0.0211 -0.306247,0 -0.07461,0.0157 -0.133512,0.0776 -0.204163,0.10734 -0.0999,0.0421 -0.204169,0.0717 -0.306247,0.10745 -0.102077,0.0358 -0.200733,0.0852 -0.306246,0.10734 -0.06673,0.014 -0.147544,-0.0397 -0.204164,0 -0.0633,0.0444 -0.04828,0.15822 -0.102077,0.2148 -0.193482,0.20348 -0.264908,0.0427 -0.510412,0.10734 -0.04668,0.0123 -0.06203,0.0793 -0.102077,0.10746 -0.06331,0.0443 -0.140858,0.0629 -0.204164,0.10733 -0.04003,0.028 -0.05539,0.0951 -0.102077,0.10734 -0.09904,0.026 -0.207212,-0.026 -0.306247,0 -0.09337,0.0246 -0.112858,0.1828 -0.204165,0.2148 -0.06457,0.0226 -0.139597,-0.0226 -0.204163,0 -0.04564,0.0161 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07164,-0.0161 -0.102077,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.06979,-0.011 -0.102078,0 -0.07218,0.0253 -0.131975,0.082 -0.204164,0.10733 -0.03228,0.011 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.06979,-0.011 -0.102078,0 -0.07218,0.0252 -0.131987,0.082 -0.204164,0.10733 -0.0719,0.0252 -0.380938,-0.0288 -0.408328,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.04812,0.0506 -0.1433,-0.032 -0.204165,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.06086,0.032 -0.156047,-0.0506 -0.204165,0 -0.02406,0.0252 0.02406,0.082 0,0.10733 -0.04812,0.0506 -0.143298,-0.032 -0.204163,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07164,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0161 -0.07164,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03043,0.0161 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.131986,0.0821 -0.204163,0.10746 -0.03228,0.0109 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.06203,0.0792 -0.102078,0.10733 -0.0633,0.0444 -0.140859,0.063 -0.204164,0.10746 -0.186783,0.13107 -0.01018,0.13691 -0.306247,0.21479 -0.06602,0.0174 -0.13814,-0.0174 -0.204163,0 -0.07382,0.0195 -0.130345,0.088 -0.204165,0.10746 -0.06602,0.0174 -0.143299,-0.032 -0.204164,0 -0.08608,0.0453 -0.118084,0.16953 -0.204165,0.2148 -0.06086,0.032 -0.136104,0 -0.204163,0 -0.102078,0 -0.207211,-0.026 -0.306247,0 -0.04668,0.0123 -0.06805,0.0717 -0.102078,0.10746 -0.103766,0.10916 -0.141442,0.17148 -0.306245,0.21481 -0.06602,0.0174 -0.136105,0 -0.204165,0 -0.03402,0.0359 -0.05642,0.0914 -0.102077,0.10745 -0.06457,0.0226 -0.139599,-0.0226 -0.204165,0 -0.09131,0.032 -0.112858,0.1828 -0.204164,0.21481 -0.06457,0.0226 -0.13814,-0.0174 -0.204164,0 -0.152792,0.0402 -0.40063,0.26452 -0.510411,0.3222 -0.03043,0.0161 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.06203,0.0792 -0.102077,0.10733 -0.06331,0.0444 -0.136105,0.0717 -0.204165,0.10746 -0.03402,0 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0228 -0.06203,0.0794 -0.102078,0.10746 -0.06331,0.0444 -0.136105,0.0717 -0.204165,0.10746 -0.03402,0 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0161 -0.06979,-0.011 -0.102078,0 -0.07219,0.0252 -0.136105,0.0716 -0.204164,0.10734 -0.03402,0 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.130344,0.088 -0.204164,0.10746 -0.06602,0.0174 -0.139597,-0.0226 -0.204164,0 -0.04565,0.0161 -0.05904,0.0848 -0.102077,0.10745 -0.04047,0.0213 -0.28538,-0.0219 -0.306247,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.06086,0.032 -0.143299,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.03043,0.0161 -0.07164,-0.0159 -0.102078,0 -0.311336,0.16381 0.186702,0.0852 -0.306247,0.21481 -0.06602,0.0174 -0.143299,-0.032 -0.204164,0 -0.03043,0.0159 0.03043,0.0914 0,0.10733 -0.06087,0.032 -0.139597,-0.0226 -0.204163,0 -0.04565,0.0161 -0.06203,0.0794 -0.102078,0.10746 -0.06331,0.0444 -0.131987,0.0821 -0.204165,0.10745 -0.312322,0.1099 0.254757,-0.35763 -0.408327,0.10746 -0.02832,0.02 0.02406,0.0822 0,0.10746 -0.0538,0.0566 -0.140859,0.0629 -0.204165,0.10733 -0.289055,0.20271 0.193468,0.0689 -0.408329,0.32222 -0.06319,0.0266 -0.139597,-0.0226 -0.204163,0 -0.09131,0.032 -0.124087,0.15857 -0.204165,0.21479 -0.5157,0.36176 -0.0023,8.5e-4 -0.306247,0.10746 -0.144366,0.0506 -0.263963,0.16416 -0.408327,0.21479 -0.03228,0.011 -0.07165,-0.0159 -0.102078,0 -0.08608,0.0453 -0.118084,0.16953 -0.204165,0.2148 -0.03043,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.156047,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102077,0 -0.467191,0.24571 0.433175,-0.0445 -0.306247,0.2148 -0.03227,0.011 -0.07165,-0.0161 -0.102078,0 -0.424836,0.22333 0.109134,-0.007 -0.102077,0.21481 -0.0538,0.0566 -0.131976,0.082 -0.204165,0.10733 -0.03228,0.011 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06979,-0.0109 -0.102077,0 -0.07219,0.0253 -0.140859,0.063 -0.204165,0.10746 -0.04003,0.0281 -0.06805,0.0717 -0.102077,0.10745 -0.03402,0 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05642,0.0914 -0.102078,0.10734 -0.06457,0.0226 -0.143298,-0.032 -0.204163,0 -0.03043,0.0161 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.131987,0.0821 -0.204164,0.10745 -0.06457,0.0226 -0.143288,-0.032 -0.204165,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.06086,0.032 -0.156045,-0.0506 -0.204164,0 -0.211211,0.2221 0.322763,-0.009 -0.102077,0.21479 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.46719,0.24572 0.433177,-0.0445 -0.306247,0.21481 -0.225308,0.0791 0.02819,-0.13701 -0.204164,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03043,0.0161 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10745 -0.06086,0.032 -0.156046,-0.0506 -0.204164,0 -0.02406,0.0253 0,0.0717 0,0.10746 -0.06805,0.0716 -0.136104,0.14325 -0.204164,0.21481 -0.05662,0.0397 -0.143299,-0.032 -0.204164,0 -0.08608,0.0453 -0.112858,0.1828 -0.204165,0.2148 -0.06457,0.0226 -0.139598,-0.0226 -0.204164,0 -0.04565,0.0159 -0.06203,0.0792 -0.102078,0.10734 -0.0633,0.0444 -0.150367,0.0509 -0.204165,0.10745 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07165,-0.0161 -0.102078,0 -0.08608,0.0453 -0.118083,0.16953 -0.204163,0.2148 -0.06088,0.032 -0.1433,-0.032 -0.204165,0 -0.04304,0.0228 -0.05642,0.0914 -0.102078,0.10745 -4.62e-4,1.6e-4 -0.306148,-1.1e-4 -0.306246,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.03043,0.0915 0,0.10746 -0.06086,0.032 -0.143289,-0.032 -0.204165,0 -0.03043,0.0161 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.1433,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102078,0 -0.02704,0.0285 0.06232,0.2653 -0.102078,0.21479 -0.0633,0.0444 -0.140859,0.063 -0.204164,0.10746 -0.04003,0.028 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0161 -0.06979,-0.011 -0.102077,0 -0.09012,0.0316 -0.531711,0.26561 -0.612494,0.3222 -0.135022,0.0947 -0.199238,0.34435 -0.408328,0.3222 -0.241271,0.15231 -0.438872,0.17717 -0.714574,0.32221 -0.04304,0.0226 -0.06203,0.0792 -0.102078,0.10734 -0.06331,0.0444 -0.150367,0.0509 -0.204165,0.10745 -0.0538,0.0566 -0.04828,0.15822 -0.102077,0.21481 -0.0538,0.0567 -0.140859,0.063 -0.204165,0.10745 -0.04003,0.0281 -0.06203,0.0794 -0.102077,0.10746 -0.01902,0.0134 -0.401736,0.2075 -0.408329,0.21481 -0.0538,0.0566 -0.04828,0.1582 -0.102078,0.21479 -0.02406,0.0253 -0.0698,-0.0109 -0.102078,0 -0.07219,0.0253 -0.140858,0.063 -0.204163,0.10746 -0.234516,0.16449 0.04377,0.0613 -0.204165,0.3222 -0.0538,0.0566 -0.140859,0.0629 -0.204164,0.10733 -0.08008,0.0562 -0.118084,0.16954 -0.204165,0.21481 -0.03043,0.0161 -0.07164,-0.0159 -0.102077,0 -0.46719,0.24571 0.433177,-0.0445 -0.306246,0.2148 -0.03227,0.011 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.06805,0.0716 -0.102078,0.10734 -0.07973,0.0838 -0.218165,0.26038 -0.306247,0.3222 -0.06331,0.0444 -0.136104,0.0717 -0.204163,0.10746 -0.03402,0 -0.07165,-0.0161 -0.102078,0 -0.08608,0.0453 -0.118084,0.16953 -0.204164,0.2148 -0.03043,0.0159 -0.07802,-0.0253 -0.102078,0 -0.211211,0.22209 0.322764,-0.009 -0.102078,0.21479 -0.06086,0.032 -0.156045,-0.0506 -0.204163,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143295,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0847 -0.102082,0.10733 -0.03044,0.0161 -0.07802,-0.0253 -0.102082,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102083,0 -0.08608,0.0453 -0.118081,0.16952 -0.204164,0.21479 -0.03044,0.0161 -0.07802,-0.0253 -0.102082,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102082,0 -0.02406,0.0253 0.01522,0.0754 0,0.10746 -0.212424,0.44691 0.007,-0.11488 -0.204165,0.10733 -0.02406,0.0254 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.1432936,-0.032 -0.2041642,0 -0.086083,0.0453 -0.1180812,0.16954 -0.2041642,0.21481 -0.060871,0.032 -0.1560426,-0.0506 -0.2041643,0 -0.024061,0.0253 0.024061,0.0821 0,0.10745 -0.068009,0.0716 -0.1361556,-0.0716 -0.2041641,0 -0.024061,0.0253 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.024061,0.0253 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.024061,0.0253 0.024061,0.0821 0,0.10745 -0.024061,0.0253 -0.07377,-0.0198 -0.1020823,0 -0.08008,0.0562 -0.1361093,0.14325 -0.2041642,0.21481 -0.034027,0.0359 -0.059041,0.0848 -0.1020822,0.10746 -0.060869,0.032 -0.1432947,-0.032 -0.2041642,0 -0.086083,0.0453 -0.1180813,0.16953 -0.2041643,0.2148 -0.030435,0.0161 -0.071648,-0.0159 -0.1020822,0 -0.2257093,0.11878 -0.031678,0.0667 -0.1020823,0.21481 -0.212423,0.44703 0.00704,-0.11476 -0.2041643,0.10745 -0.024061,0.0253 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.024061,0.0253 0.024061,0.082 0,0.10733 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.048122,0.0506 0.048122,0.16418 0,0.21481 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.048122,0.0506 0.048122,0.16418 0,0.2148 -0.024061,0.0253 -0.071647,-0.0161 -0.1020823,0 -0.043042,0.0226 -0.068055,0.0717 -0.1020823,0.10746 -0.034027,0.0359 -0.080561,0.0622 -0.1020822,0.10746 -0.015217,0.0321 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.024061,0.0253 0.024061,0.082 0,0.10733 -0.048122,0.0506 -0.1560425,-0.0506 -0.2041641,0 -0.024061,0.0253 0.024061,0.0822 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.048122,0.0506 0.048122,0.16417 0,0.21479 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.048122,0.0506 0.030435,0.15079 0,0.21481 -0.021521,0.0454 -0.080561,0.0622 -0.1020823,0.10745 -0.015217,0.0321 0.015217,0.0755 0,0.10746 -0.021521,0.0454 -0.080562,0.0622 -0.1020823,0.10746 -0.035256,0.0742 0.035833,0.49928 0,0.537 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.024061,0.0253 0,0.0717 0,0.10746 0,0.0359 -0.024061,0.0821 0,0.10746 0.024061,0.0253 0.078021,-0.0253 0.1020822,0 0.020869,0.0219 -0.020237,0.2796 0,0.3222 0.021521,0.0453 0.080562,0.0622 0.1020823,0.10745 0.030435,0.064 -0.048122,0.16417 0,0.2148 0.024061,0.0253 0.078021,-0.0253 0.1020823,0 0.024061,0.0253 -0.024061,0.0821 0,0.10745 0.024061,0.0253 0.078021,-0.0253 0.1020822,0 0.024061,0.0253 -0.024061,0.0822 0,0.10746 0.024061,0.0253 0.071648,-0.0161 0.1020823,0 0.1224984,0.0645 0.1837477,0.25782 0.3062463,0.3222 0.068055,0.0359 0.317871,-0.096 0.3062463,0.10746 0.08008,0.0561 0.1128591,0.18279 0.2041641,0.21479 0.064563,0.0226 0.1396015,-0.0226 0.2041643,0 0.069125,0.0242 0.2282671,0.2812 0.3062463,0.32221 0.030435,0.016 0.069802,-0.0109 0.1020823,0 0.072183,0.0253 0.1319811,0.0822 0.2041642,0.10746 0.032282,0.011 0.071647,-0.0161 0.1020822,0 0.1224986,0.0645 0.1837479,0.25783 0.3062463,0.3222 0.040475,0.0213 0.2853775,-0.0219 0.3062465,0 0.024061,0.0253 -0.030435,0.0914 0,0.10746 0.060869,0.032 0.1381416,-0.0174 0.2041641,0 0.4929489,0.12961 -0.00505,0.051 0.3062463,0.21479 0.030435,0.0161 0.068055,0 0.1020823,0 0.034027,0 0.068055,0 0.1020827,0 0.412544,0 0.659468,0.006 1.122902,0.21481 l 53.082699,0.3222 c -0.721835,-0.0998 0.144367,0.49252 10e-7,0.64441 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.0032,0.004 0,0.29615 0,0.3222 0,0.53701 0,1.07401 0,1.61102 0,0.25059 0,0.5012 0,0.7518 0,0.10745 0,0.2148 0,0.3222 0,0.0716 0.01651,0.14534 0,0.2148 -0.01845,0.0776 -0.08363,0.13714 -0.102077,0.21481 -0.01651,0.0695 0,0.1432 0,0.2148 0,0.179 0,0.35801 0,0.53701 0,0.4654 0,0.9308 0,1.39621 0,0.25059 0,0.5012 0,0.7518 0,0.0358 -0.02406,0.0821 0,0.10745 0.02406,0.0253 0.07802,-0.0253 0.102077,0 0.02406,0.0253 0,0.0716 0,0.10746 0,0.0358 0,0.0716 0,0.10746 0,0.0761 -0.0132,0.61663 0,0.6444 0.02153,0.0453 0.08056,0.0621 0.102078,0.10746 0.01846,0.0388 0,0.46231 0,0.537 0,0.42961 0,0.85921 0,1.28882 0,0.39381 0,0.7876 0,1.18141 0,0.0747 0.01846,0.49817 0,0.537 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.01846,0.0388 0,0.46231 0,0.537 0,0.35801 0,0.71601 0,1.07402 0,0.0912 0.01876,0.58519 0,0.64441 -0.01522,0.0481 -0.08056,0.0621 -0.102077,0.10734 -0.01522,0.032 0,0.0716 0,0.10745 0,0.12687 0.02023,0.58055 0,0.64442 -0.01522,0.0481 -0.08687,0.0594 -0.102078,0.10733 -0.03616,0.11415 0.03616,0.31549 0,0.42961 -0.02406,0.0759 -0.07802,0.13886 -0.102078,0.21479 -0.01076,0.034 0,0.0716 0,0.10746 0,0.10405 0.02029,0.58037 0,0.6444 -0.02406,0.0759 -0.07802,0.13886 -0.102077,0.21481 -0.01876,0.0593 0.02183,0.40664 0,0.42959 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02183,0.023 0.01876,0.3704 0,0.42961 -0.02406,0.0759 -0.07802,0.13886 -0.102078,0.21481 -0.02739,0.0864 0.03262,0.36097 0,0.4296 -0.02151,0.0453 -0.08056,0.0621 -0.102077,0.10745 -0.01846,0.0388 0,0.4623 0,0.53701 0,0.179 0,0.358 0,0.537 0,0.10746 0.03228,0.22031 0,0.3222 -0.01522,0.0481 -0.08056,0.0621 -0.102078,0.10746 -0.03207,0.0675 0.03207,0.36211 0,0.42961 -0.02153,0.0453 -0.08056,0.0621 -0.102077,0.10746 -0.02948,0.0621 0.02504,0.53904 0,0.6444 -0.01845,0.0776 -0.07802,0.13887 -0.102078,0.2148 -0.02865,0.0904 0.03039,0.47307 0,0.53701 -0.03649,0.0768 -0.167668,0.138 -0.204165,0.2148 -0.03208,0.0676 0.03207,0.3621 0,0.4296 -0.02153,0.0453 -0.08056,0.0622 -0.102077,0.10746 -0.0322,0.0678 0.0322,0.46924 0,0.537 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.02769,0.0583 0.02793,0.40022 0,0.42961 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.0046,0.005 0,0.48636 0,0.53701 0,0.0358 0.02406,0.0821 0,0.10733 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.06801,0.0716 0.06801,0.14325 0,0.21481 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.03583,0.0377 0.03526,0.46282 0,0.537 -0.02153,0.0453 -0.102077,0.0567 -0.102077,0.10746 0,0.0358 0.102077,-0.0358 0.102077,0 0,0.0358 -0.08687,-0.032 -0.102077,0 -0.01201,0.0252 0,0.35905 0,0.42961 0,0.0483 0.01553,0.28951 0,0.3222 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.01514,0.0319 0,0.54052 0,0.64441 0,0.10113 0.01935,0.4759 0,0.53699 -0.01522,0.0481 -0.08687,0.0594 -0.102078,0.10746 -0.02314,0.073 0.02707,0.48005 0,0.53701 -0.02153,0.0453 -0.08056,0.0621 -0.102077,0.10733 -0.01553,0.0327 0,0.27384 0,0.3222 0,0.28641 0,0.57281 0,0.85921 0,0.11245 0.02075,0.55707 0,0.64441 -0.01845,0.0777 -0.07802,0.13886 -0.102078,0.21481 -0.02221,0.0701 0,0.51599 0,0.6444 0,0.2148 0,0.4296 0,0.6444 0,0.0358 0,0.0716 0,0.10746 0,0.0358 0.01522,0.0753 0,0.10746 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10733 -0.01553,0.0327 0,0.27384 0,0.32221 0,0.0358 -0.02406,0.0822 0,0.10746 0.02406,0.0253 0.07802,-0.0253 0.102078,0 0.0042,0.005 0,0.39016 0,0.4296 0,0.0394 0.0042,0.42529 0,0.42961 -0.02406,0.0253 -0.06805,0 -0.102078,0" + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3753)" /> + <path + id="path3721" + d="m 6.1375282,254.49902 c 0,0.21479 0,0.4296 0,0.6444 0,0.0358 0.015216,0.0753 0,0.10746 -0.040806,0.0859 -0.163359,0.12895 -0.2041643,0.2148 -0.015534,0.0327 0,0.27384 0,0.32221 0,0.2148 0,0.4296 0,0.6444 0,0.10745 0.032281,0.22031 0,0.32221 -0.015216,0.0481 -0.086865,0.0594 -0.1020822,0.10746 -0.021521,0.0679 0,0.1432 0,0.2148 0,0.21481 0,0.4296 0,0.6444 0,0.10746 0.024759,0.21801 0,0.3222 -0.011672,0.0492 -0.090411,0.0583 -0.1020823,0.10746 -0.018342,0.0772 0,0.52598 0,0.6444 0,0.35801 0,0.71601 0,1.07401 0,0.17901 0,0.35801 0,0.53701 0,0.0716 0,0.1432 0,0.2148 0,0.0358 -0.015216,0.0753 0,0.10746 0.02152,0.0453 0.086865,0.0594 0.1020823,0.10734 0.018292,0.0578 0,0.33868 0,0.42961 0,0.3222 0,0.6444 0,0.9666 0,0.0976 0.02209,0.68209 0,0.75181 -0.030436,0.096 -0.1611228,0.12424 -0.2041643,0.2148 -0.02699,0.0568 0.012434,0.37728 0,0.42961 -0.018454,0.0777 -0.078021,0.13886 -0.1020823,0.2148 -0.010757,0.034 0,0.0716 0,0.10745 0,0.0716 0,0.1432 0,0.21481 0,0.21479 0,0.42959 0,0.6444 0,0.10746 0.020021,0.21689 0,0.3222 -0.014922,0.0785 -0.073824,0.14047 -0.1020822,0.21481 -0.039962,0.10514 -0.08098,0.21119 -0.1020823,0.3222 -0.013346,0.0702 0,0.1432 0,0.2148 0,0.10746 0,0.21479 0,0.3222 0,0.2506 0,0.5012 0,0.7518 0,1.00242 0,2.00482 0,3.00724 0,1.86161 0,3.72322 0,5.58485 0,0.537 0,1.074 0,1.611 0,0.17901 0,0.35801 0,0.53701 0,0.0358 0,0.0716 0,0.10746 0,0.0358 -0.015216,0.0753 0,0.10745 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.015534,0.0327 0,0.27384 0,0.32221 0,0.2506 0,0.50121 0,0.7518 0,0.0256 -0.01144,0.40554 0,0.42961 0.02152,0.0453 0.080561,0.0621 0.1020822,0.10734 0.015534,0.0327 0,0.27384 0,0.32221 0,0.2864 0,0.5728 0,0.85921 0,0.0561 -0.01342,0.40135 0,0.42959 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.030993,0.0652 -0.030993,0.57919 0,0.6444 0.126143,0.26543 0.1020823,-0.0371 0.1020823,0.21481 0,0.0716 0,0.1432 0,0.21479 0,0.0358 -0.015216,0.0754 0,0.10746 0.02152,0.0453 0.080561,0.0621 0.1020822,0.10745 0.015216,0.032 0,0.0716 0,0.10746 0,0.0716 0,0.14321 0,0.2148 0,0.17901 0,0.35801 0,0.53701 0,0.0716 0,0.1432 0,0.2148 0,0.0358 -0.015216,0.0753 0,0.10746 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.030993,0.0652 -0.030994,0.57918 0,0.6444 0.021521,0.0453 0.080561,0.0621 0.1020822,0.10746 0.0322,0.0678 -0.0322,0.46926 0,0.537 0.02152,0.0453 0.09041,0.0583 0.1020823,0.10746 0.033012,0.13893 -0.033011,0.29068 0,0.4296 0.026099,0.10977 0.075984,0.21238 0.1020822,0.32221 0.00826,0.0347 0,0.0716 0,0.10734 0,0.17321 -0.021875,0.48329 0,0.6444 0.024538,0.18072 0.077544,0.3563 0.1020823,0.537 0.014435,0.10637 -0.024759,0.21801 0,0.3222 0.026099,0.10977 0.075984,0.21239 0.1020823,0.32221 0.051041,0.2148 -0.1020823,0 0,0.32221 0.015216,0.0481 0.080561,0.0621 0.1020822,0.10746 0.013197,0.0277 0,0.56828 0,0.6444 0,0.0358 -0.015216,0.0753 0,0.10745 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.022711,0.0478 -0.015562,0.38048 0,0.42961 0.015216,0.0481 0.080561,0.0621 0.1020822,0.10734 0.015216,0.032 0,0.0716 0,0.10745 0,0.0716 -0.00962,0.14393 0,0.21481 0.034027,0.179 0.068055,0.358 0.1020823,0.537 0.034027,0.0358 0.086865,0.0594 0.1020822,0.10746 0.036724,0.11585 -0.043361,0.55316 0,0.6444 0.015216,0.032 0.1020823,-0.0358 0.1020823,0 0,0.0358 -0.1020823,0.0358 -0.1020823,0 0,-0.0506 0.068055,-0.0716 0.1020823,-0.10745 0.7471377,-0.031 1.4992461,0.0405 2.2458048,-8.7e-4 0.3414982,-0.0189 0.6791234,-0.093 1.0208212,-0.10746 0.510003,-0.0214 1.021348,0.0243 1.531232,0 0.240362,-0.0109 0.476383,-0.0716 0.714575,-0.10745 0.884712,-0.0358 1.769032,-0.0847 2.654135,-0.10746 0.510259,-0.0131 1.021171,0.0198 1.531232,0 0.409462,-0.0159 0.815376,-0.0964 1.224984,-0.10746 0.918438,-0.0248 1.837479,0 2.756218,0 1.837478,0 3.674955,0 5.512434,0 1.29304,0 2.58608,0 3.879119,0 0.544439,0 1.088877,0 1.633314,0 0.306247,0 0.61281,-0.0146 0.918739,0 4.200347,0.20087 -0.896048,0.009 2.245808,0.21481 0.781843,0.0513 1.566419,0.05 2.347888,0.10745 0.682282,0.0501 1.361095,0.1432 2.041642,0.21481 0.340274,0.0358 0.679323,0.0885 1.020821,0.10733 0.305824,0.0169 0.613021,-0.0189 0.918739,0 0.273865,0.0169 0.542578,0.0949 0.816657,0.10746 0.509929,0.0234 1.020821,0 1.531232,0 0.306245,0 0.612492,0 0.918739,0 0.102078,0 0.204788,-0.0122 0.306246,0 1.019432,0.11914 0.293783,0.10734 0.816657,0.10734 0.374301,0 0.748602,0 1.122903,0 0.05454,0 0.481195,0.0153 0.51041,0 0.04304,-0.0226 0.05539,-0.0952 0.102078,-0.10734 0.17724,-0.0466 0.435253,0.0466 0.612492,0 0.07382,-0.0195 0.13035,-0.088 0.204165,-0.10746 0.06602,-0.0174 0.13611,0 0.204164,0 0.170137,0 0.343578,0.0352 0.510411,0 0.07461,-0.0157 0.130349,-0.088 0.204164,-0.10733 0.06602,-0.0174 0.13611,0 0.204165,0 0.06806,0 0.136109,0 0.204164,0 0.340273,0 0.680547,0 1.02082,0 0.646521,0 1.293041,0 1.939561,0 0.204164,0 0.408328,0 0.612492,0 0.03403,0 0.06806,0 0.102078,0 0.03403,0 0.07164,-0.0161 0.102078,0 0.04304,0.0226 0.0549,0.0975 0.102077,0.10733 0.133467,0.0281 0.272218,0 0.408328,0 0.306247,0 0.612494,0 0.918739,0 0.06806,0 0.13611,0 0.204165,0 0.06806,0 0.13814,-0.0174 0.204164,0 0.07382,0.0195 0.131982,0.0822 0.204164,0.10746 0.03228,0.011 0.06806,0 0.102077,0 0.06806,0 0.13611,0 0.204165,0 0.272219,0 0.544437,0 0.816657,0 0.340274,0 0.680547,0 1.020821,0 0.122607,0 0.39237,0.0207 0.51041,0 0.13839,-0.0242 0.270755,-0.0785 0.408329,-0.10746 0.1001,-0.0211 0.204164,0 0.306246,0 0.204164,0 0.408329,0 0.612493,0 0.04597,0 0.27518,0.0163 0.306246,0 0.04304,-0.0226 0.05904,-0.0847 0.102078,-0.10733 0.03107,-0.0163 0.260273,0 0.306246,0 0.51041,0 1.020821,0 1.531232,0 0.03749,0 0.40422,-0.005 0.408328,0 0.02406,0.0253 -0.02406,0.0821 0,0.10733 0.02406,0.0253 0.112846,0.034 0.102077,0 -0.07215,-0.22759 -0.204098,-0.42913 -0.306147,-0.64369" + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3749)" /> + <path + transform="matrix(-2.4283402,0,0,0.88801913,162.77281,27.425939)" + id="path3723" + d="m 47.317718,232.06891 c -0.0339,0.25142 -0.07196,0.50226 -0.101696,0.75427 -0.0038,0.0327 -0.0098,0.30162 0,0.3222 0.02151,0.0453 0.08056,0.0621 0.102089,0.10733 0.01555,0.0327 0,0.27384 0,0.3222 0,0.21481 0,0.42961 0,0.64442 0,0.3938 0,0.7876 0,1.1814 0,0.0931 0.01971,0.36739 0,0.42961 -0.02406,0.0759 -0.07802,0.13886 -0.102089,0.2148 -0.01076,0.034 0,0.0716 0,0.10745 0,0.0716 0,0.1432 0,0.21481 0,0.21479 0,0.4296 0,0.6444 0,0.76176 0.07218,0.0629 -0.102078,0.4296 -0.03046,0.064 0.02151,0.14688 0,0.2148 -0.02406,0.0759 -0.07802,0.13886 -0.102078,0.21481 -0.02151,0.0679 0.03042,0.15075 0,0.2148 -0.02151,0.0453 -0.08056,0.0621 -0.102077,0.10746 -0.01341,0.0282 0,0.37345 0,0.42961 0,0.2864 0,0.57279 0,0.8592 0,0.026 0.0032,0.31875 0,0.3222 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0,0.0716 0,0.10734 0,0.0358 0,0.0716 0,0.10746 0,0.0716 -0.02151,0.14687 0,0.21479 0.01521,0.0481 0.08056,0.0622 0.102078,0.10746 0.0146,0.0308 0,0.47962 0,0.537 0,0.39381 0,0.7876 0,1.18141 0,0.42961 0,0.85921 0,1.28882 0,0.0562 -0.01341,0.40136 0,0.42959 0.02151,0.0453 0.08056,0.0622 0.102077,0.10746 0.01341,0.0282 0,0.37343 0,0.4296 0,0.0394 -0.004,0.42529 0,0.42961 0.02406,0.0253 0.07802,-0.0253 0.102078,0 0.05105,0.0537 -0.05105,0.26849 0,0.3222 0.02406,0.0253 0.07802,-0.0253 0.102078,0 0.02406,0.0253 0,0.0716 0,0.10745 0,0.0358 0,0.0716 0,0.10746 0,0.3938 0,0.7876 0,1.18141 0,0.5012 0,1.0024 0,1.50361 0,0.0358 0,0.0716 0,0.10745 0,0.0358 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0,0.0716 0,0.10746 0,0.0358 0,0.0716 0,0.10733 0,0.2506 0,0.50121 0,0.75181 0,0.0483 -0.01555,0.28952 0,0.3222 0.02151,0.0453 0.08056,0.0621 0.102078,0.10734 0.01552,0.0327 0,0.27384 0,0.3222 0,0.25061 0,0.5012 0,0.75181 0,0.0561 0.01341,0.40136 0,0.42961 -0.02152,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.04083,0.0859 0.04083,0.23628 0,0.3222 -0.02151,0.0453 -0.08056,0.0621 -0.102078,0.10733 -0.01319,0.0277 0,0.5683 0,0.64442 0,0.4654 0,0.93081 0,1.39621 0,0.0562 0.01341,0.40136 0,0.42961 -0.02151,0.0453 -0.08056,0.0621 -0.102077,0.10746 -0.0146,0.0308 0,0.47962 0,0.537 0,0.0483 -0.01551,0.28951 0,0.3222 0.02151,0.0453 0.08056,0.0621 0.102077,0.10746 0.01341,0.0282 0,0.37345 0,0.42961 0,0.2864 0,0.57281 0,0.8592 0,0.0394 -0.004,0.42528 0,0.4296 0.136112,0.14321 0.102078,-0.179 0.102078,0.10746 0,0.026 0.0032,0.31874 0,0.3222 -0.136108,0.1432 -0.102078,-0.179 -0.102078,0.10746 0,0.026 0.0032,0.31875 0,0.32221 -0.02406,0.0253 -0.102077,0.0358 -0.102077,0 0,-0.0358 0.06806,0 0.102077,0" + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3745)" /> + <path + id="path3731" + d="m 47.480784,237.20746 c 0.224052,1.08173 -0.370112,0.17459 -0.51041,0.3222 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102089,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.04812,0.0506 -0.143294,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03042,0.0159 -0.07802,-0.0253 -0.102089,0 -0.136111,0.1432 0.216548,0.10308 -0.102077,0.21479 -6.12e-4,1.7e-4 -0.306151,-1e-4 -0.306246,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.3984,0.41915 -0.05483,-0.0248 -0.306248,0.10746 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.03042,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03042,0.0159 -0.07165,-0.0161 -0.102089,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03045,0.0161 -0.07164,-0.016 -0.102077,0 -0.216625,0.1139 0.01246,0.10088 -0.204163,0.2148 -0.140809,0.0741 -0.09131,-0.13007 -0.204165,0.10734 -0.01521,0.032 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143294,-0.032 -0.204162,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03042,0.0161 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.08056,0.0622 -0.102077,0.10745 -0.01521,0.032 0.03045,0.0914 0,0.10746 -0.06087,0.032 -0.143294,-0.032 -0.204162,0 -0.03046,0.0161 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07165,-0.0159 -0.10209,0 -0.08608,0.0453 -0.118082,0.16952 -0.204165,0.2148 -0.03042,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102089,0.10746 -0.03042,0.0159 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03042,0.0159 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.02406,0.0253 -0.06806,0 -0.102078,0 -0.06806,0 -0.143297,-0.032 -0.204165,0 -0.06086,0.032 0.04812,0.16418 0,0.21481 -0.06801,0.0716 -0.136154,-0.0716 -0.204165,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.02406,0.0253 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.06088,0.032 -0.143294,-0.032 -0.204165,0 -0.08608,0.0453 -0.124084,0.15863 -0.204163,0.2148 -0.740155,0.38936 0.161406,-0.11317 -0.306248,0.2148 -0.0633,0.0444 -0.143294,0.0594 -0.204162,0.10745 -0.077,0.0607 -0.124087,0.15863 -0.204166,0.21481 -0.0283,0.0198 -0.06981,-0.011 -0.102077,0 -0.07219,0.0253 -0.131981,0.0821 -0.204163,0.10745 -0.18857,0.0661 -0.0484,-0.16388 -0.306249,0.10734 -0.0538,0.0566 -0.03877,0.1704 -0.102077,0.2148 -0.05662,0.0397 -0.138141,-0.0174 -0.204163,0 -0.492948,0.12966 0.0051,0.051 -0.306249,0.21481 -0.09625,0.0506 -0.200731,0.0852 -0.306244,0.10746 -0.06673,0.014 -0.147539,-0.0397 -0.204166,0 -0.0633,0.0444 -0.04828,0.1582 -0.102077,0.2148 -0.02406,0.0253 -0.06981,-0.0109 -0.102078,0 -0.144365,0.0506 -0.260698,0.17597 -0.408328,0.21481 -0.06602,0.0174 -0.138143,-0.0174 -0.204166,0 -0.07382,0.0195 -0.136108,0.0716 -0.204162,0.10745 -0.204165,0.10746 -0.408331,0.21481 -0.612493,0.3222 -0.06806,0.0358 -0.131004,0.0854 -0.204166,0.10746 -0.166829,0.0501 -0.350933,0.0355 -0.51041,0.10746 -0.08846,0.0399 -0.121636,0.1627 -0.204163,0.2148 -0.09227,0.0583 -0.210005,0.0567 -0.306248,0.10746 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.09625,0.0506 -0.210002,0.0567 -0.306246,0.10745 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.09625,0.0506 -0.206339,0.0653 -0.306246,0.10734 -0.07065,0.0297 -0.133519,0.0776 -0.204166,0.10745 -0.0999,0.042 -0.210001,0.0567 -0.306244,0.10746 -0.129124,0.0679 -0.177121,0.25427 -0.306246,0.3222 -0.06086,0.032 -0.138143,-0.0174 -0.204165,0 -0.07382,0.0195 -0.133519,0.0776 -0.204165,0.10746 -0.0999,0.042 -0.210002,0.0567 -0.306245,0.10746 -0.04304,0.0226 -0.05741,0.0886 -0.10209,0.10733 -0.130262,0.0549 -0.270752,0.0785 -0.408327,0.10746 -0.03337,0.007 -0.07377,-0.0198 -0.102078,0 -0.08008,0.0562 -0.136109,0.14321 -0.204162,0.2148 -0.03403,0.0358 -0.05644,0.0914 -0.10209,0.10746 -0.06457,0.0226 -0.138143,-0.0174 -0.204164,0 -0.07382,0.0195 -0.136109,0.0716 -0.204163,0.10734 -0.136111,0.0716 -0.27222,0.14319 -0.408331,0.2148 -0.06806,0.0358 -0.13198,0.0821 -0.204162,0.10734 -0.03228,0.011 -0.06981,-0.011 -0.102089,0 -0.07218,0.0253 -0.130348,0.088 -0.204166,0.10745 -0.06602,0.0174 -0.138139,-0.0174 -0.204162,0 -0.07382,0.0195 -0.136111,0.0716 -0.204166,0.10746 -0.06805,0.0358 -0.15036,0.0507 -0.204162,0.10746 -0.02406,0.0253 0.02406,0.082 0,0.10745 -0.115102,0.12109 -0.525966,0.18446 -0.612493,0.2148 -0.213019,0.0747 -0.297395,0.2475 -0.51041,0.32221 -0.06457,0.0226 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.016 -0.07165,-0.0161 -0.102089,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0161 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.0161 -0.06806,0 -0.102078,0 -0.06806,0 -0.139601,-0.0226 -0.204164,0 -0.04565,0.0161 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.06023,0.0316 -0.236031,-0.0246 -0.306247,0 -0.07218,0.0253 -0.131981,0.0821 -0.204164,0.10745 -0.03228,0.011 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10734 -0.0032,0.004 -0.281487,0 -0.306245,0 -0.03403,0 -0.06806,0 -0.102078,0 -0.03403,0 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02087,0.0219 -0.265772,-0.0213 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.06088,0.032 -0.156043,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.06806,0 -0.102078,0 -0.06806,0 -0.143294,-0.032 -0.204164,0 -0.03043,0.0161 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.06086,0.032 -0.143293,-0.032 -0.204163,0 -0.467191,0.24576 0.433177,-0.0445 -0.306247,0.2148 -0.07021,0.0246 -0.246016,-0.0316 -0.306245,0 -0.08608,0.0453 -0.118082,0.16951 -0.204165,0.21481 -0.06086,0.032 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.016 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.04047,0.0213 -0.285377,-0.0219 -0.306246,0 -0.0538,0.0566 -0.03877,0.17039 -0.102078,0.21479 -0.01272,0.009 -0.396405,-0.0125 -0.408328,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06981,-0.011 -0.102077,0 -0.07219,0.0253 -0.131982,0.0821 -0.204165,0.10733 -0.03228,0.011 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05644,0.0914 -0.102077,0.10733 -0.06457,0.0226 -0.143296,-0.032 -0.204165,0 -0.03043,0.0161 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156041,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10733 -0.04812,0.0506 -0.156042,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143294,-0.032 -0.204163,0 -0.08608,0.0453 -0.118082,0.16951 -0.204165,0.21479 -0.03043,0.0161 -0.06981,-0.011 -0.102077,0 -0.739424,0.25932 0.160944,-0.0309 -0.306247,0.21481 -0.251423,0.13226 0.09215,-0.31176 -0.306246,0.10745 -0.02406,0.0253 0.03043,0.0914 0,0.10746 -0.06086,0.032 -0.143295,-0.032 -0.204164,0 -0.03043,0.0159 0.01521,0.0753 0,0.10746 -0.02153,0.0453 -0.06204,0.0793 -0.102078,0.10746 0.01162,0.20346 -0.23819,0.0715 -0.306245,0.10745 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.08608,0.0453 -0.118081,0.16952 -0.204164,0.2148 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05642,0.0914 -0.102078,0.10746 -0.06457,0.0226 -0.139601,-0.0226 -0.204164,0 -0.09131,0.032 -0.118082,0.16952 -0.204165,0.2148 -0.03043,0.0159 -0.06806,0 -0.102077,0 -0.06806,0 -0.139602,-0.0226 -0.204164,0 -0.09131,0.032 -0.118081,0.16951 -0.204164,0.21479 -0.06086,0.032 -0.143295,-0.032 -0.204165,0 -0.08608,0.0453 -0.11808,0.16953 -0.204164,0.21481 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.10881,0.0572 -0.09535,-0.0572 -0.204164,0 -0.122499,0.0645 -0.183748,0.25776 -0.306247,0.3222 -0.08166,0.043 -0.22458,-0.043 -0.306246,0 -0.424841,0.22349 0.109133,-0.007 -0.102078,0.2148 -0.04812,0.0506 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.08166,0.043 -0.224581,-0.043 -0.306247,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.06088,0.032 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143293,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.016 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.01522,0.0753 0,0.10746 -0.02153,0.0453 -0.06806,0.0716 -0.102078,0.10733 -0.03403,0.0358 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07164,-0.0159 -0.102078,0 -0.122498,0.0644 -0.183748,0.25776 -0.306245,0.3222 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.09048,0.0476 -0.21332,0.25702 -0.306247,0.3222 -0.0633,0.0444 -0.140855,0.063 -0.204164,0.10746 -0.04004,0.0281 -0.05904,0.0847 -0.102078,0.10745 -0.03043,0.016 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.04812,0.0506 0.04812,0.16418 0,0.2148 -0.04812,0.0506 -0.156043,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.211211,0.22221 0.0082,-0.33958 -0.204165,0.10745 -0.01521,0.032 0.02406,0.082 0,0.10746 -0.04812,0.0506 -0.156041,-0.0506 -0.204163,0 -0.02406,0.0253 0.02406,0.0821 0,0.10734 -0.02406,0.0253 -0.07165,-0.016 -0.102077,0 -0.424842,0.22349 0.109133,-0.007 -0.102078,0.2148 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0,0.0716 0,0.10745 -0.03403,0 -0.07165,-0.0159 -0.102078,0 -0.424842,0.22349 0.109133,-0.007 -0.102078,0.2148 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156041,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.156042,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.06801,0.0716 -0.136156,-0.0716 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156042,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10733 -0.04812,0.0506 -0.156042,-0.0506 -0.204165,0 -0.02406,0.0253 0.03403,0.10746 0,0.10746 -0.03403,0 0.03403,-0.10746 0,-0.10746 -0.169281,0 -0.07158,0.15063 -0.102081,0.21481 -0.212421,0.44697 0.007,-0.11476 -0.204164,0.10746 -0.02406,0.0253 0.01522,0.0754 0,0.10745 -0.212421,0.44698 0.007,-0.11476 -0.204164,0.10746 -0.02406,0.0253 0.01522,0.0753 0,0.10746 -0.02152,0.0453 -0.05904,0.0847 -0.102083,0.10745 -0.03044,0.016 -0.136109,0 -0.102082,0 0.238191,0 0.476383,0 0.714574,0" + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3741)" /> + <path + id="path3733" + d="m 46.970374,244.72552 c -0.03403,0.14322 -0.06806,0.28641 -0.102089,0.42961 -0.03403,0 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.21121,0.22222 0.0082,-0.33957 -0.204162,0.10746 -0.01521,0.032 0.02406,0.0821 0,0.10733 -0.02406,0.0253 -0.07802,-0.0253 -0.10209,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143294,-0.032 -0.204166,0 -0.424838,0.22348 0.109134,-0.007 -0.102077,0.2148 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.156044,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.04812,0.0506 -0.156044,-0.0506 -0.204166,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.04812,0.0506 -0.156041,-0.0506 -0.204162,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06806,0 -0.10209,0 0,0.0358 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143294,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03042,0.0161 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.05104,0.0537 -0.255206,-0.0537 -0.306248,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.05104,0.0537 -0.255204,-0.0537 -0.306245,0 -0.02406,0.0253 0.01521,0.0753 0,0.10746 -0.112858,0.23748 -0.06335,0.0333 -0.204166,0.10746 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.08166,0.043 -0.224582,-0.043 -0.30625,0 -0.06086,0.032 0.04812,0.16418 0,0.21481 -0.04812,0.0506 -0.143293,-0.032 -0.204162,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03042,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05644,0.0914 -0.102078,0.10746 -0.06457,0.0226 -0.143293,-0.032 -0.204162,0 -0.03042,0.0159 0.02406,0.082 0,0.10733 -0.04813,0.0506 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03046,0.0161 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03042,0.0159 -0.06806,0 -0.102078,0 -0.03403,0.0358 -0.06205,0.0793 -0.102078,0.10733 -0.0633,0.0444 -0.13198,0.0821 -0.204165,0.10746 -0.03228,0.011 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10733 -0.02406,0.0253 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.06806,0.0716 -0.102078,0.10746 -0.03403,0.0358 -0.05904,0.0847 -0.102089,0.10733 -0.06087,0.032 -0.139599,-0.0226 -0.204162,0 -0.144365,0.0506 -0.263963,0.16418 -0.408328,0.21481 -0.06457,0.0226 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03042,0.0161 -0.07165,-0.0159 -0.10209,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.04047,0.0213 -0.28538,-0.022 -0.306249,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.03042,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.03045,0.0914 0,0.10746 -0.06605,0.0347 -0.371659,-0.0386 -0.408328,0 -0.136112,0.1432 0.170137,0.10734 -0.102078,0.10734 -0.02475,0 -0.302964,-0.004 -0.306244,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04813,0.0506 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.03046,0.0159 -0.07165,-0.0161 -0.10209,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.06086,0.032 -0.139603,-0.0226 -0.204165,0 -0.07218,0.0253 -0.131984,0.0821 -0.204165,0.10746 -0.06457,0.0226 -0.143295,-0.032 -0.204163,0 -0.07255,0.0382 -0.131621,0.17664 -0.204165,0.21481 -0.08166,0.0429 -0.224583,-0.043 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.06088,0.032 -0.15604,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.0032,0.004 -0.281487,0 -0.306246,0 -0.239399,0 0.04812,-0.0253 -0.204166,0.10746 -0.06416,0.0337 -0.344166,-0.0337 -0.408327,0 -0.04304,0.0226 -0.06806,0.0716 -0.102078,0.10745 -0.06805,0 -0.139601,-0.0226 -0.204162,0 -0.04566,0.016 -0.05904,0.0847 -0.102089,0.10734 -0.04047,0.0213 -0.285376,-0.0219 -0.306245,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02181,0.023 -0.35205,-0.0197 -0.408328,0 -0.07219,0.0253 -0.131982,0.0821 -0.204165,0.10745 -0.06457,0.0226 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.08166,0.043 -0.224581,-0.043 -0.306248,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.06086,0.032 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.06088,0.032 -0.143294,-0.032 -0.204166,0 -0.08608,0.0453 -0.112858,0.18279 -0.204162,0.21481 -0.0467,0.0164 -0.362906,-0.0238 -0.408328,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03045,0.0159 -0.07802,-0.0253 -0.102089,0 -0.02406,0.0253 0.03046,0.0914 0,0.10746 -0.06086,0.032 -0.143294,-0.032 -0.204166,0 -0.03042,0.0159 0.02406,0.0821 0,0.10746 -0.02458,0.0259 -0.383762,-0.0258 -0.408327,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.13198,0.0821 -0.204162,0.10745 -0.03228,0.011 -0.06981,-0.0109 -0.102089,0 -0.07218,0.0253 -0.13198,0.0822 -0.204166,0.10746 -0.06457,0.0226 -0.143294,-0.032 -0.204162,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03042,0.0159 -0.06806,0 -0.102089,0 -0.03403,0.0358 -0.05904,0.0847 -0.102078,0.10745 -0.03045,0.016 -0.06806,0 -0.102089,0 -0.06805,0 -0.138143,-0.0174 -0.204166,0 -0.07381,0.0195 -0.131979,0.0822 -0.204162,0.10746 -0.03228,0.011 -0.07802,-0.0253 -0.102089,0 -0.02406,0.0253 0.03043,0.0914 0,0.10734 -0.06086,0.032 -0.139602,-0.0226 -0.204163,0 -0.04565,0.0161 -0.05644,0.0914 -0.102078,0.10745 -0.06457,0.0226 -0.139603,-0.0226 -0.204165,0 -0.09131,0.032 -0.112857,0.18279 -0.204164,0.21481 -0.06457,0.0226 -0.139602,-0.0226 -0.204165,0 -0.04565,0.0159 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05644,0.0914 -0.102077,0.10745 -0.06457,0.0226 -0.143295,-0.032 -0.204165,0 -0.03043,0.0159 0.02406,0.0822 0,0.10746 -9.7e-5,1.1e-4 -0.305784,-1.6e-4 -0.306247,0 -0.09131,0.032 -0.112858,0.18279 -0.204164,0.2148 -0.06457,0.0226 -0.136109,0 -0.204164,0 -0.03403,0 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.06086,0.032 -0.143294,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0159 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.03043,0.016 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.06801,0.0716 -0.136156,-0.0716 -0.204164,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.143294,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.06086,0.032 -0.156041,-0.0506 -0.204163,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.156043,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.082 0,0.10746 -0.03667,0.0386 -0.342286,-0.0347 -0.408328,0 -0.03043,0.0159 0.02406,0.0821 0,0.10733 -0.05104,0.0537 -0.255205,-0.0537 -0.306247,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143295,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02087,0.0219 -0.265772,-0.0213 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.06088,0.032 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.06086,0.032 -0.143294,-0.032 -0.204163,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0159 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02087,0.0219 -0.265772,-0.0213 -0.306247,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.08166,0.043 -0.22458,-0.043 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10745 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.04542,0.0239 -0.361637,-0.0164 -0.408328,0 -0.04565,0.0159 -0.05904,0.0847 -0.102077,0.10733 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.06088,0.032 -0.143295,-0.032 -0.204164,0 -0.08608,0.0453 -0.118082,0.16952 -0.204165,0.2148 -0.03043,0.0159 -0.06981,-0.0109 -0.102078,0 -0.07218,0.0253 -0.130348,0.088 -0.204164,0.10746 -0.06602,0.0174 -0.143294,-0.032 -0.204163,0 -0.03043,0.0159 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.108809,0.0572 -0.09534,-0.0572 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0161 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.016 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.06088,0.032 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.03043,0.0914 0,0.10746 -0.06086,0.032 -0.143294,-0.032 -0.204164,0 -0.03043,0.0159 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143294,-0.032 -0.204164,0 -0.424842,0.2235 0.109134,-0.007 -0.102077,0.21481 -0.04812,0.0506 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.136109,0.1432 0.170138,0.10733 -0.102077,0.10733" + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3737)" /> + <flowRoot + transform="matrix(0.26458333,0,0,0.26458333,0,229.26665)" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + id="flowRoot4620" + xml:space="preserve"><flowRegion + id="flowRegion4622"><rect + y="120.24191" + x="35.357143" + height="100.40094" + width="185.79178" + id="rect4624" /></flowRegion><flowPara + style="font-size:85.33333441px;text-anchor:middle;text-align:center" + id="flowPara4626">HFC</flowPara></flowRoot> </g> +</svg> diff --git a/interface/resources/icons/tablet-icons/wallet-i.svg b/interface/resources/icons/tablet-icons/wallet-i.svg new file mode 100644 index 0000000000..2a16ecf973 --- /dev/null +++ b/interface/resources/icons/tablet-icons/wallet-i.svg @@ -0,0 +1,276 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="256" + height="256" + viewBox="0 0 67.733332 67.733335" + version="1.1" + id="svg8" + inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" + sodipodi:docname="wallet-i.svg"> + <defs + id="defs2"> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Invert" + id="filter3737"> + <feColorMatrix + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" + id="feColorMatrix3735" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix3755" /> + <feColorMatrix + id="feColorMatrix3757" + type="hueRotate" + values="180" + result="color1" + in="fbSourceGraphic" /> + <feColorMatrix + id="feColorMatrix3759" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix4644" /> + <feColorMatrix + id="feColorMatrix4646" + values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 1 0 " + result="color2" + in="fbSourceGraphic" /> + </filter> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Invert" + id="filter3741"> + <feColorMatrix + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" + id="feColorMatrix3739" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix3761" /> + <feColorMatrix + id="feColorMatrix3763" + type="hueRotate" + values="180" + result="color1" + in="fbSourceGraphic" /> + <feColorMatrix + id="feColorMatrix3765" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix4640" /> + <feColorMatrix + id="feColorMatrix4642" + values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 1 0 " + result="color2" + in="fbSourceGraphic" /> + </filter> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Invert" + id="filter3745"> + <feColorMatrix + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" + id="feColorMatrix3743" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix3767" /> + <feColorMatrix + id="feColorMatrix3769" + type="hueRotate" + values="180" + result="color1" + in="fbSourceGraphic" /> + <feColorMatrix + id="feColorMatrix3771" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix4636" /> + <feColorMatrix + id="feColorMatrix4638" + values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 1 0 " + result="color2" + in="fbSourceGraphic" /> + </filter> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Invert" + id="filter3749"> + <feColorMatrix + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" + id="feColorMatrix3747" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix3773" /> + <feColorMatrix + id="feColorMatrix3775" + type="hueRotate" + values="180" + result="color1" + in="fbSourceGraphic" /> + <feColorMatrix + id="feColorMatrix3777" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix4632" /> + <feColorMatrix + id="feColorMatrix4634" + values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 1 0 " + result="color2" + in="fbSourceGraphic" /> + </filter> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Invert" + id="filter3753"> + <feColorMatrix + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" + id="feColorMatrix3751" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix3779" /> + <feColorMatrix + id="feColorMatrix3781" + type="hueRotate" + values="180" + result="color1" + in="fbSourceGraphic" /> + <feColorMatrix + id="feColorMatrix3783" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.21 -0.72 -0.07 2 0 " + result="fbSourceGraphic" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix4628" /> + <feColorMatrix + id="feColorMatrix4630" + values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 1 0 " + result="color2" + in="fbSourceGraphic" /> + </filter> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Invert" + id="filter4650"> + <feColorMatrix + values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 1 0 " + result="color2" + id="feColorMatrix4648" /> + </filter> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.9979798" + inkscape:cx="128.65398" + inkscape:cy="148.26229" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-229.26665)"> + <path + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3753)" + d="m 47.58248,232.15716 c -0.05338,0 -0.381483,-0.0141 -0.408329,0 -0.04304,0.0227 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0161 -0.07164,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05642,0.0914 -0.102077,0.10746 -0.153124,0.0537 -0.178644,-0.0269 -0.306247,0 -0.137574,0.0288 -0.269938,0.0831 -0.408328,0.10734 -0.06713,0.0122 -0.138141,-0.0174 -0.204164,0 -0.177773,0.0467 -0.305415,0.23951 -0.51041,0.2148 -0.06673,0.014 -0.137436,-0.014 -0.204165,0 -0.105513,0.0223 -0.202781,0.0763 -0.306247,0.10746 -0.134899,0.0406 -0.273428,0.0669 -0.408328,0.10746 -0.421124,0.12657 -0.191369,0.0882 -0.612493,0.2148 -0.1349,0.0405 -0.269938,0.0831 -0.408328,0.10734 -0.06713,0.0122 -0.139598,-0.0226 -0.204165,0 -0.144366,0.0506 -0.263961,0.16418 -0.408327,0.2148 -0.228263,0.0799 -0.518349,-0.2182 -0.714575,0.10734 -0.114882,0.0453 -0.189855,0.17403 -0.306247,0.2148 -0.09684,0.034 -0.206147,-0.0211 -0.306247,0 -0.07461,0.0157 -0.133512,0.0776 -0.204163,0.10734 -0.0999,0.0421 -0.204169,0.0717 -0.306247,0.10745 -0.102077,0.0358 -0.200733,0.0852 -0.306246,0.10734 -0.06673,0.014 -0.147544,-0.0397 -0.204164,0 -0.0633,0.0444 -0.04828,0.15822 -0.102077,0.2148 -0.193482,0.20348 -0.264908,0.0427 -0.510412,0.10734 -0.04668,0.0123 -0.06203,0.0793 -0.102077,0.10746 -0.06331,0.0443 -0.140858,0.0629 -0.204164,0.10733 -0.04003,0.028 -0.05539,0.0951 -0.102077,0.10734 -0.09904,0.026 -0.207212,-0.026 -0.306247,0 -0.09337,0.0246 -0.112858,0.1828 -0.204165,0.2148 -0.06457,0.0226 -0.139597,-0.0226 -0.204163,0 -0.04564,0.0161 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07164,-0.0161 -0.102077,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.06979,-0.011 -0.102078,0 -0.07218,0.0253 -0.131975,0.082 -0.204164,0.10733 -0.03228,0.011 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.06979,-0.011 -0.102078,0 -0.07218,0.0252 -0.131987,0.082 -0.204164,0.10733 -0.0719,0.0252 -0.380938,-0.0288 -0.408328,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.04812,0.0506 -0.1433,-0.032 -0.204165,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.06086,0.032 -0.156047,-0.0506 -0.204165,0 -0.02406,0.0252 0.02406,0.082 0,0.10733 -0.04812,0.0506 -0.143298,-0.032 -0.204163,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07164,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0161 -0.07164,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03043,0.0161 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.131986,0.0821 -0.204163,0.10746 -0.03228,0.0109 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.06203,0.0792 -0.102078,0.10733 -0.0633,0.0444 -0.140859,0.063 -0.204164,0.10746 -0.186783,0.13107 -0.01018,0.13691 -0.306247,0.21479 -0.06602,0.0174 -0.13814,-0.0174 -0.204163,0 -0.07382,0.0195 -0.130345,0.088 -0.204165,0.10746 -0.06602,0.0174 -0.143299,-0.032 -0.204164,0 -0.08608,0.0453 -0.118084,0.16953 -0.204165,0.2148 -0.06086,0.032 -0.136104,0 -0.204163,0 -0.102078,0 -0.207211,-0.026 -0.306247,0 -0.04668,0.0123 -0.06805,0.0717 -0.102078,0.10746 -0.103766,0.10916 -0.141442,0.17148 -0.306245,0.21481 -0.06602,0.0174 -0.136105,0 -0.204165,0 -0.03402,0.0359 -0.05642,0.0914 -0.102077,0.10745 -0.06457,0.0226 -0.139599,-0.0226 -0.204165,0 -0.09131,0.032 -0.112858,0.1828 -0.204164,0.21481 -0.06457,0.0226 -0.13814,-0.0174 -0.204164,0 -0.152792,0.0402 -0.40063,0.26452 -0.510411,0.3222 -0.03043,0.0161 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.06203,0.0792 -0.102077,0.10733 -0.06331,0.0444 -0.136105,0.0717 -0.204165,0.10746 -0.03402,0 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0228 -0.06203,0.0794 -0.102078,0.10746 -0.06331,0.0444 -0.136105,0.0717 -0.204165,0.10746 -0.03402,0 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0161 -0.06979,-0.011 -0.102078,0 -0.07219,0.0252 -0.136105,0.0716 -0.204164,0.10734 -0.03402,0 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.130344,0.088 -0.204164,0.10746 -0.06602,0.0174 -0.139597,-0.0226 -0.204164,0 -0.04565,0.0161 -0.05904,0.0848 -0.102077,0.10745 -0.04047,0.0213 -0.28538,-0.0219 -0.306247,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.06086,0.032 -0.143299,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.03043,0.0161 -0.07164,-0.0159 -0.102078,0 -0.311336,0.16381 0.186702,0.0852 -0.306247,0.21481 -0.06602,0.0174 -0.143299,-0.032 -0.204164,0 -0.03043,0.0159 0.03043,0.0914 0,0.10733 -0.06087,0.032 -0.139597,-0.0226 -0.204163,0 -0.04565,0.0161 -0.06203,0.0794 -0.102078,0.10746 -0.06331,0.0444 -0.131987,0.0821 -0.204165,0.10745 -0.312322,0.1099 0.254757,-0.35763 -0.408327,0.10746 -0.02832,0.02 0.02406,0.0822 0,0.10746 -0.0538,0.0566 -0.140859,0.0629 -0.204165,0.10733 -0.289055,0.20271 0.193468,0.0689 -0.408329,0.32222 -0.06319,0.0266 -0.139597,-0.0226 -0.204163,0 -0.09131,0.032 -0.124087,0.15857 -0.204165,0.21479 -0.5157,0.36176 -0.0023,8.5e-4 -0.306247,0.10746 -0.144366,0.0506 -0.263963,0.16416 -0.408327,0.21479 -0.03228,0.011 -0.07165,-0.0159 -0.102078,0 -0.08608,0.0453 -0.118084,0.16953 -0.204165,0.2148 -0.03043,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.156047,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102077,0 -0.467191,0.24571 0.433175,-0.0445 -0.306247,0.2148 -0.03227,0.011 -0.07165,-0.0161 -0.102078,0 -0.424836,0.22333 0.109134,-0.007 -0.102077,0.21481 -0.0538,0.0566 -0.131976,0.082 -0.204165,0.10733 -0.03228,0.011 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06979,-0.0109 -0.102077,0 -0.07219,0.0253 -0.140859,0.063 -0.204165,0.10746 -0.04003,0.0281 -0.06805,0.0717 -0.102077,0.10745 -0.03402,0 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05642,0.0914 -0.102078,0.10734 -0.06457,0.0226 -0.143298,-0.032 -0.204163,0 -0.03043,0.0161 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.131987,0.0821 -0.204164,0.10745 -0.06457,0.0226 -0.143288,-0.032 -0.204165,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.06086,0.032 -0.156045,-0.0506 -0.204164,0 -0.211211,0.2221 0.322763,-0.009 -0.102077,0.21479 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.46719,0.24572 0.433177,-0.0445 -0.306247,0.21481 -0.225308,0.0791 0.02819,-0.13701 -0.204164,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03043,0.0161 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10745 -0.06086,0.032 -0.156046,-0.0506 -0.204164,0 -0.02406,0.0253 0,0.0717 0,0.10746 -0.06805,0.0716 -0.136104,0.14325 -0.204164,0.21481 -0.05662,0.0397 -0.143299,-0.032 -0.204164,0 -0.08608,0.0453 -0.112858,0.1828 -0.204165,0.2148 -0.06457,0.0226 -0.139598,-0.0226 -0.204164,0 -0.04565,0.0159 -0.06203,0.0792 -0.102078,0.10734 -0.0633,0.0444 -0.150367,0.0509 -0.204165,0.10745 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07165,-0.0161 -0.102078,0 -0.08608,0.0453 -0.118083,0.16953 -0.204163,0.2148 -0.06088,0.032 -0.1433,-0.032 -0.204165,0 -0.04304,0.0228 -0.05642,0.0914 -0.102078,0.10745 -4.62e-4,1.6e-4 -0.306148,-1.1e-4 -0.306246,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.03043,0.0915 0,0.10746 -0.06086,0.032 -0.143289,-0.032 -0.204165,0 -0.03043,0.0161 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.1433,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0228 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102078,0 -0.02704,0.0285 0.06232,0.2653 -0.102078,0.21479 -0.0633,0.0444 -0.140859,0.063 -0.204164,0.10746 -0.04003,0.028 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0161 -0.06979,-0.011 -0.102077,0 -0.09012,0.0316 -0.531711,0.26561 -0.612494,0.3222 -0.135022,0.0947 -0.199238,0.34435 -0.408328,0.3222 -0.241271,0.15231 -0.438872,0.17717 -0.714574,0.32221 -0.04304,0.0226 -0.06203,0.0792 -0.102078,0.10734 -0.06331,0.0444 -0.150367,0.0509 -0.204165,0.10745 -0.0538,0.0566 -0.04828,0.15822 -0.102077,0.21481 -0.0538,0.0567 -0.140859,0.063 -0.204165,0.10745 -0.04003,0.0281 -0.06203,0.0794 -0.102077,0.10746 -0.01902,0.0134 -0.401736,0.2075 -0.408329,0.21481 -0.0538,0.0566 -0.04828,0.1582 -0.102078,0.21479 -0.02406,0.0253 -0.0698,-0.0109 -0.102078,0 -0.07219,0.0253 -0.140858,0.063 -0.204163,0.10746 -0.234516,0.16449 0.04377,0.0613 -0.204165,0.3222 -0.0538,0.0566 -0.140859,0.0629 -0.204164,0.10733 -0.08008,0.0562 -0.118084,0.16954 -0.204165,0.21481 -0.03043,0.0161 -0.07164,-0.0159 -0.102077,0 -0.46719,0.24571 0.433177,-0.0445 -0.306246,0.2148 -0.03227,0.011 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.06805,0.0716 -0.102078,0.10734 -0.07973,0.0838 -0.218165,0.26038 -0.306247,0.3222 -0.06331,0.0444 -0.136104,0.0717 -0.204163,0.10746 -0.03402,0 -0.07165,-0.0161 -0.102078,0 -0.08608,0.0453 -0.118084,0.16953 -0.204164,0.2148 -0.03043,0.0159 -0.07802,-0.0253 -0.102078,0 -0.211211,0.22209 0.322764,-0.009 -0.102078,0.21479 -0.06086,0.032 -0.156045,-0.0506 -0.204163,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143295,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0847 -0.102082,0.10733 -0.03044,0.0161 -0.07802,-0.0253 -0.102082,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0161 -0.102083,0 -0.08608,0.0453 -0.118081,0.16952 -0.204164,0.21479 -0.03044,0.0161 -0.07802,-0.0253 -0.102082,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102082,0 -0.02406,0.0253 0.01522,0.0754 0,0.10746 -0.212424,0.44691 0.007,-0.11488 -0.204165,0.10733 -0.02406,0.0254 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.1432936,-0.032 -0.2041642,0 -0.086083,0.0453 -0.1180812,0.16954 -0.2041642,0.21481 -0.060871,0.032 -0.1560426,-0.0506 -0.2041643,0 -0.024061,0.0253 0.024061,0.0821 0,0.10745 -0.068009,0.0716 -0.1361556,-0.0716 -0.2041641,0 -0.024061,0.0253 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.024061,0.0253 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.024061,0.0253 0.024061,0.0821 0,0.10745 -0.024061,0.0253 -0.07377,-0.0198 -0.1020823,0 -0.08008,0.0562 -0.1361093,0.14325 -0.2041642,0.21481 -0.034027,0.0359 -0.059041,0.0848 -0.1020822,0.10746 -0.060869,0.032 -0.1432947,-0.032 -0.2041642,0 -0.086083,0.0453 -0.1180813,0.16953 -0.2041643,0.2148 -0.030435,0.0161 -0.071648,-0.0159 -0.1020822,0 -0.2257093,0.11878 -0.031678,0.0667 -0.1020823,0.21481 -0.212423,0.44703 0.00704,-0.11476 -0.2041643,0.10745 -0.024061,0.0253 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.024061,0.0253 0.024061,0.082 0,0.10733 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.048122,0.0506 0.048122,0.16418 0,0.21481 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.048122,0.0506 0.048122,0.16418 0,0.2148 -0.024061,0.0253 -0.071647,-0.0161 -0.1020823,0 -0.043042,0.0226 -0.068055,0.0717 -0.1020823,0.10746 -0.034027,0.0359 -0.080561,0.0622 -0.1020822,0.10746 -0.015217,0.0321 0.024061,0.0821 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.024061,0.0253 0.024061,0.082 0,0.10733 -0.048122,0.0506 -0.1560425,-0.0506 -0.2041641,0 -0.024061,0.0253 0.024061,0.0822 0,0.10746 -0.024061,0.0253 -0.078021,-0.0253 -0.1020823,0 -0.048122,0.0506 0.048122,0.16417 0,0.21479 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.048122,0.0506 0.030435,0.15079 0,0.21481 -0.021521,0.0454 -0.080561,0.0622 -0.1020823,0.10745 -0.015217,0.0321 0.015217,0.0755 0,0.10746 -0.021521,0.0454 -0.080562,0.0622 -0.1020823,0.10746 -0.035256,0.0742 0.035833,0.49928 0,0.537 -0.024061,0.0253 -0.078021,-0.0253 -0.1020822,0 -0.024061,0.0253 0,0.0717 0,0.10746 0,0.0359 -0.024061,0.0821 0,0.10746 0.024061,0.0253 0.078021,-0.0253 0.1020822,0 0.020869,0.0219 -0.020237,0.2796 0,0.3222 0.021521,0.0453 0.080562,0.0622 0.1020823,0.10745 0.030435,0.064 -0.048122,0.16417 0,0.2148 0.024061,0.0253 0.078021,-0.0253 0.1020823,0 0.024061,0.0253 -0.024061,0.0821 0,0.10745 0.024061,0.0253 0.078021,-0.0253 0.1020822,0 0.024061,0.0253 -0.024061,0.0822 0,0.10746 0.024061,0.0253 0.071648,-0.0161 0.1020823,0 0.1224984,0.0645 0.1837477,0.25782 0.3062463,0.3222 0.068055,0.0359 0.317871,-0.096 0.3062463,0.10746 0.08008,0.0561 0.1128591,0.18279 0.2041641,0.21479 0.064563,0.0226 0.1396015,-0.0226 0.2041643,0 0.069125,0.0242 0.2282671,0.2812 0.3062463,0.32221 0.030435,0.016 0.069802,-0.0109 0.1020823,0 0.072183,0.0253 0.1319811,0.0822 0.2041642,0.10746 0.032282,0.011 0.071647,-0.0161 0.1020822,0 0.1224986,0.0645 0.1837479,0.25783 0.3062463,0.3222 0.040475,0.0213 0.2853775,-0.0219 0.3062465,0 0.024061,0.0253 -0.030435,0.0914 0,0.10746 0.060869,0.032 0.1381416,-0.0174 0.2041641,0 0.4929489,0.12961 -0.00505,0.051 0.3062463,0.21479 0.030435,0.0161 0.068055,0 0.1020823,0 0.034027,0 0.068055,0 0.1020827,0 0.412544,0 0.659468,0.006 1.122902,0.21481 l 53.082699,0.3222 c -0.721835,-0.0998 0.144367,0.49252 10e-7,0.64441 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.0032,0.004 0,0.29615 0,0.3222 0,0.53701 0,1.07401 0,1.61102 0,0.25059 0,0.5012 0,0.7518 0,0.10745 0,0.2148 0,0.3222 0,0.0716 0.01651,0.14534 0,0.2148 -0.01845,0.0776 -0.08363,0.13714 -0.102077,0.21481 -0.01651,0.0695 0,0.1432 0,0.2148 0,0.179 0,0.35801 0,0.53701 0,0.4654 0,0.9308 0,1.39621 0,0.25059 0,0.5012 0,0.7518 0,0.0358 -0.02406,0.0821 0,0.10745 0.02406,0.0253 0.07802,-0.0253 0.102077,0 0.02406,0.0253 0,0.0716 0,0.10746 0,0.0358 0,0.0716 0,0.10746 0,0.0761 -0.0132,0.61663 0,0.6444 0.02153,0.0453 0.08056,0.0621 0.102078,0.10746 0.01846,0.0388 0,0.46231 0,0.537 0,0.42961 0,0.85921 0,1.28882 0,0.39381 0,0.7876 0,1.18141 0,0.0747 0.01846,0.49817 0,0.537 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.01846,0.0388 0,0.46231 0,0.537 0,0.35801 0,0.71601 0,1.07402 0,0.0912 0.01876,0.58519 0,0.64441 -0.01522,0.0481 -0.08056,0.0621 -0.102077,0.10734 -0.01522,0.032 0,0.0716 0,0.10745 0,0.12687 0.02023,0.58055 0,0.64442 -0.01522,0.0481 -0.08687,0.0594 -0.102078,0.10733 -0.03616,0.11415 0.03616,0.31549 0,0.42961 -0.02406,0.0759 -0.07802,0.13886 -0.102078,0.21479 -0.01076,0.034 0,0.0716 0,0.10746 0,0.10405 0.02029,0.58037 0,0.6444 -0.02406,0.0759 -0.07802,0.13886 -0.102077,0.21481 -0.01876,0.0593 0.02183,0.40664 0,0.42959 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02183,0.023 0.01876,0.3704 0,0.42961 -0.02406,0.0759 -0.07802,0.13886 -0.102078,0.21481 -0.02739,0.0864 0.03262,0.36097 0,0.4296 -0.02151,0.0453 -0.08056,0.0621 -0.102077,0.10745 -0.01846,0.0388 0,0.4623 0,0.53701 0,0.179 0,0.358 0,0.537 0,0.10746 0.03228,0.22031 0,0.3222 -0.01522,0.0481 -0.08056,0.0621 -0.102078,0.10746 -0.03207,0.0675 0.03207,0.36211 0,0.42961 -0.02153,0.0453 -0.08056,0.0621 -0.102077,0.10746 -0.02948,0.0621 0.02504,0.53904 0,0.6444 -0.01845,0.0776 -0.07802,0.13887 -0.102078,0.2148 -0.02865,0.0904 0.03039,0.47307 0,0.53701 -0.03649,0.0768 -0.167668,0.138 -0.204165,0.2148 -0.03208,0.0676 0.03207,0.3621 0,0.4296 -0.02153,0.0453 -0.08056,0.0622 -0.102077,0.10746 -0.0322,0.0678 0.0322,0.46924 0,0.537 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.02769,0.0583 0.02793,0.40022 0,0.42961 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.0046,0.005 0,0.48636 0,0.53701 0,0.0358 0.02406,0.0821 0,0.10733 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.06801,0.0716 0.06801,0.14325 0,0.21481 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.03583,0.0377 0.03526,0.46282 0,0.537 -0.02153,0.0453 -0.102077,0.0567 -0.102077,0.10746 0,0.0358 0.102077,-0.0358 0.102077,0 0,0.0358 -0.08687,-0.032 -0.102077,0 -0.01201,0.0252 0,0.35905 0,0.42961 0,0.0483 0.01553,0.28951 0,0.3222 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.01514,0.0319 0,0.54052 0,0.64441 0,0.10113 0.01935,0.4759 0,0.53699 -0.01522,0.0481 -0.08687,0.0594 -0.102078,0.10746 -0.02314,0.073 0.02707,0.48005 0,0.53701 -0.02153,0.0453 -0.08056,0.0621 -0.102077,0.10733 -0.01553,0.0327 0,0.27384 0,0.3222 0,0.28641 0,0.57281 0,0.85921 0,0.11245 0.02075,0.55707 0,0.64441 -0.01845,0.0777 -0.07802,0.13886 -0.102078,0.21481 -0.02221,0.0701 0,0.51599 0,0.6444 0,0.2148 0,0.4296 0,0.6444 0,0.0358 0,0.0716 0,0.10746 0,0.0358 0.01522,0.0753 0,0.10746 -0.02153,0.0453 -0.08056,0.0621 -0.102078,0.10733 -0.01553,0.0327 0,0.27384 0,0.32221 0,0.0358 -0.02406,0.0822 0,0.10746 0.02406,0.0253 0.07802,-0.0253 0.102078,0 0.0042,0.005 0,0.39016 0,0.4296 0,0.0394 0.0042,0.42529 0,0.42961 -0.02406,0.0253 -0.06805,0 -0.102078,0" + id="path3719" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3749)" + d="m 6.1375282,254.49902 c 0,0.21479 0,0.4296 0,0.6444 0,0.0358 0.015216,0.0753 0,0.10746 -0.040806,0.0859 -0.163359,0.12895 -0.2041643,0.2148 -0.015534,0.0327 0,0.27384 0,0.32221 0,0.2148 0,0.4296 0,0.6444 0,0.10745 0.032281,0.22031 0,0.32221 -0.015216,0.0481 -0.086865,0.0594 -0.1020822,0.10746 -0.021521,0.0679 0,0.1432 0,0.2148 0,0.21481 0,0.4296 0,0.6444 0,0.10746 0.024759,0.21801 0,0.3222 -0.011672,0.0492 -0.090411,0.0583 -0.1020823,0.10746 -0.018342,0.0772 0,0.52598 0,0.6444 0,0.35801 0,0.71601 0,1.07401 0,0.17901 0,0.35801 0,0.53701 0,0.0716 0,0.1432 0,0.2148 0,0.0358 -0.015216,0.0753 0,0.10746 0.02152,0.0453 0.086865,0.0594 0.1020823,0.10734 0.018292,0.0578 0,0.33868 0,0.42961 0,0.3222 0,0.6444 0,0.9666 0,0.0976 0.02209,0.68209 0,0.75181 -0.030436,0.096 -0.1611228,0.12424 -0.2041643,0.2148 -0.02699,0.0568 0.012434,0.37728 0,0.42961 -0.018454,0.0777 -0.078021,0.13886 -0.1020823,0.2148 -0.010757,0.034 0,0.0716 0,0.10745 0,0.0716 0,0.1432 0,0.21481 0,0.21479 0,0.42959 0,0.6444 0,0.10746 0.020021,0.21689 0,0.3222 -0.014922,0.0785 -0.073824,0.14047 -0.1020822,0.21481 -0.039962,0.10514 -0.08098,0.21119 -0.1020823,0.3222 -0.013346,0.0702 0,0.1432 0,0.2148 0,0.10746 0,0.21479 0,0.3222 0,0.2506 0,0.5012 0,0.7518 0,1.00242 0,2.00482 0,3.00724 0,1.86161 0,3.72322 0,5.58485 0,0.537 0,1.074 0,1.611 0,0.17901 0,0.35801 0,0.53701 0,0.0358 0,0.0716 0,0.10746 0,0.0358 -0.015216,0.0753 0,0.10745 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.015534,0.0327 0,0.27384 0,0.32221 0,0.2506 0,0.50121 0,0.7518 0,0.0256 -0.01144,0.40554 0,0.42961 0.02152,0.0453 0.080561,0.0621 0.1020822,0.10734 0.015534,0.0327 0,0.27384 0,0.32221 0,0.2864 0,0.5728 0,0.85921 0,0.0561 -0.01342,0.40135 0,0.42959 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.030993,0.0652 -0.030993,0.57919 0,0.6444 0.126143,0.26543 0.1020823,-0.0371 0.1020823,0.21481 0,0.0716 0,0.1432 0,0.21479 0,0.0358 -0.015216,0.0754 0,0.10746 0.02152,0.0453 0.080561,0.0621 0.1020822,0.10745 0.015216,0.032 0,0.0716 0,0.10746 0,0.0716 0,0.14321 0,0.2148 0,0.17901 0,0.35801 0,0.53701 0,0.0716 0,0.1432 0,0.2148 0,0.0358 -0.015216,0.0753 0,0.10746 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.030993,0.0652 -0.030994,0.57918 0,0.6444 0.021521,0.0453 0.080561,0.0621 0.1020822,0.10746 0.0322,0.0678 -0.0322,0.46926 0,0.537 0.02152,0.0453 0.09041,0.0583 0.1020823,0.10746 0.033012,0.13893 -0.033011,0.29068 0,0.4296 0.026099,0.10977 0.075984,0.21238 0.1020822,0.32221 0.00826,0.0347 0,0.0716 0,0.10734 0,0.17321 -0.021875,0.48329 0,0.6444 0.024538,0.18072 0.077544,0.3563 0.1020823,0.537 0.014435,0.10637 -0.024759,0.21801 0,0.3222 0.026099,0.10977 0.075984,0.21239 0.1020823,0.32221 0.051041,0.2148 -0.1020823,0 0,0.32221 0.015216,0.0481 0.080561,0.0621 0.1020822,0.10746 0.013197,0.0277 0,0.56828 0,0.6444 0,0.0358 -0.015216,0.0753 0,0.10745 0.02152,0.0453 0.080561,0.0621 0.1020823,0.10746 0.022711,0.0478 -0.015562,0.38048 0,0.42961 0.015216,0.0481 0.080561,0.0621 0.1020822,0.10734 0.015216,0.032 0,0.0716 0,0.10745 0,0.0716 -0.00962,0.14393 0,0.21481 0.034027,0.179 0.068055,0.358 0.1020823,0.537 0.034027,0.0358 0.086865,0.0594 0.1020822,0.10746 0.036724,0.11585 -0.043361,0.55316 0,0.6444 0.015216,0.032 0.1020823,-0.0358 0.1020823,0 0,0.0358 -0.1020823,0.0358 -0.1020823,0 0,-0.0506 0.068055,-0.0716 0.1020823,-0.10745 0.7471377,-0.031 1.4992461,0.0405 2.2458048,-8.7e-4 0.3414982,-0.0189 0.6791234,-0.093 1.0208212,-0.10746 0.510003,-0.0214 1.021348,0.0243 1.531232,0 0.240362,-0.0109 0.476383,-0.0716 0.714575,-0.10745 0.884712,-0.0358 1.769032,-0.0847 2.654135,-0.10746 0.510259,-0.0131 1.021171,0.0198 1.531232,0 0.409462,-0.0159 0.815376,-0.0964 1.224984,-0.10746 0.918438,-0.0248 1.837479,0 2.756218,0 1.837478,0 3.674955,0 5.512434,0 1.29304,0 2.58608,0 3.879119,0 0.544439,0 1.088877,0 1.633314,0 0.306247,0 0.61281,-0.0146 0.918739,0 4.200347,0.20087 -0.896048,0.009 2.245808,0.21481 0.781843,0.0513 1.566419,0.05 2.347888,0.10745 0.682282,0.0501 1.361095,0.1432 2.041642,0.21481 0.340274,0.0358 0.679323,0.0885 1.020821,0.10733 0.305824,0.0169 0.613021,-0.0189 0.918739,0 0.273865,0.0169 0.542578,0.0949 0.816657,0.10746 0.509929,0.0234 1.020821,0 1.531232,0 0.306245,0 0.612492,0 0.918739,0 0.102078,0 0.204788,-0.0122 0.306246,0 1.019432,0.11914 0.293783,0.10734 0.816657,0.10734 0.374301,0 0.748602,0 1.122903,0 0.05454,0 0.481195,0.0153 0.51041,0 0.04304,-0.0226 0.05539,-0.0952 0.102078,-0.10734 0.17724,-0.0466 0.435253,0.0466 0.612492,0 0.07382,-0.0195 0.13035,-0.088 0.204165,-0.10746 0.06602,-0.0174 0.13611,0 0.204164,0 0.170137,0 0.343578,0.0352 0.510411,0 0.07461,-0.0157 0.130349,-0.088 0.204164,-0.10733 0.06602,-0.0174 0.13611,0 0.204165,0 0.06806,0 0.136109,0 0.204164,0 0.340273,0 0.680547,0 1.02082,0 0.646521,0 1.293041,0 1.939561,0 0.204164,0 0.408328,0 0.612492,0 0.03403,0 0.06806,0 0.102078,0 0.03403,0 0.07164,-0.0161 0.102078,0 0.04304,0.0226 0.0549,0.0975 0.102077,0.10733 0.133467,0.0281 0.272218,0 0.408328,0 0.306247,0 0.612494,0 0.918739,0 0.06806,0 0.13611,0 0.204165,0 0.06806,0 0.13814,-0.0174 0.204164,0 0.07382,0.0195 0.131982,0.0822 0.204164,0.10746 0.03228,0.011 0.06806,0 0.102077,0 0.06806,0 0.13611,0 0.204165,0 0.272219,0 0.544437,0 0.816657,0 0.340274,0 0.680547,0 1.020821,0 0.122607,0 0.39237,0.0207 0.51041,0 0.13839,-0.0242 0.270755,-0.0785 0.408329,-0.10746 0.1001,-0.0211 0.204164,0 0.306246,0 0.204164,0 0.408329,0 0.612493,0 0.04597,0 0.27518,0.0163 0.306246,0 0.04304,-0.0226 0.05904,-0.0847 0.102078,-0.10733 0.03107,-0.0163 0.260273,0 0.306246,0 0.51041,0 1.020821,0 1.531232,0 0.03749,0 0.40422,-0.005 0.408328,0 0.02406,0.0253 -0.02406,0.0821 0,0.10733 0.02406,0.0253 0.112846,0.034 0.102077,0 -0.07215,-0.22759 -0.204098,-0.42913 -0.306147,-0.64369" + id="path3721" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3745)" + d="m 47.317718,232.06891 c -0.0339,0.25142 -0.07196,0.50226 -0.101696,0.75427 -0.0038,0.0327 -0.0098,0.30162 0,0.3222 0.02151,0.0453 0.08056,0.0621 0.102089,0.10733 0.01555,0.0327 0,0.27384 0,0.3222 0,0.21481 0,0.42961 0,0.64442 0,0.3938 0,0.7876 0,1.1814 0,0.0931 0.01971,0.36739 0,0.42961 -0.02406,0.0759 -0.07802,0.13886 -0.102089,0.2148 -0.01076,0.034 0,0.0716 0,0.10745 0,0.0716 0,0.1432 0,0.21481 0,0.21479 0,0.4296 0,0.6444 0,0.76176 0.07218,0.0629 -0.102078,0.4296 -0.03046,0.064 0.02151,0.14688 0,0.2148 -0.02406,0.0759 -0.07802,0.13886 -0.102078,0.21481 -0.02151,0.0679 0.03042,0.15075 0,0.2148 -0.02151,0.0453 -0.08056,0.0621 -0.102077,0.10746 -0.01341,0.0282 0,0.37345 0,0.42961 0,0.2864 0,0.57279 0,0.8592 0,0.026 0.0032,0.31875 0,0.3222 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0,0.0716 0,0.10734 0,0.0358 0,0.0716 0,0.10746 0,0.0716 -0.02151,0.14687 0,0.21479 0.01521,0.0481 0.08056,0.0622 0.102078,0.10746 0.0146,0.0308 0,0.47962 0,0.537 0,0.39381 0,0.7876 0,1.18141 0,0.42961 0,0.85921 0,1.28882 0,0.0562 -0.01341,0.40136 0,0.42959 0.02151,0.0453 0.08056,0.0622 0.102077,0.10746 0.01341,0.0282 0,0.37343 0,0.4296 0,0.0394 -0.004,0.42529 0,0.42961 0.02406,0.0253 0.07802,-0.0253 0.102078,0 0.05105,0.0537 -0.05105,0.26849 0,0.3222 0.02406,0.0253 0.07802,-0.0253 0.102078,0 0.02406,0.0253 0,0.0716 0,0.10745 0,0.0358 0,0.0716 0,0.10746 0,0.3938 0,0.7876 0,1.18141 0,0.5012 0,1.0024 0,1.50361 0,0.0358 0,0.0716 0,0.10745 0,0.0358 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0,0.0716 0,0.10746 0,0.0358 0,0.0716 0,0.10733 0,0.2506 0,0.50121 0,0.75181 0,0.0483 -0.01555,0.28952 0,0.3222 0.02151,0.0453 0.08056,0.0621 0.102078,0.10734 0.01552,0.0327 0,0.27384 0,0.3222 0,0.25061 0,0.5012 0,0.75181 0,0.0561 0.01341,0.40136 0,0.42961 -0.02152,0.0453 -0.08056,0.0621 -0.102078,0.10746 -0.04083,0.0859 0.04083,0.23628 0,0.3222 -0.02151,0.0453 -0.08056,0.0621 -0.102078,0.10733 -0.01319,0.0277 0,0.5683 0,0.64442 0,0.4654 0,0.93081 0,1.39621 0,0.0562 0.01341,0.40136 0,0.42961 -0.02151,0.0453 -0.08056,0.0621 -0.102077,0.10746 -0.0146,0.0308 0,0.47962 0,0.537 0,0.0483 -0.01551,0.28951 0,0.3222 0.02151,0.0453 0.08056,0.0621 0.102077,0.10746 0.01341,0.0282 0,0.37345 0,0.42961 0,0.2864 0,0.57281 0,0.8592 0,0.0394 -0.004,0.42528 0,0.4296 0.136112,0.14321 0.102078,-0.179 0.102078,0.10746 0,0.026 0.0032,0.31874 0,0.3222 -0.136108,0.1432 -0.102078,-0.179 -0.102078,0.10746 0,0.026 0.0032,0.31875 0,0.32221 -0.02406,0.0253 -0.102077,0.0358 -0.102077,0 0,-0.0358 0.06806,0 0.102077,0" + id="path3723" + inkscape:connector-curvature="0" + transform="matrix(-2.4283402,0,0,0.88801913,162.77281,27.425939)" /> + <path + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3741)" + d="m 47.480784,237.20746 c 0.224052,1.08173 -0.370112,0.17459 -0.51041,0.3222 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102089,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.04812,0.0506 -0.143294,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03042,0.0159 -0.07802,-0.0253 -0.102089,0 -0.136111,0.1432 0.216548,0.10308 -0.102077,0.21479 -6.12e-4,1.7e-4 -0.306151,-1e-4 -0.306246,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.3984,0.41915 -0.05483,-0.0248 -0.306248,0.10746 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.03042,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03042,0.0159 -0.07165,-0.0161 -0.102089,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03045,0.0161 -0.07164,-0.016 -0.102077,0 -0.216625,0.1139 0.01246,0.10088 -0.204163,0.2148 -0.140809,0.0741 -0.09131,-0.13007 -0.204165,0.10734 -0.01521,0.032 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143294,-0.032 -0.204162,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03042,0.0161 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.08056,0.0622 -0.102077,0.10745 -0.01521,0.032 0.03045,0.0914 0,0.10746 -0.06087,0.032 -0.143294,-0.032 -0.204162,0 -0.03046,0.0161 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07165,-0.0159 -0.10209,0 -0.08608,0.0453 -0.118082,0.16952 -0.204165,0.2148 -0.03042,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102089,0.10746 -0.03042,0.0159 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03042,0.0159 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.02406,0.0253 -0.06806,0 -0.102078,0 -0.06806,0 -0.143297,-0.032 -0.204165,0 -0.06086,0.032 0.04812,0.16418 0,0.21481 -0.06801,0.0716 -0.136154,-0.0716 -0.204165,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.02406,0.0253 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.06088,0.032 -0.143294,-0.032 -0.204165,0 -0.08608,0.0453 -0.124084,0.15863 -0.204163,0.2148 -0.740155,0.38936 0.161406,-0.11317 -0.306248,0.2148 -0.0633,0.0444 -0.143294,0.0594 -0.204162,0.10745 -0.077,0.0607 -0.124087,0.15863 -0.204166,0.21481 -0.0283,0.0198 -0.06981,-0.011 -0.102077,0 -0.07219,0.0253 -0.131981,0.0821 -0.204163,0.10745 -0.18857,0.0661 -0.0484,-0.16388 -0.306249,0.10734 -0.0538,0.0566 -0.03877,0.1704 -0.102077,0.2148 -0.05662,0.0397 -0.138141,-0.0174 -0.204163,0 -0.492948,0.12966 0.0051,0.051 -0.306249,0.21481 -0.09625,0.0506 -0.200731,0.0852 -0.306244,0.10746 -0.06673,0.014 -0.147539,-0.0397 -0.204166,0 -0.0633,0.0444 -0.04828,0.1582 -0.102077,0.2148 -0.02406,0.0253 -0.06981,-0.0109 -0.102078,0 -0.144365,0.0506 -0.260698,0.17597 -0.408328,0.21481 -0.06602,0.0174 -0.138143,-0.0174 -0.204166,0 -0.07382,0.0195 -0.136108,0.0716 -0.204162,0.10745 -0.204165,0.10746 -0.408331,0.21481 -0.612493,0.3222 -0.06806,0.0358 -0.131004,0.0854 -0.204166,0.10746 -0.166829,0.0501 -0.350933,0.0355 -0.51041,0.10746 -0.08846,0.0399 -0.121636,0.1627 -0.204163,0.2148 -0.09227,0.0583 -0.210005,0.0567 -0.306248,0.10746 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.09625,0.0506 -0.210002,0.0567 -0.306246,0.10745 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.09625,0.0506 -0.206339,0.0653 -0.306246,0.10734 -0.07065,0.0297 -0.133519,0.0776 -0.204166,0.10745 -0.0999,0.042 -0.210001,0.0567 -0.306244,0.10746 -0.129124,0.0679 -0.177121,0.25427 -0.306246,0.3222 -0.06086,0.032 -0.138143,-0.0174 -0.204165,0 -0.07382,0.0195 -0.133519,0.0776 -0.204165,0.10746 -0.0999,0.042 -0.210002,0.0567 -0.306245,0.10746 -0.04304,0.0226 -0.05741,0.0886 -0.10209,0.10733 -0.130262,0.0549 -0.270752,0.0785 -0.408327,0.10746 -0.03337,0.007 -0.07377,-0.0198 -0.102078,0 -0.08008,0.0562 -0.136109,0.14321 -0.204162,0.2148 -0.03403,0.0358 -0.05644,0.0914 -0.10209,0.10746 -0.06457,0.0226 -0.138143,-0.0174 -0.204164,0 -0.07382,0.0195 -0.136109,0.0716 -0.204163,0.10734 -0.136111,0.0716 -0.27222,0.14319 -0.408331,0.2148 -0.06806,0.0358 -0.13198,0.0821 -0.204162,0.10734 -0.03228,0.011 -0.06981,-0.011 -0.102089,0 -0.07218,0.0253 -0.130348,0.088 -0.204166,0.10745 -0.06602,0.0174 -0.138139,-0.0174 -0.204162,0 -0.07382,0.0195 -0.136111,0.0716 -0.204166,0.10746 -0.06805,0.0358 -0.15036,0.0507 -0.204162,0.10746 -0.02406,0.0253 0.02406,0.082 0,0.10745 -0.115102,0.12109 -0.525966,0.18446 -0.612493,0.2148 -0.213019,0.0747 -0.297395,0.2475 -0.51041,0.32221 -0.06457,0.0226 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.016 -0.07165,-0.0161 -0.102089,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0161 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.0161 -0.06806,0 -0.102078,0 -0.06806,0 -0.139601,-0.0226 -0.204164,0 -0.04565,0.0161 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.06023,0.0316 -0.236031,-0.0246 -0.306247,0 -0.07218,0.0253 -0.131981,0.0821 -0.204164,0.10745 -0.03228,0.011 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10734 -0.0032,0.004 -0.281487,0 -0.306245,0 -0.03403,0 -0.06806,0 -0.102078,0 -0.03403,0 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02087,0.0219 -0.265772,-0.0213 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.06088,0.032 -0.156043,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.06806,0 -0.102078,0 -0.06806,0 -0.143294,-0.032 -0.204164,0 -0.03043,0.0161 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.06086,0.032 -0.143293,-0.032 -0.204163,0 -0.467191,0.24576 0.433177,-0.0445 -0.306247,0.2148 -0.07021,0.0246 -0.246016,-0.0316 -0.306245,0 -0.08608,0.0453 -0.118082,0.16951 -0.204165,0.21481 -0.06086,0.032 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03043,0.016 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.04047,0.0213 -0.285377,-0.0219 -0.306246,0 -0.0538,0.0566 -0.03877,0.17039 -0.102078,0.21479 -0.01272,0.009 -0.396405,-0.0125 -0.408328,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06981,-0.011 -0.102077,0 -0.07219,0.0253 -0.131982,0.0821 -0.204165,0.10733 -0.03228,0.011 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05644,0.0914 -0.102077,0.10733 -0.06457,0.0226 -0.143296,-0.032 -0.204165,0 -0.03043,0.0161 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156041,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10733 -0.04812,0.0506 -0.156042,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143294,-0.032 -0.204163,0 -0.08608,0.0453 -0.118082,0.16951 -0.204165,0.21479 -0.03043,0.0161 -0.06981,-0.011 -0.102077,0 -0.739424,0.25932 0.160944,-0.0309 -0.306247,0.21481 -0.251423,0.13226 0.09215,-0.31176 -0.306246,0.10745 -0.02406,0.0253 0.03043,0.0914 0,0.10746 -0.06086,0.032 -0.143295,-0.032 -0.204164,0 -0.03043,0.0159 0.01521,0.0753 0,0.10746 -0.02153,0.0453 -0.06204,0.0793 -0.102078,0.10746 0.01162,0.20346 -0.23819,0.0715 -0.306245,0.10745 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.08608,0.0453 -0.118081,0.16952 -0.204164,0.2148 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05642,0.0914 -0.102078,0.10746 -0.06457,0.0226 -0.139601,-0.0226 -0.204164,0 -0.09131,0.032 -0.118082,0.16952 -0.204165,0.2148 -0.03043,0.0159 -0.06806,0 -0.102077,0 -0.06806,0 -0.139602,-0.0226 -0.204164,0 -0.09131,0.032 -0.118081,0.16951 -0.204164,0.21479 -0.06086,0.032 -0.143295,-0.032 -0.204165,0 -0.08608,0.0453 -0.11808,0.16953 -0.204164,0.21481 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.10881,0.0572 -0.09535,-0.0572 -0.204164,0 -0.122499,0.0645 -0.183748,0.25776 -0.306247,0.3222 -0.08166,0.043 -0.22458,-0.043 -0.306246,0 -0.424841,0.22349 0.109133,-0.007 -0.102078,0.2148 -0.04812,0.0506 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.08166,0.043 -0.224581,-0.043 -0.306247,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.06088,0.032 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143293,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.016 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.01522,0.0753 0,0.10746 -0.02153,0.0453 -0.06806,0.0716 -0.102078,0.10733 -0.03403,0.0358 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07164,-0.0159 -0.102078,0 -0.122498,0.0644 -0.183748,0.25776 -0.306245,0.3222 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.09048,0.0476 -0.21332,0.25702 -0.306247,0.3222 -0.0633,0.0444 -0.140855,0.063 -0.204164,0.10746 -0.04004,0.0281 -0.05904,0.0847 -0.102078,0.10745 -0.03043,0.016 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.04812,0.0506 0.04812,0.16418 0,0.2148 -0.04812,0.0506 -0.156043,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.211211,0.22221 0.0082,-0.33958 -0.204165,0.10745 -0.01521,0.032 0.02406,0.082 0,0.10746 -0.04812,0.0506 -0.156041,-0.0506 -0.204163,0 -0.02406,0.0253 0.02406,0.0821 0,0.10734 -0.02406,0.0253 -0.07165,-0.016 -0.102077,0 -0.424842,0.22349 0.109133,-0.007 -0.102078,0.2148 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0,0.0716 0,0.10745 -0.03403,0 -0.07165,-0.0159 -0.102078,0 -0.424842,0.22349 0.109133,-0.007 -0.102078,0.2148 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156041,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.156042,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.06801,0.0716 -0.136156,-0.0716 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156042,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10733 -0.04812,0.0506 -0.156042,-0.0506 -0.204165,0 -0.02406,0.0253 0.03403,0.10746 0,0.10746 -0.03403,0 0.03403,-0.10746 0,-0.10746 -0.169281,0 -0.07158,0.15063 -0.102081,0.21481 -0.212421,0.44697 0.007,-0.11476 -0.204164,0.10746 -0.02406,0.0253 0.01522,0.0754 0,0.10745 -0.212421,0.44698 0.007,-0.11476 -0.204164,0.10746 -0.02406,0.0253 0.01522,0.0753 0,0.10746 -0.02152,0.0453 -0.05904,0.0847 -0.102083,0.10745 -0.03044,0.016 -0.136109,0 -0.102082,0 0.238191,0 0.476383,0 0.714574,0" + id="path3731" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3737)" + d="m 46.970374,244.72552 c -0.03403,0.14322 -0.06806,0.28641 -0.102089,0.42961 -0.03403,0 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.21121,0.22222 0.0082,-0.33957 -0.204162,0.10746 -0.01521,0.032 0.02406,0.0821 0,0.10733 -0.02406,0.0253 -0.07802,-0.0253 -0.10209,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.143294,-0.032 -0.204166,0 -0.424838,0.22348 0.109134,-0.007 -0.102077,0.2148 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.156044,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10734 -0.04812,0.0506 -0.156044,-0.0506 -0.204166,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02406,0.0253 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.04812,0.0506 -0.156041,-0.0506 -0.204162,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06806,0 -0.10209,0 0,0.0358 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143294,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03042,0.0161 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.05104,0.0537 -0.255206,-0.0537 -0.306248,0 -0.02406,0.0253 0.02406,0.082 0,0.10733 -0.05104,0.0537 -0.255204,-0.0537 -0.306245,0 -0.02406,0.0253 0.01521,0.0753 0,0.10746 -0.112858,0.23748 -0.06335,0.0333 -0.204166,0.10746 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.08166,0.043 -0.224582,-0.043 -0.30625,0 -0.06086,0.032 0.04812,0.16418 0,0.21481 -0.04812,0.0506 -0.143293,-0.032 -0.204162,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03042,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05644,0.0914 -0.102078,0.10746 -0.06457,0.0226 -0.143293,-0.032 -0.204162,0 -0.03042,0.0159 0.02406,0.082 0,0.10733 -0.04813,0.0506 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03046,0.0161 -0.07165,-0.0161 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.03042,0.0159 -0.06806,0 -0.102078,0 -0.03403,0.0358 -0.06205,0.0793 -0.102078,0.10733 -0.0633,0.0444 -0.13198,0.0821 -0.204165,0.10746 -0.03228,0.011 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0821 0,0.10733 -0.02406,0.0253 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.06806,0.0716 -0.102078,0.10746 -0.03403,0.0358 -0.05904,0.0847 -0.102089,0.10733 -0.06087,0.032 -0.139599,-0.0226 -0.204162,0 -0.144365,0.0506 -0.263963,0.16418 -0.408328,0.21481 -0.06457,0.0226 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.03042,0.0161 -0.07165,-0.0159 -0.10209,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.04047,0.0213 -0.28538,-0.022 -0.306249,0 -0.02406,0.0253 0.02406,0.082 0,0.10734 -0.02406,0.0253 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.03042,0.0161 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.03045,0.0914 0,0.10746 -0.06605,0.0347 -0.371659,-0.0386 -0.408328,0 -0.136112,0.1432 0.170137,0.10734 -0.102078,0.10734 -0.02475,0 -0.302964,-0.004 -0.306244,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04813,0.0506 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.03046,0.0159 -0.07165,-0.0161 -0.10209,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10733 -0.06086,0.032 -0.139603,-0.0226 -0.204165,0 -0.07218,0.0253 -0.131984,0.0821 -0.204165,0.10746 -0.06457,0.0226 -0.143295,-0.032 -0.204163,0 -0.07255,0.0382 -0.131621,0.17664 -0.204165,0.21481 -0.08166,0.0429 -0.224583,-0.043 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.06088,0.032 -0.15604,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.0032,0.004 -0.281487,0 -0.306246,0 -0.239399,0 0.04812,-0.0253 -0.204166,0.10746 -0.06416,0.0337 -0.344166,-0.0337 -0.408327,0 -0.04304,0.0226 -0.06806,0.0716 -0.102078,0.10745 -0.06805,0 -0.139601,-0.0226 -0.204162,0 -0.04566,0.016 -0.05904,0.0847 -0.102089,0.10734 -0.04047,0.0213 -0.285376,-0.0219 -0.306245,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02181,0.023 -0.35205,-0.0197 -0.408328,0 -0.07219,0.0253 -0.131982,0.0821 -0.204165,0.10745 -0.06457,0.0226 -0.143294,-0.032 -0.204166,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.08166,0.043 -0.224581,-0.043 -0.306248,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10746 -0.06086,0.032 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.06088,0.032 -0.143294,-0.032 -0.204166,0 -0.08608,0.0453 -0.112858,0.18279 -0.204162,0.21481 -0.0467,0.0164 -0.362906,-0.0238 -0.408328,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10733 -0.03045,0.0159 -0.07802,-0.0253 -0.102089,0 -0.02406,0.0253 0.03046,0.0914 0,0.10746 -0.06086,0.032 -0.143294,-0.032 -0.204166,0 -0.03042,0.0159 0.02406,0.0821 0,0.10746 -0.02458,0.0259 -0.383762,-0.0258 -0.408327,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.06979,-0.011 -0.102078,0 -0.07219,0.0253 -0.13198,0.0821 -0.204162,0.10745 -0.03228,0.011 -0.06981,-0.0109 -0.102089,0 -0.07218,0.0253 -0.13198,0.0822 -0.204166,0.10746 -0.06457,0.0226 -0.143294,-0.032 -0.204162,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03042,0.0159 -0.06806,0 -0.102089,0 -0.03403,0.0358 -0.05904,0.0847 -0.102078,0.10745 -0.03045,0.016 -0.06806,0 -0.102089,0 -0.06805,0 -0.138143,-0.0174 -0.204166,0 -0.07381,0.0195 -0.131979,0.0822 -0.204162,0.10746 -0.03228,0.011 -0.07802,-0.0253 -0.102089,0 -0.02406,0.0253 0.03043,0.0914 0,0.10734 -0.06086,0.032 -0.139602,-0.0226 -0.204163,0 -0.04565,0.0161 -0.05644,0.0914 -0.102078,0.10745 -0.06457,0.0226 -0.139603,-0.0226 -0.204165,0 -0.09131,0.032 -0.112857,0.18279 -0.204164,0.21481 -0.06457,0.0226 -0.139602,-0.0226 -0.204165,0 -0.04565,0.0159 -0.05904,0.0848 -0.102077,0.10746 -0.03043,0.0159 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05644,0.0914 -0.102077,0.10745 -0.06457,0.0226 -0.143295,-0.032 -0.204165,0 -0.03043,0.0159 0.02406,0.0822 0,0.10746 -9.7e-5,1.1e-4 -0.305784,-1.6e-4 -0.306247,0 -0.09131,0.032 -0.112858,0.18279 -0.204164,0.2148 -0.06457,0.0226 -0.136109,0 -0.204164,0 -0.03403,0 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.06086,0.032 -0.143294,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0159 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10745 -0.03043,0.016 -0.07802,-0.0253 -0.102078,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.06801,0.0716 -0.136156,-0.0716 -0.204164,0 -0.02406,0.0253 0.02406,0.0822 0,0.10746 -0.04812,0.0506 -0.143294,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.06086,0.032 -0.156041,-0.0506 -0.204163,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.156043,-0.0506 -0.204164,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.04812,0.0506 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.082 0,0.10746 -0.03667,0.0386 -0.342286,-0.0347 -0.408328,0 -0.03043,0.0159 0.02406,0.0821 0,0.10733 -0.05104,0.0537 -0.255205,-0.0537 -0.306247,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143295,-0.032 -0.204165,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0159 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10745 -0.02087,0.0219 -0.265772,-0.0213 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.06088,0.032 -0.143295,-0.032 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.06086,0.032 -0.143294,-0.032 -0.204163,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.0159 -0.07802,-0.0253 -0.102077,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02087,0.0219 -0.265772,-0.0213 -0.306247,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07164,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102077,0.10746 -0.08166,0.043 -0.22458,-0.043 -0.306246,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10745 -0.03043,0.0159 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0161 -0.102077,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10746 -0.04542,0.0239 -0.361637,-0.0164 -0.408328,0 -0.04565,0.0159 -0.05904,0.0847 -0.102077,0.10733 -0.03043,0.0161 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.03043,0.0159 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10746 -0.06088,0.032 -0.143295,-0.032 -0.204164,0 -0.08608,0.0453 -0.118082,0.16952 -0.204165,0.2148 -0.03043,0.0159 -0.06981,-0.0109 -0.102078,0 -0.07218,0.0253 -0.130348,0.088 -0.204164,0.10746 -0.06602,0.0174 -0.143294,-0.032 -0.204163,0 -0.03043,0.0159 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07165,-0.016 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10745 -0.108809,0.0572 -0.09534,-0.0572 -0.204164,0 -0.04304,0.0226 -0.05904,0.0847 -0.102078,0.10734 -0.03043,0.0161 -0.07165,-0.0159 -0.102077,0 -0.04304,0.0226 -0.05904,0.0848 -0.102078,0.10745 -0.03043,0.016 -0.07165,-0.0159 -0.102078,0 -0.04304,0.0226 -0.05904,0.0847 -0.102077,0.10734 -0.06088,0.032 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.03043,0.0914 0,0.10746 -0.06086,0.032 -0.143294,-0.032 -0.204164,0 -0.03043,0.0159 0.02406,0.0821 0,0.10745 -0.04812,0.0506 -0.143294,-0.032 -0.204164,0 -0.424842,0.2235 0.109134,-0.007 -0.102077,0.21481 -0.04812,0.0506 -0.156043,-0.0506 -0.204165,0 -0.02406,0.0253 0.02406,0.0821 0,0.10746 -0.02406,0.0253 -0.07802,-0.0253 -0.102078,0 -0.136109,0.1432 0.170138,0.10733 -0.102077,0.10733" + id="path3733" + inkscape:connector-curvature="0" /> + <flowRoot + xml:space="preserve" + id="flowRoot4620" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter4650)" + transform="matrix(0.26458333,0,0,0.26458333,0,229.26665)"><flowRegion + id="flowRegion4622"><rect + id="rect4624" + width="185.79178" + height="100.40094" + x="35.357143" + y="120.24191" /></flowRegion><flowPara + id="flowPara4626" + style="font-size:85.33333441px;text-anchor:middle;text-align:center">HFC</flowPara></flowRoot> </g> +</svg> diff --git a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml index 2a0effb47c..f7c67403a4 100644 --- a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml @@ -35,18 +35,6 @@ Item { usernameText.text = Account.username; } } - - // Security Image - Image { - id: passphrasePageSecurityImage; - // Anchors - anchors.top: parent.top; - anchors.left: parent.left; - height: 65; - width: height; - fillMode: Image.PreserveAspectFit; - mipmap: true; - } // Username Text RalewayRegular { @@ -58,19 +46,119 @@ Item { color: hifi.colors.faintGray; elide: Text.ElideRight; // Anchors - anchors.top: passphrasePageSecurityImage.top; - anchors.bottom: passphrasePageSecurityImage.bottom; - anchors.left: passphrasePageSecurityImage.right; - anchors.leftMargin: 16; + anchors.top: securityImageContainer.top; + anchors.bottom: securityImageContainer.bottom; + anchors.left: parent.left; anchors.right: hfcBalanceContainer.left; } - - Rectangle { + + // HFC Balance Container + Item { id: hfcBalanceContainer; - anchors.right: parent.right; - anchors.verticalCenter: passphrasePageSecurityImage.verticalCenter; + // Anchors + anchors.top: securityImageContainer.top; + anchors.right: securityImageContainer.left; + anchors.rightMargin: 16; width: 175; - height: 45; + height: 60; + Rectangle { + id: hfcBalanceField; + anchors.right: parent.right; + anchors.left: parent.left; + anchors.bottom: parent.bottom; + height: parent.height - 15; + + // "HFC" balance label + RalewayRegular { + id: balanceLabel; + text: "HFC"; + // Text size + size: 20; + // Anchors + anchors.top: parent.top; + anchors.bottom: parent.bottom; + anchors.right: hfcBalanceField.right; + anchors.rightMargin: 4; + width: paintedWidth; + // Style + color: hifi.colors.darkGray; + // Alignment + horizontalAlignment: Text.AlignRight; + verticalAlignment: Text.AlignVCenter; + } + + // Balance Text + FiraSansRegular { + text: "0.00"; + // Text size + size: 28; + // Anchors + anchors.top: parent.top; + anchors.bottom: parent.bottom; + anchors.left: parent.left; + anchors.right: balanceLabel.left; + anchors.rightMargin: 4; + // Style + color: hifi.colors.darkGray; + // Alignment + horizontalAlignment: Text.AlignRight; + verticalAlignment: Text.AlignVCenter; + } + } + // "balance" text above field + RalewayRegular { + text: "balance"; + // Text size + size: 12; + // Anchors + anchors.top: parent.top; + anchors.bottom: hfcBalanceField.top; + anchors.bottomMargin: 4; + anchors.left: hfcBalanceField.left; + anchors.right: hfcBalanceField.right; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignLeft; + verticalAlignment: Text.AlignVCenter; + } + } + + // Security Image + Item { + id: securityImageContainer; + // Anchors + anchors.top: parent.top; + anchors.right: parent.right; + width: 75; + height: childrenRect.height; + Image { + id: passphrasePageSecurityImage; + // Anchors + anchors.top: parent.top; + anchors.horizontalCenter: parent.horizontalCenter; + height: parent.width - 10; + width: height; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + // "Security picture" text below pic + RalewayRegular { + text: "security picture"; + // Text size + size: 12; + // Anchors + anchors.top: passphrasePageSecurityImage.bottom; + anchors.topMargin: 4; + anchors.left: securityImageContainer.left; + anchors.right: securityImageContainer.right; + height: paintedHeight; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } } // diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml index c323defef7..13f72b8b2c 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -41,8 +41,7 @@ Item { anchors.topMargin: 30; anchors.left: parent.left; anchors.leftMargin: 16; - anchors.right: parent.right; - anchors.rightMargin: 16; + width: 280; height: 50; echoMode: TextInput.Password; placeholderText: "passphrase"; @@ -51,14 +50,49 @@ Item { id: passphraseFieldAgain; anchors.top: passphraseField.bottom; anchors.topMargin: 10; - anchors.left: parent.left; - anchors.leftMargin: 16; - anchors.right: parent.right; - anchors.rightMargin: 16; + anchors.left: passphraseField.left; + anchors.right: passphraseField.right; height: 50; echoMode: TextInput.Password; placeholderText: "re-enter passphrase"; } + + // Security Image + Item { + id: securityImageContainer; + // Anchors + anchors.top: passphraseField.top; + anchors.left: passphraseField.right; + anchors.leftMargin: 12; + anchors.right: parent.right; + Image { + id: passphrasePageSecurityImage; + anchors.top: parent.top; + anchors.horizontalCenter: parent.horizontalCenter; + height: 75; + width: height; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + // "Security picture" text below pic + RalewayRegular { + text: "security picture"; + // Text size + size: 12; + // Anchors + anchors.top: passphrasePageSecurityImage.bottom; + anchors.topMargin: 4; + anchors.left: securityImageContainer.left; + anchors.right: securityImageContainer.right; + height: paintedHeight; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + } + // Error text below TextFields RalewaySemiBold { id: errorText; @@ -152,4 +186,8 @@ Item { return true; } } + + function setSecurityImage(imageSource) { + passphrasePageSecurityImage.source = imageSource; + } } diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml index 444420dcdf..1ef05f4b7a 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Security.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml @@ -28,18 +28,6 @@ Item { Hifi.QmlCommerce { id: commerce; } - - // Security Image - Image { - id: topSecurityImage; - // Anchors - anchors.top: parent.top; - anchors.left: parent.left; - height: 65; - width: height; - fillMode: Image.PreserveAspectFit; - mipmap: true; - } // Username Text RalewayRegular { @@ -51,16 +39,52 @@ Item { color: hifi.colors.faintGray; elide: Text.ElideRight; // Anchors - anchors.top: topSecurityImage.top; - anchors.bottom: topSecurityImage.bottom; - anchors.left: topSecurityImage.right; - anchors.leftMargin: 16; + anchors.top: securityImageContainer.top; + anchors.bottom: securityImageContainer.bottom; + anchors.left: parent.left; + anchors.right: securityImageContainer.left; + } + + // Security Image + Item { + id: securityImageContainer; + // Anchors + anchors.top: parent.top; anchors.right: parent.right; + width: 75; + height: childrenRect.height; + Image { + id: topSecurityImage; + // Anchors + anchors.top: parent.top; + anchors.horizontalCenter: parent.horizontalCenter; + height: parent.width - 10; + width: height; + fillMode: Image.PreserveAspectFit; + mipmap: true; + } + // "Security picture" text below pic + RalewayRegular { + text: "security picture"; + // Text size + size: 12; + // Anchors + anchors.top: topSecurityImage.bottom; + anchors.topMargin: 4; + anchors.left: securityImageContainer.left; + anchors.right: securityImageContainer.right; + height: paintedHeight; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } } Item { id: securityContainer; - anchors.top: topSecurityImage.bottom; + anchors.top: securityImageContainer.bottom; anchors.topMargin: 20; anchors.left: parent.left; anchors.right: parent.right; diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 1f76d5cfa4..967d3c6608 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -266,7 +266,7 @@ Rectangle { Rectangle { id: sendMoneyButtonContainer; visible: !notSetUp.visible; - color: root.activeView === "sendMoney" ? hifi.colors.blueAccent : hifi.colors.black; + color: hifi.colors.black; anchors.top: parent.top; anchors.left: accountHomeButtonContainer.right; anchors.bottom: parent.bottom; @@ -281,23 +281,12 @@ Rectangle { anchors.leftMargin: 4; anchors.rightMargin: 4; // Style - color: hifi.colors.faintGray; + color: hifi.colors.lightGray50; wrapMode: Text.WordWrap; // Alignment horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; } - MouseArea { - enabled: !walletSetupLightboxContainer.visible; - anchors.fill: parent; - hoverEnabled: enabled; - onClicked: { - root.activeView = "sendMoney"; - tabButtonsContainer.resetTabButtonColors(); - } - onEntered: parent.color = hifi.colors.blueHighlight; - onExited: parent.color = root.activeView === "sendMoney" ? hifi.colors.blueAccent : hifi.colors.black; - } } // "SECURITY" tab button diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 3f319d7a6c..bf624609c6 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -41,8 +41,7 @@ Rectangle { onSecurityImageResult: { if (imageID !== 0) { // "If security image is set up" - passphrasePageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); - keysReadyPageSecurityImage.source = securityImageSelection.getImagePathFromImageID(imageID); + passphraseSelection.setSecurityImage(securityImageSelection.getImagePathFromImageID(imageID)); } else if (root.lastPage === "securityImage") { // ERROR! Invalid security image. securityImageContainer.visible = true; @@ -435,21 +434,6 @@ Rectangle { securityImageContainer.visible = true; } } - - - // Security Image - Image { - id: passphrasePageSecurityImage; - // Anchors - anchors.top: parent.top; - anchors.topMargin: 3; - anchors.right: passphrasePageNextButton.left; - height: passphrasePageNextButton.height; - width: height; - anchors.verticalCenter: parent.verticalCenter; - fillMode: Image.PreserveAspectFit; - mipmap: true; - } // "Next" button HifiControlsUit.Button { @@ -567,19 +551,6 @@ Rectangle { // Anchors: anchors.left: parent.left; anchors.bottom: parent.bottom; - // Security Image - Image { - id: keysReadyPageSecurityImage; - // Anchors - anchors.top: parent.top; - anchors.topMargin: 3; - anchors.right: keysReadyPageNextButton.left; - height: keysReadyPageNextButton.height; - width: height; - anchors.verticalCenter: parent.verticalCenter; - fillMode: Image.PreserveAspectFit; - mipmap: true; - } // "Next" button HifiControlsUit.Button { id: keysReadyPageNextButton; diff --git a/scripts/system/commerce/wallet.js b/scripts/system/commerce/wallet.js index 3cdb419f7c..6045bef8ef 100644 --- a/scripts/system/commerce/wallet.js +++ b/scripts/system/commerce/wallet.js @@ -122,7 +122,9 @@ function startup() { tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); button = tablet.addButton({ - text: buttonName + text: buttonName, + icon: "icons/tablet-icons/wallet-i.svg", + activeIcon: "icons/tablet-icons/wallet-a.svg" }); button.clicked.connect(onButtonClicked); tablet.screenChanged.connect(onTabletScreenChanged); From 4ff1fb8df01ed4b2c91ad71f08a10cb2f3be1de0 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 14:18:05 -0700 Subject: [PATCH 10/29] Filling out home --- .../qml/hifi/commerce/wallet/AccountHome.qml | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml index f7c67403a4..0838109569 100644 --- a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml @@ -161,6 +161,141 @@ Item { } } + // Recent Activity + Item { + id: recentActivityContainer; + anchors.top: securityImageContainer.bottom; + anchors.topMargin: 8; + anchors.left: parent.left; + anchors.right: parent.right; + anchors.bottom: homeMessage.visible ? homeMessage.top : root.bottom; + anchors.bottomMargin: 10; + + RalewayRegular { + id: recentActivityText; + text: "Recent Activity"; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.right: parent.right; + height: 30; + // Text size + size: 22; + // Style + color: hifi.colors.faintGray; + } + + Rectangle { + id: transactionHistory; + anchors.top: recentActivityText.bottom; + anchors.topMargin: 4; + anchors.bottom: toggleFullHistoryButton.top; + anchors.bottomMargin: 8; + anchors.left: parent.left; + anchors.right: parent.right; + + // some placeholder stuff + RalewayRegular { + text: homeMessage.visible ? "you <b>CANNOT</b> scroll through this." : "you <b>CAN</b> scroll through this"; + // Text size + size: 16; + // Anchors + anchors.fill: parent; + // Style + color: hifi.colors.darkGray; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + } + + HifiControlsUit.Button { + id: toggleFullHistoryButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.bottom: parent.bottom; + anchors.right: parent.right; + width: 250; + height: 40; + text: homeMessage.visible ? "See Full Transaction History" : "Collapse Transaction History"; + onClicked: { + if (homeMessage.visible) { + homeMessage.visible = false; + } else { + homeMessage.visible = true; + } + } + } + } + + // Item for "messages" - like "Welcome" + Item { + id: homeMessage; + anchors.bottom: parent.bottom; + anchors.left: parent.left; + anchors.leftMargin: 20; + anchors.right: parent.right; + anchors.rightMargin: 20; + height: childrenRect.height; + + RalewayRegular { + id: messageText; + text: "<b>Welcome! Let's get you some spending money.</b><br><br>" + + "Now that your account is all set up, click the button below to request your starter money. " + + "A robot will promptly review your request and put money into your account."; + // Text size + size: 16; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.right: parent.right; + height: 130; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + Item { + id: homeMessageButtons; + anchors.top: messageText.bottom; + anchors.topMargin: 4; + anchors.left: parent.left; + anchors.right: parent.right; + height: 40; + HifiControlsUit.Button { + id: noThanksButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.bottom: parent.bottom; + anchors.left: parent.left; + width: 100; + text: "No Thanks" + onClicked: { + messageText.text = "Okay...weird. Who doesn't like free money? If you change your mind, too bad. Sorry." + homeMessageButtons.visible = false; + } + } + HifiControlsUit.Button { + id: freeMoneyButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.bottom: parent.bottom; + anchors.right: parent.right; + width: 210; + text: "Free Money Please" + onClicked: { + messageText.text = "Go, MoneyRobots, Go!" + homeMessageButtons.visible = false; + } + } + } + } + // // FUNCTION DEFINITIONS START // From a91c0cb169ac4f029008843652f312832f3d5981 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 14:22:25 -0700 Subject: [PATCH 11/29] Add 'exchange' tab --- .../qml/hifi/commerce/wallet/Wallet.qml | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 967d3c6608..0adaab4890 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -209,7 +209,7 @@ Rectangle { // Item { id: tabButtonsContainer; - property int numTabs: 4; + property int numTabs: 5; // Size width: root.width; height: 80; @@ -275,7 +275,34 @@ Rectangle { RalewaySemiBold { text: "SEND MONEY"; // Text size - size: hifi.fontSizes.overlayTitle; + size: 14; + // Anchors + anchors.fill: parent; + anchors.leftMargin: 4; + anchors.rightMargin: 4; + // Style + color: hifi.colors.lightGray50; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHCenter; + verticalAlignment: Text.AlignVCenter; + } + } + + // "EXCHANGE MONEY" tab button + Rectangle { + id: exchangeMoneyButtonContainer; + visible: !notSetUp.visible; + color: hifi.colors.black; + anchors.top: parent.top; + anchors.left: sendMoneyButtonContainer.right; + anchors.bottom: parent.bottom; + width: parent.width / tabButtonsContainer.numTabs; + + RalewaySemiBold { + text: "EXCHANGE MONEY"; + // Text size + size: 14; // Anchors anchors.fill: parent; anchors.leftMargin: 4; @@ -295,7 +322,7 @@ Rectangle { visible: !notSetUp.visible; color: root.activeView === "security" ? hifi.colors.blueAccent : hifi.colors.black; anchors.top: parent.top; - anchors.left: sendMoneyButtonContainer.right; + anchors.left: exchangeMoneyButtonContainer.right; anchors.bottom: parent.bottom; width: parent.width / tabButtonsContainer.numTabs; From f28544e405b8530dfa340aeedf436de647b261c3 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 14:53:55 -0700 Subject: [PATCH 12/29] Show real balance --- .../qml/hifi/commerce/wallet/AccountHome.qml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml index 0838109569..f86564baa3 100644 --- a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml @@ -27,6 +27,9 @@ Item { Hifi.QmlCommerce { id: commerce; + onBalanceResult : { + balanceText.text = parseFloat(balance/100).toFixed(2); + } } Connections { @@ -84,12 +87,18 @@ Item { color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignRight; - verticalAlignment: Text.AlignVCenter; + verticalAlignment: Text.AlignVCenter; + + onVisibleChanged: { + if (visible) { + commerce.balance(); + } + } } // Balance Text FiraSansRegular { - text: "0.00"; + id: balanceText; // Text size size: 28; // Anchors From c42a658bde2dd7133d1fdd679ae0b80823a4d8d6 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 16:06:39 -0700 Subject: [PATCH 13/29] Almost-working change pages --- .../commerce/wallet/PassphraseSelection.qml | 26 ++- .../wallet/PassphraseSelectionLightbox.qml | 165 ++++++++++++++++ .../qml/hifi/commerce/wallet/Security.qml | 32 +-- .../wallet/SecurityImageSelectionLightbox.qml | 186 ++++++++++++++++++ .../qml/hifi/commerce/wallet/Wallet.qml | 72 ++++--- .../{AccountHome.qml => WalletHome.qml} | 6 +- .../commerce/wallet/WalletSetupLightbox.qml | 4 +- 7 files changed, 440 insertions(+), 51 deletions(-) create mode 100644 interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml create mode 100644 interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml rename interface/resources/qml/hifi/commerce/wallet/{AccountHome.qml => WalletHome.qml} (98%) diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml index 13f72b8b2c..7f9f034d09 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -27,6 +27,9 @@ Item { Hifi.QmlCommerce { id: commerce; + onSecurityImageResult: { + passphrasePageSecurityImage.source = gridModel.getImagePathFromImageID(imageID); + } } onVisibleChanged: { @@ -35,6 +38,10 @@ Item { } } + SecurityImageModel { + id: gridModel; + } + HifiControlsUit.TextField { id: passphraseField; anchors.top: parent.top; @@ -73,6 +80,10 @@ Item { width: height; fillMode: Image.PreserveAspectFit; mipmap: true; + + onVisibleChanged: { + commerce.getSecurityImage(); + } } // "Security picture" text below pic RalewayRegular { @@ -175,19 +186,24 @@ Item { function validateAndSubmitPassphrase() { if (passphraseField.text.length < 4) { - errorText.text = "Passphrase too short." + setErrorText("Passphrase too short."); return false; } else if (passphraseField.text !== passphraseFieldAgain.text) { - errorText.text = "Passphrases don't match." + setErrorText("Passphrases don't match."); return false; } else { - errorText.text = ""; + setErrorText(""); commerce.setPassphrase(passphraseField.text); return true; } } - function setSecurityImage(imageSource) { - passphrasePageSecurityImage.source = imageSource; + function setErrorText(text) { + errorText.text = text; + } + + function clearText() { + passphraseField.text = ""; + passphraseFieldAgain.text = ""; } } diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml new file mode 100644 index 0000000000..611dad7f6a --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml @@ -0,0 +1,165 @@ +// +// PassphraseSelectionLightbox.qml +// qml/hifi/commerce/wallet +// +// PassphraseSelectionLightbox +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Rectangle { + HifiConstants { id: hifi; } + + id: root; + // Style + color: hifi.colors.baseGray; + + Hifi.QmlCommerce { + id: commerce; + + onPassphraseSetupStatusResult: { + console.log("ZRF HERE " + passphraseIsSetup); + if (passphraseIsSetup) { + // Success submitting new passphrase + passphraseSubmitButton.enabled = true; + root.visible = false; + } else { + // Error submitting new passphrase + passphraseSubmitButton.enabled = true; + passphraseSelection.setErrorText("Backend error"); + } + } + } + + // + // SECURE PASSPHRASE SELECTION START + // + Item { + id: choosePassphraseContainer; + // Anchors + anchors.fill: parent; + + Item { + id: passphraseTitle; + // Size + width: parent.width; + height: 50; + // Anchors + anchors.left: parent.left; + anchors.top: parent.top; + + // Title Bar text + RalewaySemiBold { + text: "CHANGE PASSPHRASE"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.bottom: parent.bottom; + width: paintedWidth; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + } + + // Text below title bar + RalewaySemiBold { + id: passphraseTitleHelper; + text: "Choose a Secure Passphrase"; + // Text size + size: 24; + // Anchors + anchors.top: passphraseTitle.bottom; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 50; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + PassphraseSelection { + id: passphraseSelection; + anchors.top: passphraseTitleHelper.bottom; + anchors.topMargin: 30; + anchors.left: parent.left; + anchors.right: parent.right; + anchors.bottom: passphraseNavBar.top; + } + + // Navigation Bar + Item { + id: passphraseNavBar; + // Size + width: parent.width; + height: 100; + // Anchors: + anchors.left: parent.left; + anchors.bottom: parent.bottom; + + // "Cancel" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.left: parent.left; + anchors.leftMargin: 20; + width: 100; + text: "Cancel" + onClicked: { + passphraseSelection.clearText(); + root.visible = false; + } + } + + // "Submit" button + HifiControlsUit.Button { + id: passphraseSubmitButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.right: parent.right; + anchors.rightMargin: 20; + width: 100; + text: "Submit"; + onClicked: { + if (passphraseSelection.validateAndSubmitPassphrase()) { + passphraseSubmitButton.text = "Submitting..."; + passphraseSubmitButton.enabled = false; + } + } + } + } + } + // + // SECURE PASSPHRASE SELECTION END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml index 1ef05f4b7a..bf72c6b2b1 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Security.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml @@ -105,7 +105,7 @@ Item { } Item { - id: resetPassphraseContainer; + id: changePassphraseContainer; anchors.top: securityText.bottom; anchors.topMargin: 16; anchors.left: parent.left; @@ -113,7 +113,7 @@ Item { height: 75; Image { - id: resetPassphraseImage; + id: changePassphraseImage; // Anchors anchors.top: parent.top; anchors.left: parent.left; @@ -122,33 +122,33 @@ Item { fillMode: Image.PreserveAspectFit; mipmap: true; } - // "Reset Passphrase" button + // "Change Passphrase" button HifiControlsUit.Button { - id: resetPassphraseButton; + id: changePassphraseButton; color: hifi.buttons.black; colorScheme: hifi.colorSchemes.dark; anchors.verticalCenter: parent.verticalCenter; - anchors.left: resetPassphraseImage.right; + anchors.left: changePassphraseImage.right; anchors.leftMargin: 16; width: 250; height: 50; - text: "Reset My Passphrase"; + text: "Change My Passphrase"; onClicked: { - + sendSignalToWallet({method: 'walletSecurity_changePassphrase'}); } } } Item { - id: resetSecurityImageContainer; - anchors.top: resetPassphraseContainer.bottom; + id: changeSecurityImageContainer; + anchors.top: changePassphraseContainer.bottom; anchors.topMargin: 8; anchors.left: parent.left; anchors.right: parent.right; height: 75; Image { - id: resetSecurityImageImage; + id: changeSecurityImageImage; // Anchors anchors.top: parent.top; anchors.left: parent.left; @@ -157,19 +157,19 @@ Item { fillMode: Image.PreserveAspectFit; mipmap: true; } - // "Reset Security Image" button + // "Change Security Image" button HifiControlsUit.Button { - id: resetSecurityImageButton; + id: changeSecurityImageButton; color: hifi.buttons.black; colorScheme: hifi.colorSchemes.dark; anchors.verticalCenter: parent.verticalCenter; - anchors.left: resetSecurityImageImage.right; + anchors.left: changeSecurityImageImage.right; anchors.leftMargin: 16; width: 250; height: 50; - text: "Reset My Security Image"; + text: "Change My Security Image"; onClicked: { - + sendSignalToWallet({method: 'walletSecurity_changeSecurityImage'}); } } } @@ -225,7 +225,7 @@ Item { // function setSecurityImages(imagePath) { topSecurityImage.source = imagePath; - resetSecurityImageImage.source = imagePath; + changeSecurityImageImage.source = imagePath; } // // Function Name: fromScript() diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml new file mode 100644 index 0000000000..461154c8d4 --- /dev/null +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml @@ -0,0 +1,186 @@ +// +// SecurityImageSelectionLightbox.qml +// qml/hifi/commerce/wallet +// +// SecurityImageSelectionLightbox +// +// Created by Zach Fox on 2017-08-18 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +import Hifi 1.0 as Hifi +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import "../../../styles-uit" +import "../../../controls-uit" as HifiControlsUit +import "../../../controls" as HifiControls + +// references XXX from root context + +Rectangle { + HifiConstants { id: hifi; } + + id: root; + property bool justSubmitted: false; + // Style + color: hifi.colors.baseGray; + + Hifi.QmlCommerce { + id: commerce; + + onSecurityImageResult: { + if (imageID !== 0) { // Success submitting new security image + if (root.justSubmitted) { + securityImageSubmitButton.enabled = true; + root.visible = false; + } + } else if (root.lastPage === "securityImage") { + // Error submitting new security image. + securityImageSubmitButton.enabled = true; + root.justSubmitted = false; + } + } + } + + // + // SECURITY IMAGE SELECTION START + // + Item { + id: securityImageContainer; + // Anchors + anchors.fill: parent; + + Item { + id: securityImageTitle; + // Size + width: parent.width; + height: 50; + // Anchors + anchors.left: parent.left; + anchors.top: parent.top; + + // Title Bar text + RalewaySemiBold { + text: "CHANGE SECURITY IMAGE"; + // Text size + size: hifi.fontSizes.overlayTitle; + // Anchors + anchors.top: parent.top; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.bottom: parent.bottom; + width: paintedWidth; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + } + + // Text below title bar + RalewaySemiBold { + id: securityImageTitleHelper; + text: "Choose a Security Picture:"; + // Text size + size: 24; + // Anchors + anchors.top: securityImageTitle.bottom; + anchors.left: parent.left; + anchors.leftMargin: 16; + height: 50; + width: paintedWidth; + // Style + color: hifi.colors.faintGray; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + SecurityImageSelection { + id: securityImageSelection; + // Anchors + anchors.top: securityImageTitleHelper.bottom; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: 280; + } + + // Text below security images + RalewayRegular { + text: "<b>Your security picture shows you that the service asking for your passphrase is authorized.</b> You can change your secure picture at any time."; + // Text size + size: 18; + // Anchors + anchors.top: securityImageSelection.bottom; + anchors.topMargin: 40; + anchors.left: parent.left; + anchors.leftMargin: 16; + anchors.right: parent.right; + anchors.rightMargin: 16; + height: paintedHeight; + // Style + color: hifi.colors.faintGray; + wrapMode: Text.WordWrap; + // Alignment + horizontalAlignment: Text.AlignHLeft; + verticalAlignment: Text.AlignVCenter; + } + + // Navigation Bar + Item { + id: securityImageNavBar; + // Size + width: parent.width; + height: 100; + // Anchors: + anchors.left: parent.left; + anchors.bottom: parent.bottom; + + // "Cancel" button + HifiControlsUit.Button { + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.left: parent.left; + anchors.leftMargin: 20; + width: 100; + text: "Cancel" + onClicked: { + root.visible = false; + } + } + + // "Submit" button + HifiControlsUit.Button { + id: securityImageSubmitButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.top: parent.top; + anchors.topMargin: 3; + anchors.bottom: parent.bottom; + anchors.bottomMargin: 3; + anchors.right: parent.right; + anchors.rightMargin: 20; + width: 100; + text: "Submit"; + onClicked: { + root.justSubmitted = true; + securityImageSubmitButton.text = "Submitting..."; + securityImageSubmitButton.enabled = false; + } + } + } + } + // + // SECURITY IMAGE SELECTION END + // +} diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 0adaab4890..2ee08147c6 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -31,18 +31,15 @@ Rectangle { color: hifi.colors.baseGray; Hifi.QmlCommerce { id: commerce; - onBalanceResult: { - if (failureMessage.length) { - console.log("Failed to get balance", failureMessage); - } else { - hfcBalanceText.text = balance; - } - } onSecurityImageResult: { if (imageID !== 0) { // "If security image is set up" - accountHome.setSecurityImage(securityImageModel.getImagePathFromImageID(imageID)); - security.setSecurityImages(securityImageModel.getImagePathFromImageID(imageID)); + if (walletHome) { + walletHome.setSecurityImage(securityImageModel.getImagePathFromImageID(imageID)); + } + if (security) { + security.setSecurityImages(securityImageModel.getImagePathFromImageID(imageID)); + } } else if (root.lastPage === "securityImage") { // ERROR! Invalid security image. securityImageContainer.visible = true; @@ -61,7 +58,7 @@ Rectangle { if (msg.method === 'walletSetup_cancelClicked') { walletSetupLightbox.visible = false; } else if (msg.method === 'walletSetup_finished') { - root.activeView = "accountHome"; + root.activeView = "walletHome"; } else { sendToScript(msg); } @@ -78,7 +75,7 @@ Rectangle { Rectangle { id: walletSetupLightboxContainer; - visible: walletSetupLightbox.visible; + visible: walletSetupLightbox.visible || passphraseSelectionLightbox.visible || securityImageSelectionLightbox.visible; z: 998; anchors.fill: parent; color: "black"; @@ -92,6 +89,23 @@ Rectangle { width: walletSetupLightboxContainer.width - 50; height: walletSetupLightboxContainer.height - 50; } + PassphraseSelectionLightbox { + id: passphraseSelectionLightbox; + visible: false; + z: 999; + anchors.centerIn: walletSetupLightboxContainer; + width: walletSetupLightboxContainer.width - 50; + height: walletSetupLightboxContainer.height - 50; + } + SecurityImageSelectionLightbox { + id: securityImageSelectionLightbox; + visible: false; + z: 999; + anchors.centerIn: walletSetupLightboxContainer; + width: walletSetupLightboxContainer.width - 50; + height: walletSetupLightboxContainer.height - 50; + } + // // TITLE BAR START @@ -147,9 +161,9 @@ Rectangle { anchors.right: parent.right; } - AccountHome { - id: accountHome; - visible: root.activeView === "accountHome"; + WalletHome { + id: walletHome; + visible: root.activeView === "walletHome"; anchors.top: titleBarContainer.bottom; anchors.topMargin: 16; anchors.bottom: tabButtonsContainer.top; @@ -185,6 +199,16 @@ Rectangle { anchors.right: parent.right; anchors.rightMargin: 16; } + Connections { + target: security; + onSendSignalToWallet: { + if (msg.method === 'walletSecurity_changePassphrase') { + passphraseSelectionLightbox.visible = true; + } else if (msg.method === 'walletSecurity_changeSecurityImage') { + securityImageSelectionLightbox.visible = true; + } + } + } Help { id: help; @@ -224,18 +248,18 @@ Rectangle { anchors.top: parent.top; } - // "ACCOUNT HOME" tab button + // "WALLET HOME" tab button Rectangle { - id: accountHomeButtonContainer; + id: walletHomeButtonContainer; visible: !notSetUp.visible; - color: root.activeView === "accountHome" ? hifi.colors.blueAccent : hifi.colors.black; + color: root.activeView === "walletHome" ? hifi.colors.blueAccent : hifi.colors.black; anchors.top: parent.top; anchors.left: parent.left; anchors.bottom: parent.bottom; width: parent.width / tabButtonsContainer.numTabs; RalewaySemiBold { - text: "ACCOUNT HOME"; + text: "WALLET HOME"; // Text size size: hifi.fontSizes.overlayTitle; // Anchors @@ -254,11 +278,11 @@ Rectangle { anchors.fill: parent; hoverEnabled: enabled; onClicked: { - root.activeView = "accountHome"; + root.activeView = "walletHome"; tabButtonsContainer.resetTabButtonColors(); } onEntered: parent.color = hifi.colors.blueHighlight; - onExited: parent.color = root.activeView === "accountHome" ? hifi.colors.blueAccent : hifi.colors.black; + onExited: parent.color = root.activeView === "walletHome" ? hifi.colors.blueAccent : hifi.colors.black; } } @@ -268,7 +292,7 @@ Rectangle { visible: !notSetUp.visible; color: hifi.colors.black; anchors.top: parent.top; - anchors.left: accountHomeButtonContainer.right; + anchors.left: walletHomeButtonContainer.right; anchors.bottom: parent.bottom; width: parent.width / tabButtonsContainer.numTabs; @@ -393,12 +417,12 @@ Rectangle { } function resetTabButtonColors() { - accountHomeButtonContainer.color = hifi.colors.black; + walletHomeButtonContainer.color = hifi.colors.black; sendMoneyButtonContainer.color = hifi.colors.black; securityButtonContainer.color = hifi.colors.black; helpButtonContainer.color = hifi.colors.black; - if (root.activeView === "accountHome") { - accountHomeButtonContainer.color = hifi.colors.blueAccent; + if (root.activeView === "walletHome") { + walletHomeButtonContainer.color = hifi.colors.blueAccent; } else if (root.activeView === "sendMoney") { sendMoneyButtonContainer.color = hifi.colors.blueAccent; } else if (root.activeView === "security") { diff --git a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml similarity index 98% rename from interface/resources/qml/hifi/commerce/wallet/AccountHome.qml rename to interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index f86564baa3..6bca18c861 100644 --- a/interface/resources/qml/hifi/commerce/wallet/AccountHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -142,7 +142,7 @@ Item { width: 75; height: childrenRect.height; Image { - id: passphrasePageSecurityImage; + id: securityImage; // Anchors anchors.top: parent.top; anchors.horizontalCenter: parent.horizontalCenter; @@ -157,7 +157,7 @@ Item { // Text size size: 12; // Anchors - anchors.top: passphrasePageSecurityImage.bottom; + anchors.top: securityImage.bottom; anchors.topMargin: 4; anchors.left: securityImageContainer.left; anchors.right: securityImageContainer.right; @@ -309,7 +309,7 @@ Item { // FUNCTION DEFINITIONS START // function setSecurityImage(imagePath) { - passphrasePageSecurityImage.source = imagePath; + securityImage.source = imagePath; } // // Function Name: fromScript() diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index bf624609c6..d25ebe379a 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -40,9 +40,7 @@ Rectangle { } onSecurityImageResult: { - if (imageID !== 0) { // "If security image is set up" - passphraseSelection.setSecurityImage(securityImageSelection.getImagePathFromImageID(imageID)); - } else if (root.lastPage === "securityImage") { + if (imageID === 0 && root.lastPage === "securityImage") { // ERROR! Invalid security image. securityImageContainer.visible = true; choosePassphraseContainer.visible = false; From 1904bd3f2b84f765f3708b26ef6f5fb3920313b2 Mon Sep 17 00:00:00 2001 From: David Kelly <david@highfidelity.io> Date: Fri, 18 Aug 2017 16:14:10 -0700 Subject: [PATCH 14/29] encrypting image, rough first pass, lots left --- .../resources/qml/hifi/commerce/Checkout.qml | 28 +-- .../resources/qml/hifi/commerce/Inventory.qml | 10 +- .../hifi/commerce/SecurityImageSelection.qml | 32 ++-- interface/src/commerce/QmlCommerce.cpp | 6 +- interface/src/commerce/QmlCommerce.h | 8 +- interface/src/commerce/Wallet.cpp | 168 +++++++++++++++++- interface/src/commerce/Wallet.h | 29 ++- 7 files changed, 217 insertions(+), 64 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/Checkout.qml b/interface/resources/qml/hifi/commerce/Checkout.qml index b9d15b61e4..ae85422e78 100644 --- a/interface/resources/qml/hifi/commerce/Checkout.qml +++ b/interface/resources/qml/hifi/commerce/Checkout.qml @@ -26,7 +26,7 @@ Rectangle { id: checkoutRoot; property bool inventoryReceived: false; property bool balanceReceived: false; - property string itemId: ""; + property string itemId: ""; property string itemHref: ""; property int balanceAfterPurchase: 0; property bool alreadyOwned: false; @@ -67,7 +67,7 @@ Rectangle { } } onSecurityImageResult: { - securityImage.source = securityImageSelection.getImagePathFromImageID(imageID); + securityImage.source = securityImageSelection.getImagePathFromImageID(0); } } @@ -131,7 +131,7 @@ Rectangle { // // TITLE BAR END // - + // // ITEM DESCRIPTION START // @@ -146,7 +146,7 @@ Rectangle { // Item Name text Item { - id: itemNameContainer; + id: itemNameContainer; // Anchors anchors.top: parent.top; anchors.topMargin: 4; @@ -187,11 +187,11 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } } - - + + // Item Author text Item { - id: itemAuthorContainer; + id: itemAuthorContainer; // Anchors anchors.top: itemNameContainer.bottom; anchors.topMargin: 4; @@ -232,10 +232,10 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } } - + // HFC Balance text Item { - id: hfcBalanceContainer; + id: hfcBalanceContainer; // Anchors anchors.top: itemAuthorContainer.bottom; anchors.topMargin: 16; @@ -277,10 +277,10 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } } - + // Item Price text Item { - id: itemPriceContainer; + id: itemPriceContainer; // Anchors anchors.top: hfcBalanceContainer.bottom; anchors.topMargin: 4; @@ -321,10 +321,10 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } } - + // HFC "Balance After Purchase" text Item { - id: hfcBalanceAfterPurchaseContainer; + id: hfcBalanceAfterPurchaseContainer; // Anchors anchors.top: itemPriceContainer.bottom; anchors.topMargin: 4; @@ -371,7 +371,7 @@ Rectangle { // ITEM DESCRIPTION END // - + // // ACTION BUTTONS START // diff --git a/interface/resources/qml/hifi/commerce/Inventory.qml b/interface/resources/qml/hifi/commerce/Inventory.qml index d7ffae7c3c..6e7eabfb24 100644 --- a/interface/resources/qml/hifi/commerce/Inventory.qml +++ b/interface/resources/qml/hifi/commerce/Inventory.qml @@ -44,7 +44,7 @@ Rectangle { } } onSecurityImageResult: { - securityImage.source = securityImageSelection.getImagePathFromImageID(imageID); + securityImage.source = securityImageSelection.getImagePathFromImageID(1); } } @@ -132,7 +132,7 @@ Rectangle { // HFC BALANCE START // Item { - id: hfcBalanceContainer; + id: hfcBalanceContainer; // Size width: inventoryRoot.width; height: childrenRect.height + 20; @@ -177,7 +177,7 @@ Rectangle { // // HFC BALANCE END // - + // // INVENTORY CONTENTS START // @@ -192,7 +192,7 @@ Rectangle { anchors.topMargin: 8; anchors.bottom: actionButtonsContainer.top; anchors.bottomMargin: 8; - + RalewaySemiBold { id: inventoryContentsLabel; text: "Inventory:"; @@ -249,7 +249,7 @@ Rectangle { // // INVENTORY CONTENTS END // - + // // ACTION BUTTONS START // diff --git a/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml index 7775f1ff9c..350b244723 100644 --- a/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml @@ -36,17 +36,17 @@ Rectangle { id: commerce; onSecurityImageResult: { if (!isManuallyChangingSecurityImage) { - securityImageSelectionRoot.visible = (imageID == 0); - } - if (imageID > 0) { - for (var itr = 0; itr < gridModel.count; itr++) { - var thisValue = gridModel.get(itr).securityImageEnumValue; - if (thisValue === imageID) { - securityImageGrid.currentIndex = itr; - break; - } - } + securityImageSelectionRoot.visible = true; } + //if (imageID > 0) { + // for (var itr = 0; itr < gridModel.count; itr++) { + // var thisValue = gridModel.get(itr).securityImageEnumValue; + // if (thisValue === imageID) { + // securityImageGrid.currentIndex = itr; + // break; + // } + // } + //} } } @@ -97,7 +97,7 @@ Rectangle { // EXPLANATION START // Item { - id: explanationContainer; + id: explanationContainer; // Size width: securityImageSelectionRoot.width; height: 85; @@ -136,7 +136,7 @@ Rectangle { // // EXPLANATION END // - + // // SECURITY IMAGE GRID START // @@ -197,8 +197,8 @@ Rectangle { // // SECURITY IMAGE GRID END // - - + + // // ACTION BUTTONS START // @@ -249,14 +249,14 @@ Rectangle { text: "Confirm"; onClicked: { securityImageSelectionRoot.isManuallyChangingSecurityImage = false; - commerce.chooseSecurityImage(gridModel.get(securityImageGrid.currentIndex).securityImageEnumValue); + commerce.chooseSecurityImage(gridModel.get(securityImageGrid.currentIndex).sourcePath); } } } // // ACTION BUTTONS END // - + // // FUNCTION DEFINITIONS START // diff --git a/interface/src/commerce/QmlCommerce.cpp b/interface/src/commerce/QmlCommerce.cpp index 573740727f..b0963fbdab 100644 --- a/interface/src/commerce/QmlCommerce.cpp +++ b/interface/src/commerce/QmlCommerce.cpp @@ -52,11 +52,11 @@ void QmlCommerce::inventory() { ledger->inventory(wallet->listPublicKeys()); } -void QmlCommerce::chooseSecurityImage(uint imageID) { +void QmlCommerce::chooseSecurityImage(const QString& imageFile) { auto wallet = DependencyManager::get<Wallet>(); - wallet->chooseSecurityImage(imageID); + wallet->chooseSecurityImage(imageFile); } void QmlCommerce::getSecurityImage() { auto wallet = DependencyManager::get<Wallet>(); wallet->getSecurityImage(); -} \ No newline at end of file +} diff --git a/interface/src/commerce/QmlCommerce.h b/interface/src/commerce/QmlCommerce.h index 5b702bfeff..4f86df8299 100644 --- a/interface/src/commerce/QmlCommerce.h +++ b/interface/src/commerce/QmlCommerce.h @@ -17,6 +17,8 @@ #include <OffscreenQmlDialog.h> +#include <QPixmap> + class QmlCommerce : public OffscreenQmlDialog { Q_OBJECT HIFI_QML_DECL @@ -26,17 +28,17 @@ public: signals: void buyResult(const QString& failureMessage); - // Balance and Inventory are NOT properties, because QML can't change them (without risk of failure), and + // Balance and Inventory are NOT properties, because QML can't change them (without risk of failure), and // because we can't scalably know of out-of-band changes (e.g., another machine interacting with the block chain). void balanceResult(int balance, const QString& failureMessage); void inventoryResult(QJsonObject inventory, const QString& failureMessage); - void securityImageResult(uint imageID); + void securityImageResult(QPixmap* image); protected: Q_INVOKABLE void buy(const QString& assetId, int cost, const QString& buyerUsername = ""); Q_INVOKABLE void balance(); Q_INVOKABLE void inventory(); - Q_INVOKABLE void chooseSecurityImage(uint imageID); + Q_INVOKABLE void chooseSecurityImage(const QString& imageFile); Q_INVOKABLE void getSecurityImage(); }; diff --git a/interface/src/commerce/Wallet.cpp b/interface/src/commerce/Wallet.cpp index f47b174d88..651a395b81 100644 --- a/interface/src/commerce/Wallet.cpp +++ b/interface/src/commerce/Wallet.cpp @@ -12,9 +12,11 @@ #include "CommerceLogging.h" #include "Ledger.h" #include "Wallet.h" +#include "Application.h" #include <PathUtils.h> +#include <QFile> #include <QCryptographicHash> #include <openssl/ssl.h> @@ -23,8 +25,10 @@ #include <openssl/x509.h> #include <openssl/pem.h> #include <openssl/evp.h> +#include <openssl/aes.h> static const char* KEY_FILE = "hifikey"; +static const char* IMAGE_FILE = "hifi_image"; // eventually this will live in keyfile void initialize() { static bool initialized = false; @@ -40,6 +44,10 @@ QString keyFilePath() { return PathUtils::getAppDataFilePath(KEY_FILE); } +QString imageFilePath() { + return PathUtils::getAppDataFilePath(IMAGE_FILE); +} + // for now the callback function just returns the same string. Later we can hook // this to the gui (some thought required) int passwordCallback(char* password, int maxPasswordSize, int rwFlag, void* u) { @@ -106,9 +114,11 @@ QPair<QByteArray*, QByteArray*> generateRSAKeypair() { // now lets persist them to files - // TODO: figure out a scheme for multiple keys, etc... + // FIXME: for now I'm appending to the file if it exists. As long as we always put + // the keys in the same order, this works fine. TODO: verify this will skip over + // anything else (like an embedded image) FILE* fp; - if ((fp = fopen(keyFilePath().toStdString().c_str(), "wt"))) { + if ((fp = fopen(keyFilePath().toStdString().c_str(), "at"))) { if (!PEM_write_RSAPublicKey(fp, keyPair)) { fclose(fp); qCDebug(commerce) << "failed to write public key"; @@ -192,6 +202,113 @@ RSA* readPrivateKey(const char* filename) { return key; } +static const unsigned char IVEC[16] = "IAmAnIVecYay123"; + +void initializeAESKeys(unsigned char* ivec, unsigned char* ckey, const QByteArray& salt) { + // first ivec + memcpy(ivec, IVEC, 16); + auto hash = QCryptographicHash::hash(salt, QCryptographicHash::Md5); + memcpy(ckey, hash.data(), 16); +} + +// encrypt some stuff +bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFilePath) { + // aes requires a couple 128-bit keys (ckey and ivec). For now, I'll just + // use the md5 of the salt as the ckey (md5 is 128-bit), and ivec will be + // a constant. We can review this later - there are ways to generate keys + // from a password that may be better. + unsigned char ivec[16]; + unsigned char ckey[16]; + + initializeAESKeys(ivec, ckey, _salt); + + int tempSize, outSize; + + // read entire unencrypted file into memory + QFile inputFile(inputFilePath); + if (!inputFile.exists()) { + qCDebug(commerce) << "cannot encrypt" << inputFilePath << "file doesn't exist"; + return false; + } + inputFile.open(QIODevice::ReadOnly); + QByteArray inputFileBuffer = inputFile.readAll(); + inputFile.close(); + + // reserve enough capacity for encrypted bytes + unsigned char* outputFileBuffer = new unsigned char[inputFileBuffer.size() + AES_BLOCK_SIZE]; + + EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); + + // TODO: add error handling!!! + if (!EVP_EncryptInit_ex(ctx, EVP_idea_cbc(), NULL, ckey, ivec)) { + qCDebug(commerce) << "encrypt init failure"; + return false; + } + if (!EVP_EncryptUpdate(ctx, outputFileBuffer, &tempSize, (unsigned char*)inputFileBuffer.data(), inputFileBuffer.size())) { + qCDebug(commerce) << "encrypt update failure"; + return false; + } + outSize = tempSize; + if (!EVP_EncryptFinal_ex(ctx, outputFileBuffer + outSize, &tempSize)) { + qCDebug(commerce) << "encrypt final failure"; + return false; + } + + outSize += tempSize; + EVP_CIPHER_CTX_free(ctx); + qCDebug(commerce) << "encrypted buffer size" << outSize; + QByteArray output((const char*)outputFileBuffer, outSize); + QFile outputFile(outputFilePath); + outputFile.open(QIODevice::WriteOnly); + outputFile.write(output); + outputFile.close(); + + return true; +} + +bool Wallet::decryptFile(const QString& inputFilePath, unsigned char** outputBufferPtr, int* outputBufferSize) { + unsigned char ivec[16]; + unsigned char ckey[16]; + initializeAESKeys(ivec, ckey, _salt); + + // read encrypted file + QFile inputFile(inputFilePath); + if (!inputFile.exists()) { + qCDebug(commerce) << "cannot decrypt file" << inputFilePath << "it doesn't exist"; + return false; + } + inputFile.open(QIODevice::ReadOnly); + QByteArray encryptedBuffer = inputFile.readAll(); + inputFile.close(); + + // setup decrypted buffer + unsigned char* outputBuffer = new unsigned char[encryptedBuffer.size()]; + int tempSize; + + // TODO: add error handling + EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); + if (!EVP_DecryptInit_ex(ctx, EVP_idea_cbc(), NULL, ckey, ivec)) { + qCDebug(commerce) << "decrypt init failure"; + return false; + } + if (!EVP_DecryptUpdate(ctx, outputBuffer, &tempSize, (unsigned char*)encryptedBuffer.data(), encryptedBuffer.size())) { + qCDebug(commerce) << "decrypt update failure"; + return false; + } + *outputBufferSize = tempSize; + if (!EVP_DecryptFinal_ex(ctx, outputBuffer + tempSize, &tempSize)) { + qCDebug(commerce) << "decrypt final failure"; + return false; + } + EVP_CIPHER_CTX_free(ctx); + *outputBufferSize += tempSize; + *outputBufferPtr = outputBuffer; + qCDebug(commerce) << "decrypted buffer size" << *outputBufferSize; + return true; +} + + + bool Wallet::createIfNeeded() { if (_publicKeys.count() > 0) return false; @@ -206,6 +323,7 @@ bool Wallet::createIfNeeded() { RSA_free(key); // K -- add the public key since we have a legit private key associated with it _publicKeys.push_back(QUrl::toPercentEncoding(publicKey.toBase64())); + return false; } } @@ -267,10 +385,48 @@ QString Wallet::signWithKey(const QByteArray& text, const QString& key) { } -void Wallet::chooseSecurityImage(uint imageID) { - _chosenSecurityImage = (SecurityImage)imageID; - emit securityImageResult(imageID); +void Wallet::chooseSecurityImage(const QString& filename) { + + if (_securityImage) { + delete _securityImage; + } + // temporary... + QString path = qApp->applicationDirPath(); + path.append("/resources/qml/hifi/commerce/"); + path.append(filename); + // now create a new security image pixmap + _securityImage = new QPixmap(); + + qCDebug(commerce) << "loading data for pixmap from" << path; + _securityImage->load(path); + + // encrypt it and save. + if (encryptFile(path, imageFilePath())) { + emit securityImageResult(_securityImage); + } else { + qCDebug(commerce) << "failed to encrypt security image"; + emit securityImageResult(nullptr); + } } void Wallet::getSecurityImage() { - emit securityImageResult(_chosenSecurityImage); + unsigned char* data; + int dataLen; + + // if already decrypted, don't do it again + if (_securityImage) { + emit securityImageResult(_securityImage); + return; + } + + // decrypt and return + if (decryptFile(imageFilePath(), &data, &dataLen)) { + // create the pixmap + _securityImage = new QPixmap(); + _securityImage->loadFromData(data, dataLen, "jpg"); + qCDebug(commerce) << "created pixmap from encrypted file"; + emit securityImageResult(_securityImage); + } else { + qCDebug(commerce) << "failed to decrypt security image (maybe none saved yet?)"; + emit securityImageResult(nullptr); + } } diff --git a/interface/src/commerce/Wallet.h b/interface/src/commerce/Wallet.h index a1c7c7752b..2c558e358f 100644 --- a/interface/src/commerce/Wallet.h +++ b/interface/src/commerce/Wallet.h @@ -16,6 +16,8 @@ #include <DependencyManager.h> +#include <QPixmap> + class Wallet : public QObject, public Dependency { Q_OBJECT SINGLETON_DEPENDENCY @@ -26,29 +28,22 @@ public: bool generateKeyPair(); QStringList listPublicKeys(); QString signWithKey(const QByteArray& text, const QString& key); - void chooseSecurityImage(uint imageID); + void chooseSecurityImage(const QString& imageFile); void getSecurityImage(); -signals: - void securityImageResult(uint imageID); + void setSalt(const QByteArray& salt) { _salt = salt; } + QByteArray getSalt() { return _salt; } -protected: - // ALWAYS add SecurityImage enum values to the END of the enum. - // They must be in the same order as the images are listed in - // SecurityImageSelection.qml - enum SecurityImage { - NONE = 0, - Cat, - Car, - Dog, - Stars, - Plane, - Gingerbread - }; +signals: + void securityImageResult(QPixmap* image); private: QStringList _publicKeys{}; - SecurityImage _chosenSecurityImage = SecurityImage::NONE; + QPixmap* _securityImage { nullptr }; + QByteArray _salt {"iamsalt!"}; + + bool encryptFile(const QString& inputFilePath, const QString& outputFilePath); + bool decryptFile(const QString& inputFilePath, unsigned char** outputBufferPtr, int* outputBufferLen); }; #endif // hifi_Wallet_h From 94da149ac89b97099685f060cda40c2104ced87c Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 16:28:02 -0700 Subject: [PATCH 15/29] Almost there --- .../commerce/wallet/PassphraseSelection.qml | 21 +++++++++-- .../wallet/PassphraseSelectionLightbox.qml | 37 ++++++++++--------- .../wallet/SecurityImageSelectionLightbox.qml | 7 +++- 3 files changed, 41 insertions(+), 24 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml index 7f9f034d09..86ef776b6d 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -30,6 +30,10 @@ Item { onSecurityImageResult: { passphrasePageSecurityImage.source = gridModel.getImagePathFromImageID(imageID); } + + onPassphraseSetupStatusResult: { + sendMessageToLightbox({method: 'statusResult', status: passphraseIsSetup}); + } } onVisibleChanged: { @@ -52,6 +56,12 @@ Item { height: 50; echoMode: TextInput.Password; placeholderText: "passphrase"; + + onVisibleChanged: { + if (visible) { + text = ""; + } + } } HifiControlsUit.TextField { id: passphraseFieldAgain; @@ -62,6 +72,12 @@ Item { height: 50; echoMode: TextInput.Password; placeholderText: "re-enter passphrase"; + + onVisibleChanged: { + if (visible) { + text = ""; + } + } } // Security Image @@ -202,8 +218,5 @@ Item { errorText.text = text; } - function clearText() { - passphraseField.text = ""; - passphraseFieldAgain.text = ""; - } + signal sendMessageToLightbox(var msg); } diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml index 611dad7f6a..ffc1b3a175 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml @@ -27,19 +27,19 @@ Rectangle { // Style color: hifi.colors.baseGray; - Hifi.QmlCommerce { - id: commerce; - - onPassphraseSetupStatusResult: { - console.log("ZRF HERE " + passphraseIsSetup); - if (passphraseIsSetup) { - // Success submitting new passphrase - passphraseSubmitButton.enabled = true; - root.visible = false; - } else { - // Error submitting new passphrase - passphraseSubmitButton.enabled = true; - passphraseSelection.setErrorText("Backend error"); + Connections { + target: passphraseSelection; + onSendMessageToLightbox: { + if (msg.method === 'statusResult') { + if (msg.status) { + // Success submitting new passphrase + root.resetSubmitButton(); + root.visible = false; + } else { + // Error submitting new passphrase + root.resetSubmitButton(); + passphraseSelection.setErrorText("Backend error"); + } } } } @@ -132,7 +132,6 @@ Rectangle { width: 100; text: "Cancel" onClicked: { - passphraseSelection.clearText(); root.visible = false; } } @@ -151,10 +150,7 @@ Rectangle { width: 100; text: "Submit"; onClicked: { - if (passphraseSelection.validateAndSubmitPassphrase()) { - passphraseSubmitButton.text = "Submitting..."; - passphraseSubmitButton.enabled = false; - } + passphraseSelection.validateAndSubmitPassphrase() } } } @@ -162,4 +158,9 @@ Rectangle { // // SECURE PASSPHRASE SELECTION END // + + function resetSubmitButton() { + passphraseSubmitButton.enabled = true; + passphraseSubmitButton.text = "Submit"; + } } diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml index 461154c8d4..cba697cbd8 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml @@ -35,11 +35,13 @@ Rectangle { if (imageID !== 0) { // Success submitting new security image if (root.justSubmitted) { securityImageSubmitButton.enabled = true; + securityImageSubmitButton.text = "Submit"; root.visible = false; } - } else if (root.lastPage === "securityImage") { + } else if (root.justSubmitted) { // Error submitting new security image. - securityImageSubmitButton.enabled = true; + securityImageSubmitButton.enabled = true + securityImageSubmitButton.text = "Submit"; root.justSubmitted = false; } } @@ -176,6 +178,7 @@ Rectangle { root.justSubmitted = true; securityImageSubmitButton.text = "Submitting..."; securityImageSubmitButton.enabled = false; + commerce.chooseSecurityImage(securityImageSelection.getSelectedImageIndex()); } } } From a07598c73828f60e7469a785f269470d6d570ead Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 16:36:11 -0700 Subject: [PATCH 16/29] Bugfixes --- .../commerce/wallet/PassphraseSelection.qml | 8 ++++++++ .../wallet/PassphraseSelectionLightbox.qml | 11 ++++++++++- .../commerce/wallet/SecurityImageSelection.qml | 1 + .../wallet/SecurityImageSelectionLightbox.qml | 17 +++++++++++++---- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml index 86ef776b6d..ff01aa65da 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -24,6 +24,14 @@ Item { HifiConstants { id: hifi; } id: root; + + // This object is always used in a popup. + // This MouseArea is used to prevent a user from being + // able to click on a button/mouseArea underneath the popup. + MouseArea { + anchors.fill: parent; + propagateComposedEvents: false; + } Hifi.QmlCommerce { id: commerce; diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml index ffc1b3a175..862d1894db 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelectionLightbox.qml @@ -27,6 +27,12 @@ Rectangle { // Style color: hifi.colors.baseGray; + onVisibleChanged: { + if (visible) { + root.resetSubmitButton(); + } + } + Connections { target: passphraseSelection; onSendMessageToLightbox: { @@ -150,7 +156,10 @@ Rectangle { width: 100; text: "Submit"; onClicked: { - passphraseSelection.validateAndSubmitPassphrase() + if (passphraseSelection.validateAndSubmitPassphrase()) { + passphraseSubmitButton.text = "Submitting..."; + passphraseSubmitButton.enabled = false; + } } } } diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml index e066102aec..ef81fd343a 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml @@ -74,6 +74,7 @@ Item { } MouseArea { anchors.fill: parent; + propagateComposedEvents: false; onClicked: { securityImageGrid.currentIndex = index; } diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml index cba697cbd8..d9adbbbe50 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml @@ -28,20 +28,24 @@ Rectangle { // Style color: hifi.colors.baseGray; + onVisibleChanged: { + if (visible) { + root.resetSubmitButton(); + } + } + Hifi.QmlCommerce { id: commerce; onSecurityImageResult: { if (imageID !== 0) { // Success submitting new security image if (root.justSubmitted) { - securityImageSubmitButton.enabled = true; - securityImageSubmitButton.text = "Submit"; + root.resetSubmitButton(); root.visible = false; } } else if (root.justSubmitted) { // Error submitting new security image. - securityImageSubmitButton.enabled = true - securityImageSubmitButton.text = "Submit"; + root.resetSubmitButton(); root.justSubmitted = false; } } @@ -186,4 +190,9 @@ Rectangle { // // SECURITY IMAGE SELECTION END // + + function resetSubmitButton() { + securityImageSubmitButton.enabled = true; + securityImageSubmitButton.text = "Submit"; + } } From 6e171d38cea02e0526be78ad479bdb488a01953a Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Fri, 18 Aug 2017 17:04:46 -0700 Subject: [PATCH 17/29] Bugfixes --- .../qml/hifi/commerce/wallet/SecurityImageSelection.qml | 6 ++++-- .../hifi/commerce/wallet/SecurityImageSelectionLightbox.qml | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml index ef81fd343a..0d64217717 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml @@ -40,8 +40,10 @@ Item { } } - Component.onCompleted: { - commerce.getSecurityImage(); + onVisibleChanged: { + if (visible) { + commerce.getSecurityImage(); + } } SecurityImageModel { diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml index d9adbbbe50..12511d6e6c 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml @@ -42,6 +42,7 @@ Rectangle { if (root.justSubmitted) { root.resetSubmitButton(); root.visible = false; + root.justSubmitted = false; } } else if (root.justSubmitted) { // Error submitting new security image. From db16035f26a25903888c4ef8afe6dca0deca7039 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Mon, 21 Aug 2017 15:07:54 -0700 Subject: [PATCH 18/29] Parse balance correctly --- interface/resources/qml/hifi/commerce/wallet/WalletHome.qml | 2 +- .../resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index 6bca18c861..19da700de2 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -28,7 +28,7 @@ Item { Hifi.QmlCommerce { id: commerce; onBalanceResult : { - balanceText.text = parseFloat(balance/100).toFixed(2); + balanceText.text = parseFloat(result.data.balance/100).toFixed(2); } } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index d25ebe379a..1d12afda79 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -451,6 +451,7 @@ Rectangle { root.lastPage = "passphrase"; choosePassphraseContainer.visible = false; privateKeysReadyContainer.visible = true; + commerce.balance(); // Do this here so that keys are generated. Order might change as backend changes? } } } From f1da7a63810e2d44710478aaee7ebf34630b1481 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Tue, 22 Aug 2017 11:53:37 -0700 Subject: [PATCH 19/29] Checkpoint --- .../qml/hifi/commerce/wallet/Security.qml | 47 +++++++++++++++---- .../qml/hifi/commerce/wallet/Wallet.qml | 33 +++++++++---- .../qml/hifi/commerce/wallet/WalletHome.qml | 17 ++++--- .../commerce/wallet/WalletSetupLightbox.qml | 18 +++++++ interface/src/commerce/QmlCommerce.cpp | 5 ++ interface/src/commerce/QmlCommerce.h | 2 + interface/src/commerce/Wallet.cpp | 3 ++ interface/src/commerce/Wallet.h | 2 + scripts/system/html/js/marketplacesInject.js | 2 +- 9 files changed, 105 insertions(+), 24 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml index bf72c6b2b1..5d3dddb417 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Security.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml @@ -27,6 +27,20 @@ Item { Hifi.QmlCommerce { id: commerce; + + onSecurityImageResult: { + if (imageID !== 0) { // "If security image is set up" + var path = securityImageModel.getImagePathFromImageID(imageID); + topSecurityImage.source = path; + changeSecurityImageImage.source = path; + } + } + + onKeyFilePathResult: { + if (path !== "") { + keyFilePath.text = path; + } + } } // Username Text @@ -62,6 +76,12 @@ Item { width: height; fillMode: Image.PreserveAspectFit; mipmap: true; + + onVisibleChanged: { + if (visible) { + commerce.getSecurityImage(); + } + } } // "Security picture" text below pic RalewayRegular { @@ -199,15 +219,15 @@ Item { // Text below "your private keys" RalewayRegular { + id: explanitoryText; text: "Your money and purchases are secured with private keys that only you " + - "have access to. <b>If they are lost, you will not be able to access your money or purchases.</b> " + - "To ensure they are not lost, it is imperative that you back up your private keys.<br><br>" + - "<b>To safeguard your private keys, back up this file regularly:</b>"; + "have access to. <b>If they are lost, you will not be able to access your money or purchases." + + "To safeguard your private keys, back up this file regularly:</b>"; // Text size size: 18; // Anchors anchors.top: yourPrivateKeysText.bottom; - anchors.topMargin: 20; + anchors.topMargin: 10; anchors.left: parent.left; anchors.right: parent.right; height: paintedHeight; @@ -218,15 +238,26 @@ Item { horizontalAlignment: Text.AlignLeft; verticalAlignment: Text.AlignVCenter; } + HifiControlsUit.TextField { + id: keyFilePath; + anchors.top: explanitoryText.bottom; + anchors.topMargin: 10; + anchors.left: parent.left; + anchors.right: parent.right; + height: 40; + readOnly: true; + + onVisibleChanged: { + if (visible) { + commerce.getKeyFilePath(); + } + } + } } // // FUNCTION DEFINITIONS START // - function setSecurityImages(imagePath) { - topSecurityImage.source = imagePath; - changeSecurityImageImage.source = imagePath; - } // // Function Name: fromScript() // diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 2ee08147c6..fd9eb6dbe6 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -25,7 +25,7 @@ Rectangle { id: root; - property string activeView: "notSetUp"; + property string activeView: ""; // Style color: hifi.colors.baseGray; @@ -33,19 +33,20 @@ Rectangle { id: commerce; onSecurityImageResult: { - if (imageID !== 0) { // "If security image is set up" - if (walletHome) { - walletHome.setSecurityImage(securityImageModel.getImagePathFromImageID(imageID)); - } - if (security) { - security.setSecurityImages(securityImageModel.getImagePathFromImageID(imageID)); - } - } else if (root.lastPage === "securityImage") { + if (imageID === 0 && root.lastPage === "securityImage") { // "If security image is set up" // ERROR! Invalid security image. securityImageContainer.visible = true; choosePassphraseContainer.visible = false; } } + + onKeyFilePathResult: { + if (path === "") { + root.activeView = "notSetUp"; + } else { + root.activeView = "walletHome"; + } + } } SecurityImageModel { @@ -284,6 +285,13 @@ Rectangle { onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = root.activeView === "walletHome" ? hifi.colors.blueAccent : hifi.colors.black; } + + onVisibleChanged: { + if (visible) { + commerce.getSecurityImage(); + commerce.balance(); + } + } } // "SEND MONEY" tab button @@ -376,6 +384,13 @@ Rectangle { onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = root.activeView === "security" ? hifi.colors.blueAccent : hifi.colors.black; } + + onVisibleChanged: { + if (visible) { + commerce.getSecurityImage(); + commerce.getKeyFilePath(); + } + } } // "HELP" tab button diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index 19da700de2..bf344e6430 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -1,8 +1,8 @@ // -// AccountHome.qml +// WalletHome.qml // qml/hifi/commerce/wallet // -// AccountHome +// WalletHome // // Created by Zach Fox on 2017-08-18 // Copyright 2017 High Fidelity, Inc. @@ -22,11 +22,18 @@ import "../../../controls" as HifiControls Item { HifiConstants { id: hifi; } - + id: root; Hifi.QmlCommerce { id: commerce; + + onSecurityImageResult: { + if (imageID !== 0) { // "If security image is set up" + securityImage.source = securityImageModel.getImagePathFromImageID(imageID); + } + } + onBalanceResult : { balanceText.text = parseFloat(result.data.balance/100).toFixed(2); } @@ -99,6 +106,7 @@ Item { // Balance Text FiraSansRegular { id: balanceText; + text: --; // Text size size: 28; // Anchors @@ -308,9 +316,6 @@ Item { // // FUNCTION DEFINITIONS START // - function setSecurityImage(imagePath) { - securityImage.source = imagePath; - } // // Function Name: fromScript() // diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 1d12afda79..9b3bf535a3 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -55,6 +55,12 @@ Rectangle { choosePassphraseContainer.visible = true; } } + + onKeyFilePathResult: { + if (path !== "") { + keyFilePath.text = path; + } + } } // @@ -452,6 +458,7 @@ Rectangle { choosePassphraseContainer.visible = false; privateKeysReadyContainer.visible = true; commerce.balance(); // Do this here so that keys are generated. Order might change as backend changes? + commerce.getKeyFilePath(); } } } @@ -520,6 +527,7 @@ Rectangle { // Text below checkbox RalewayRegular { + id: explanationText; text: "Your money and purchases are secured with private keys that only you have access to. " + "<b>If they are lost, you will not be able to access your money or purchases.</b><br><br>" + "<b>To protect your privacy, High Fidelity has no access to your private keys and cannot " + @@ -542,6 +550,16 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } + HifiControlsUit.TextField { + id: keyFilePath; + anchors.top: explanationText.bottom; + anchors.topMargin: 10; + anchors.left: parent.left; + anchors.right: parent.right; + height: 40; + readOnly: true; + } + // Navigation Bar Item { // Size diff --git a/interface/src/commerce/QmlCommerce.cpp b/interface/src/commerce/QmlCommerce.cpp index f0b7ab25e6..151716854f 100644 --- a/interface/src/commerce/QmlCommerce.cpp +++ b/interface/src/commerce/QmlCommerce.cpp @@ -25,6 +25,7 @@ QmlCommerce::QmlCommerce(QQuickItem* parent) : OffscreenQmlDialog(parent) { connect(ledger.data(), &Ledger::balanceResult, this, &QmlCommerce::balanceResult); connect(ledger.data(), &Ledger::inventoryResult, this, &QmlCommerce::inventoryResult); connect(wallet.data(), &Wallet::securityImageResult, this, &QmlCommerce::securityImageResult); + connect(wallet.data(), &Wallet::keyFilePathResult, this, &QmlCommerce::keyFilePathResult); } void QmlCommerce::buy(const QString& assetId, int cost, const QString& buyerUsername) { @@ -68,3 +69,7 @@ void QmlCommerce::setPassphrase(const QString& passphrase) { void QmlCommerce::getPassphraseSetupStatus() { emit passphraseSetupStatusResult(false); } +void QmlCommerce::getKeyFilePath() { + auto wallet = DependencyManager::get<Wallet>(); + wallet->getKeyFilePath(); +} diff --git a/interface/src/commerce/QmlCommerce.h b/interface/src/commerce/QmlCommerce.h index 2dafc0cff6..3e538670b5 100644 --- a/interface/src/commerce/QmlCommerce.h +++ b/interface/src/commerce/QmlCommerce.h @@ -34,6 +34,7 @@ signals: void securityImageResult(uint imageID); void loginStatusResult(bool isLoggedIn); void passphraseSetupStatusResult(bool passphraseIsSetup); + void keyFilePathResult(const QString& path); protected: Q_INVOKABLE void buy(const QString& assetId, int cost, const QString& buyerUsername = ""); @@ -44,6 +45,7 @@ protected: Q_INVOKABLE void getLoginStatus(); Q_INVOKABLE void setPassphrase(const QString& passphrase); Q_INVOKABLE void getPassphraseSetupStatus(); + Q_INVOKABLE void getKeyFilePath(); }; #endif // hifi_QmlCommerce_h diff --git a/interface/src/commerce/Wallet.cpp b/interface/src/commerce/Wallet.cpp index 05ccea3a59..1eb912b26e 100644 --- a/interface/src/commerce/Wallet.cpp +++ b/interface/src/commerce/Wallet.cpp @@ -275,3 +275,6 @@ void Wallet::chooseSecurityImage(uint imageID) { void Wallet::getSecurityImage() { emit securityImageResult(_chosenSecurityImage); } +void Wallet::getKeyFilePath() { + emit keyFilePathResult(keyFilePath()); +} diff --git a/interface/src/commerce/Wallet.h b/interface/src/commerce/Wallet.h index a1c7c7752b..6f99104229 100644 --- a/interface/src/commerce/Wallet.h +++ b/interface/src/commerce/Wallet.h @@ -28,9 +28,11 @@ public: QString signWithKey(const QByteArray& text, const QString& key); void chooseSecurityImage(uint imageID); void getSecurityImage(); + void getKeyFilePath(); signals: void securityImageResult(uint imageID); + void keyFilePathResult(const QString& path); protected: // ALWAYS add SecurityImage enum values to the END of the enum. diff --git a/scripts/system/html/js/marketplacesInject.js b/scripts/system/html/js/marketplacesInject.js index 77be746bf4..2889a1514a 100644 --- a/scripts/system/html/js/marketplacesInject.js +++ b/scripts/system/html/js/marketplacesInject.js @@ -115,7 +115,7 @@ itemId: id, itemName: name, itemAuthor: author, - itemPrice: price ? parseInt(price, 10) : Math.round(Math.random() * 50), + itemPrice: price ? parseInt(price, 10) : 0, itemHref: href })); } From a31088b60f44202befc8b6b328e6a878bfe15675 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Tue, 22 Aug 2017 12:16:17 -0700 Subject: [PATCH 20/29] More progress --- .../qml/hifi/commerce/wallet/Security.qml | 44 +++++++++++++++---- .../qml/hifi/commerce/wallet/Wallet.qml | 4 +- .../qml/hifi/commerce/wallet/WalletHome.qml | 13 +++++- .../commerce/wallet/WalletSetupLightbox.qml | 34 ++++++++++++-- 4 files changed, 80 insertions(+), 15 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml index 5d3dddb417..7fc3d9324f 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Security.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml @@ -43,6 +43,10 @@ Item { } } + SecurityImageModel { + id: securityImageModel; + } + // Username Text RalewayRegular { id: usernameText; @@ -67,6 +71,13 @@ Item { anchors.right: parent.right; width: 75; height: childrenRect.height; + + onVisibleChanged: { + if (visible) { + commerce.getSecurityImage(); + } + } + Image { id: topSecurityImage; // Anchors @@ -76,12 +87,6 @@ Item { width: height; fillMode: Image.PreserveAspectFit; mipmap: true; - - onVisibleChanged: { - if (visible) { - commerce.getSecurityImage(); - } - } } // "Security picture" text below pic RalewayRegular { @@ -221,7 +226,7 @@ Item { RalewayRegular { id: explanitoryText; text: "Your money and purchases are secured with private keys that only you " + - "have access to. <b>If they are lost, you will not be able to access your money or purchases." + + "have access to. <b>If they are lost, you will not be able to access your money or purchases. " + "To safeguard your private keys, back up this file regularly:</b>"; // Text size size: 18; @@ -243,7 +248,7 @@ Item { anchors.top: explanitoryText.bottom; anchors.topMargin: 10; anchors.left: parent.left; - anchors.right: parent.right; + anchors.right: clipboardButton.left; height: 40; readOnly: true; @@ -253,6 +258,29 @@ Item { } } } + HifiControlsUit.Button { + id: clipboardButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.right: parent.right; + anchors.top: keyFilePath.top; + anchors.bottom: keyFilePath.bottom; + width: height; + HiFiGlyphs { + text: hifi.glyphs.question; + // Size + size: parent.height*1.3; + // Anchors + anchors.fill: parent; + // Style + horizontalAlignment: Text.AlignHCenter; + color: enabled ? hifi.colors.white : hifi.colors.faintGray; + } + + onClicked: { + Window.copyToClipboard(keyFilePath.text); + } + } } // diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index fd9eb6dbe6..de207446a5 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -25,7 +25,7 @@ Rectangle { id: root; - property string activeView: ""; + property string activeView: "walletHome"; // Style color: hifi.colors.baseGray; @@ -43,8 +43,6 @@ Rectangle { onKeyFilePathResult: { if (path === "") { root.activeView = "notSetUp"; - } else { - root.activeView = "walletHome"; } } } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index bf344e6430..febf823564 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -38,6 +38,10 @@ Item { balanceText.text = parseFloat(result.data.balance/100).toFixed(2); } } + + SecurityImageModel { + id: securityImageModel; + } Connections { target: GlobalServices @@ -106,7 +110,7 @@ Item { // Balance Text FiraSansRegular { id: balanceText; - text: --; + text: "--"; // Text size size: 28; // Anchors @@ -149,6 +153,13 @@ Item { anchors.right: parent.right; width: 75; height: childrenRect.height; + + onVisibleChanged: { + if (visible) { + commerce.getSecurityImage(); + } + } + Image { id: securityImage; // Anchors diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 9b3bf535a3..c021501e43 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -458,7 +458,6 @@ Rectangle { choosePassphraseContainer.visible = false; privateKeysReadyContainer.visible = true; commerce.balance(); // Do this here so that keys are generated. Order might change as backend changes? - commerce.getKeyFilePath(); } } } @@ -549,15 +548,44 @@ Rectangle { horizontalAlignment: Text.AlignHLeft; verticalAlignment: Text.AlignVCenter; } - + HifiControlsUit.TextField { id: keyFilePath; anchors.top: explanationText.bottom; anchors.topMargin: 10; anchors.left: parent.left; - anchors.right: parent.right; + anchors.right: clipboardButton.left; height: 40; readOnly: true; + + onVisibleChanged: { + if (visible) { + commerce.getKeyFilePath(); + } + } + } + HifiControlsUit.Button { + id: clipboardButton; + color: hifi.buttons.black; + colorScheme: hifi.colorSchemes.dark; + anchors.right: parent.right; + anchors.top: keyFilePath.top; + anchors.bottom: keyFilePath.bottom; + width: height; + HiFiGlyphs { + text: hifi.glyphs.question; + // Size + size: parent.height*1.3; + // Anchors + anchors.fill: parent; + // Style + horizontalAlignment: Text.AlignHCenter; + color: enabled ? hifi.colors.white : hifi.colors.faintGray; + } + + onClicked: { + Window.copyToClipboard(keyFilePath.text); + } } // Navigation Bar From 763ce7330624a1be9e6ced41b004891d46eba26d Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Tue, 22 Aug 2017 12:26:46 -0700 Subject: [PATCH 21/29] Taking a break now --- .../resources/qml/hifi/commerce/wallet/Wallet.qml | 10 +++++----- .../resources/qml/hifi/commerce/wallet/WalletHome.qml | 3 ++- .../qml/hifi/commerce/wallet/WalletSetupLightbox.qml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index de207446a5..23989f0db5 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -33,15 +33,15 @@ Rectangle { id: commerce; onSecurityImageResult: { - if (imageID === 0 && root.lastPage === "securityImage") { // "If security image is set up" - // ERROR! Invalid security image. - securityImageContainer.visible = true; - choosePassphraseContainer.visible = false; + if (imageID === 0) { // "If security image is not set up" + if (root.activeView !== "notSetUp") { + root.activeView = "notSetUp"; + } } } onKeyFilePathResult: { - if (path === "") { + if (path === "" && root.activeView !== "notSetUp") { root.activeView = "notSetUp"; } } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index febf823564..281d110f21 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -30,7 +30,8 @@ Item { onSecurityImageResult: { if (imageID !== 0) { // "If security image is set up" - securityImage.source = securityImageModel.getImagePathFromImageID(imageID); + var path = securityImageModel.getImagePathFromImageID(imageID); + securityImage.source = path; } } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index c021501e43..ecb277f800 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -554,6 +554,7 @@ Rectangle { anchors.top: explanationText.bottom; anchors.topMargin: 10; anchors.left: parent.left; + anchors.leftMargin: 16; anchors.right: clipboardButton.left; height: 40; readOnly: true; @@ -569,6 +570,7 @@ Rectangle { color: hifi.buttons.black; colorScheme: hifi.colorSchemes.dark; anchors.right: parent.right; + anchors.rightMargin: 16; anchors.top: keyFilePath.top; anchors.bottom: keyFilePath.bottom; width: height; From 591c031e7bcd53c62abb660b95e1b753240be9b4 Mon Sep 17 00:00:00 2001 From: David Kelly <david@highfidelity.io> Date: Tue, 22 Aug 2017 16:24:25 -0700 Subject: [PATCH 22/29] first pass still broken... --- .../resources/qml/hifi/commerce/Checkout.qml | 2 +- .../hifi/commerce/SecurityImageSelection.qml | 1 + .../commerce/wallet/PassphraseSelection.qml | 2 +- .../qml/hifi/commerce/wallet/Security.qml | 4 ++-- .../wallet/SecurityImageSelection.qml | 20 ++++++++++--------- .../wallet/SecurityImageSelectionLightbox.qml | 6 +++--- .../qml/hifi/commerce/wallet/Wallet.qml | 2 +- .../qml/hifi/commerce/wallet/WalletHome.qml | 4 ++-- .../commerce/wallet/WalletSetupLightbox.qml | 8 ++++---- 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/Checkout.qml b/interface/resources/qml/hifi/commerce/Checkout.qml index 54a58943cb..5d4770e33f 100644 --- a/interface/resources/qml/hifi/commerce/Checkout.qml +++ b/interface/resources/qml/hifi/commerce/Checkout.qml @@ -68,7 +68,7 @@ Rectangle { } } onSecurityImageResult: { - securityImage.source = securityImageSelection.getImagePathFromImageID(0); + securityImage.source = securityImageSelection.getImagePathFromImageID(1); } } diff --git a/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml index 350b244723..d0ad3ceb29 100644 --- a/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml @@ -38,6 +38,7 @@ Rectangle { if (!isManuallyChangingSecurityImage) { securityImageSelectionRoot.visible = true; } + securityImageGrid.currentIndex = 0 //if (imageID > 0) { // for (var itr = 0; itr < gridModel.count; itr++) { // var thisValue = gridModel.get(itr).securityImageEnumValue; diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml index ff01aa65da..7f098beaca 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -36,7 +36,7 @@ Item { Hifi.QmlCommerce { id: commerce; onSecurityImageResult: { - passphrasePageSecurityImage.source = gridModel.getImagePathFromImageID(imageID); + //passphrasePageSecurityImage.source = gridModel.getImagePathFromImageID(imageID); } onPassphraseSetupStatusResult: { diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml index 7fc3d9324f..85763788af 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Security.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml @@ -29,8 +29,8 @@ Item { id: commerce; onSecurityImageResult: { - if (imageID !== 0) { // "If security image is set up" - var path = securityImageModel.getImagePathFromImageID(imageID); + if (image) { // "If security image is set up" + var path = securityImageModel.getImagePathFromImageID(1); topSecurityImage.source = path; changeSecurityImageImage.source = path; } diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml index 0d64217717..fb6edeb404 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml @@ -28,15 +28,17 @@ Item { Hifi.QmlCommerce { id: commerce; onSecurityImageResult: { - if (imageID > 0) { - for (var itr = 0; itr < gridModel.count; itr++) { - var thisValue = gridModel.get(itr).securityImageEnumValue; - if (thisValue === imageID) { - securityImageGrid.currentIndex = itr; - break; - } - } - } + // for now just hardwire the index + securityImageGrid.currentIndex = 1; + //if (imageID > 0) { + // for (var itr = 0; itr < gridModel.count; itr++) { + // var thisValue = gridModel.get(itr).securityImageEnumValue; + // if (thisValue === imageID) { + // securityImageGrid.currentIndex = itr; + // break; + // } + // } + //} } } diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml index 12511d6e6c..c5b59e7467 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml @@ -38,7 +38,7 @@ Rectangle { id: commerce; onSecurityImageResult: { - if (imageID !== 0) { // Success submitting new security image + if (image) { // Success submitting new security image if (root.justSubmitted) { root.resetSubmitButton(); root.visible = false; @@ -51,7 +51,7 @@ Rectangle { } } } - + // // SECURITY IMAGE SELECTION START // @@ -183,7 +183,7 @@ Rectangle { root.justSubmitted = true; securityImageSubmitButton.text = "Submitting..."; securityImageSubmitButton.enabled = false; - commerce.chooseSecurityImage(securityImageSelection.getSelectedImageIndex()); + commerce.chooseSecurityImage(securityImageSelection.getImagePathFromImageID(1)); } } } diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 23989f0db5..1ef8000d1e 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -33,7 +33,7 @@ Rectangle { id: commerce; onSecurityImageResult: { - if (imageID === 0) { // "If security image is not set up" + if (!image) { // "If security image is not set up" if (root.activeView !== "notSetUp") { root.activeView = "notSetUp"; } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index 281d110f21..0e1310bce3 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -29,8 +29,8 @@ Item { id: commerce; onSecurityImageResult: { - if (imageID !== 0) { // "If security image is set up" - var path = securityImageModel.getImagePathFromImageID(imageID); + if (image) { // "If security image is set up" + var path = securityImageModel.getImagePathFromImageID(1); securityImage.source = path; } } diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index ecb277f800..3494b18edc 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -38,9 +38,9 @@ Rectangle { loginPageContainer.visible = true; } } - + onSecurityImageResult: { - if (imageID === 0 && root.lastPage === "securityImage") { + if (!image && root.lastPage === "securityImage") { // ERROR! Invalid security image. securityImageContainer.visible = true; choosePassphraseContainer.visible = false; @@ -327,7 +327,7 @@ Rectangle { text: "Next"; onClicked: { root.lastPage = "securityImage"; - commerce.chooseSecurityImage(securityImageSelection.getSelectedImageIndex()); + commerce.chooseSecurityImage(securityImageSelection.getImagePathFromImageID(1)); securityImageContainer.visible = false; choosePassphraseContainer.visible = true; } @@ -589,7 +589,7 @@ Rectangle { Window.copyToClipboard(keyFilePath.text); } } - + // Navigation Bar Item { // Size From a489267cec84049869e5434a7af10fd7fbaeba18 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Wed, 23 Aug 2017 10:48:47 -0700 Subject: [PATCH 23/29] Hide behind switch and remove dead code --- .../qml/hifi/commerce/SecurityImageModel.qml | 42 --- .../hifi/commerce/SecurityImageSelection.qml | 271 ------------------ scripts/system/commerce/wallet.js | 19 +- 3 files changed, 11 insertions(+), 321 deletions(-) delete mode 100644 interface/resources/qml/hifi/commerce/SecurityImageModel.qml delete mode 100644 interface/resources/qml/hifi/commerce/SecurityImageSelection.qml diff --git a/interface/resources/qml/hifi/commerce/SecurityImageModel.qml b/interface/resources/qml/hifi/commerce/SecurityImageModel.qml deleted file mode 100644 index 2fbf28683f..0000000000 --- a/interface/resources/qml/hifi/commerce/SecurityImageModel.qml +++ /dev/null @@ -1,42 +0,0 @@ -// -// SecurityImageModel.qml -// qml/hifi/commerce -// -// SecurityImageModel -// -// Created by Zach Fox on 2017-08-15 -// Copyright 2017 High Fidelity, Inc. -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// - -import QtQuick 2.5 - -ListModel { - id: root; - ListElement{ - sourcePath: "images/01cat.jpg" - securityImageEnumValue: 1; - } - ListElement{ - sourcePath: "images/02car.jpg" - securityImageEnumValue: 2; - } - ListElement{ - sourcePath: "images/03dog.jpg" - securityImageEnumValue: 3; - } - ListElement{ - sourcePath: "images/04stars.jpg" - securityImageEnumValue: 4; - } - ListElement{ - sourcePath: "images/05plane.jpg" - securityImageEnumValue: 5; - } - ListElement{ - sourcePath: "images/06gingerbread.jpg" - securityImageEnumValue: 6; - } -} diff --git a/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml deleted file mode 100644 index 7775f1ff9c..0000000000 --- a/interface/resources/qml/hifi/commerce/SecurityImageSelection.qml +++ /dev/null @@ -1,271 +0,0 @@ -// -// SecurityImageSelection.qml -// qml/hifi/commerce -// -// SecurityImageSelection -// -// Created by Zach Fox on 2017-08-15 -// Copyright 2017 High Fidelity, Inc. -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// - -import Hifi 1.0 as Hifi -import QtQuick 2.5 -import QtQuick.Controls 1.4 -import "../../styles-uit" -import "../../controls-uit" as HifiControlsUit -import "../../controls" as HifiControls - -// references XXX from root context - -Rectangle { - HifiConstants { id: hifi; } - - id: securityImageSelectionRoot; - property string referrerURL: ""; - property bool isManuallyChangingSecurityImage: false; - anchors.fill: parent; - // Style - color: hifi.colors.baseGray; - z:999; // On top of everything else - visible: false; - - Hifi.QmlCommerce { - id: commerce; - onSecurityImageResult: { - if (!isManuallyChangingSecurityImage) { - securityImageSelectionRoot.visible = (imageID == 0); - } - if (imageID > 0) { - for (var itr = 0; itr < gridModel.count; itr++) { - var thisValue = gridModel.get(itr).securityImageEnumValue; - if (thisValue === imageID) { - securityImageGrid.currentIndex = itr; - break; - } - } - } - } - } - - Component.onCompleted: { - commerce.getSecurityImage(); - } - - // - // TITLE BAR START - // - Item { - id: titleBarContainer; - // Size - width: securityImageSelectionRoot.width; - height: 30; - // Anchors - anchors.left: parent.left; - anchors.top: parent.top; - - // Title Bar text - RalewaySemiBold { - id: titleBarText; - text: "Select a Security Image"; - // Text size - size: hifi.fontSizes.overlayTitle; - // Anchors - anchors.fill: parent; - anchors.leftMargin: 16; - // Style - color: hifi.colors.lightGrayText; - // Alignment - horizontalAlignment: Text.AlignHLeft; - verticalAlignment: Text.AlignVCenter; - } - - // Separator - HifiControlsUit.Separator { - anchors.left: parent.left; - anchors.right: parent.right; - anchors.bottom: parent.bottom; - } - } - // - // TITLE BAR END - // - - // - // EXPLANATION START - // - Item { - id: explanationContainer; - // Size - width: securityImageSelectionRoot.width; - height: 85; - // Anchors - anchors.top: titleBarContainer.bottom; - anchors.left: parent.left; - anchors.right: parent.right; - - RalewayRegular { - id: explanationText; - text: "This image will be displayed on secure Inventory and Marketplace Checkout dialogs.<b><br>If you don't see your selected image on these dialogs, do not use them!</b>"; - // Text size - size: 16; - // Anchors - anchors.top: parent.top; - anchors.topMargin: 4; - anchors.left: parent.left; - anchors.leftMargin: 16; - anchors.right: parent.right; - anchors.rightMargin: 16; - // Style - color: hifi.colors.lightGrayText; - wrapMode: Text.WordWrap; - // Alignment - horizontalAlignment: Text.AlignHLeft; - verticalAlignment: Text.AlignVCenter; - } - - // Separator - HifiControlsUit.Separator { - anchors.left: parent.left; - anchors.right: parent.right; - anchors.bottom: parent.bottom; - } - } - // - // EXPLANATION END - // - - // - // SECURITY IMAGE GRID START - // - Item { - id: securityImageGridContainer; - // Anchors - anchors.left: parent.left; - anchors.leftMargin: 8; - anchors.right: parent.right; - anchors.rightMargin: 8; - anchors.top: explanationContainer.bottom; - anchors.topMargin: 8; - anchors.bottom: actionButtonsContainer.top; - anchors.bottomMargin: 8; - - SecurityImageModel { - id: gridModel; - } - - GridView { - id: securityImageGrid; - clip: true; - // Anchors - anchors.fill: parent; - currentIndex: -1; - cellWidth: width / 2; - cellHeight: height / 3; - model: gridModel; - delegate: Item { - width: securityImageGrid.cellWidth; - height: securityImageGrid.cellHeight; - Item { - anchors.fill: parent; - Image { - width: parent.width - 8; - height: parent.height - 8; - source: sourcePath; - anchors.horizontalCenter: parent.horizontalCenter; - anchors.verticalCenter: parent.verticalCenter; - fillMode: Image.PreserveAspectFit; - mipmap: true; - } - } - MouseArea { - anchors.fill: parent; - onClicked: { - securityImageGrid.currentIndex = index; - } - } - } - highlight: Rectangle { - width: securityImageGrid.cellWidth; - height: securityImageGrid.cellHeight; - color: hifi.colors.blueHighlight; - } - } - } - // - // SECURITY IMAGE GRID END - // - - - // - // ACTION BUTTONS START - // - Item { - id: actionButtonsContainer; - // Size - width: securityImageSelectionRoot.width; - height: 40; - // Anchors - anchors.left: parent.left; - anchors.bottom: parent.bottom; - anchors.bottomMargin: 8; - - // "Cancel" button - HifiControlsUit.Button { - id: cancelButton; - color: hifi.buttons.black; - colorScheme: hifi.colorSchemes.dark; - anchors.top: parent.top; - anchors.topMargin: 3; - anchors.bottom: parent.bottom; - anchors.bottomMargin: 3; - anchors.left: parent.left; - anchors.leftMargin: 20; - width: parent.width/2 - anchors.leftMargin*2; - text: "Cancel" - onClicked: { - if (!securityImageSelectionRoot.isManuallyChangingSecurityImage) { - sendToScript({method: 'securityImageSelection_cancelClicked', referrerURL: securityImageSelectionRoot.referrerURL}); - } else { - securityImageSelectionRoot.visible = false; - } - } - } - - // "Confirm" button - HifiControlsUit.Button { - id: confirmButton; - color: hifi.buttons.black; - colorScheme: hifi.colorSchemes.dark; - anchors.top: parent.top; - anchors.topMargin: 3; - anchors.bottom: parent.bottom; - anchors.bottomMargin: 3; - anchors.right: parent.right; - anchors.rightMargin: 20; - width: parent.width/2 - anchors.rightMargin*2; - text: "Confirm"; - onClicked: { - securityImageSelectionRoot.isManuallyChangingSecurityImage = false; - commerce.chooseSecurityImage(gridModel.get(securityImageGrid.currentIndex).securityImageEnumValue); - } - } - } - // - // ACTION BUTTONS END - // - - // - // FUNCTION DEFINITIONS START - // - signal sendToScript(var message); - - function getImagePathFromImageID(imageID) { - return (imageID ? gridModel.get(imageID - 1).sourcePath : ""); - } - // - // FUNCTION DEFINITIONS END - // -} diff --git a/scripts/system/commerce/wallet.js b/scripts/system/commerce/wallet.js index 6045bef8ef..14954e5df6 100644 --- a/scripts/system/commerce/wallet.js +++ b/scripts/system/commerce/wallet.js @@ -119,15 +119,18 @@ var button; var buttonName = "WALLET"; var tablet = null; + var walletEnabled = Settings.getValue("inspectionMode", false); function startup() { - tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); - button = tablet.addButton({ - text: buttonName, - icon: "icons/tablet-icons/wallet-i.svg", - activeIcon: "icons/tablet-icons/wallet-a.svg" - }); - button.clicked.connect(onButtonClicked); - tablet.screenChanged.connect(onTabletScreenChanged); + if (walletEnabled) { + tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); + button = tablet.addButton({ + text: buttonName, + icon: "icons/tablet-icons/wallet-i.svg", + activeIcon: "icons/tablet-icons/wallet-a.svg" + }); + button.clicked.connect(onButtonClicked); + tablet.screenChanged.connect(onTabletScreenChanged); + } } function shutdown() { button.clicked.disconnect(onButtonClicked); From 138534c3ff59823d685d699c2b51d46752c18b39 Mon Sep 17 00:00:00 2001 From: David Kelly <david@highfidelity.io> Date: Wed, 23 Aug 2017 15:01:09 -0700 Subject: [PATCH 24/29] encrypt security image --- .../commerce/wallet/PassphraseSelection.qml | 10 +++--- .../qml/hifi/commerce/wallet/Security.qml | 16 +++++++-- .../wallet/SecurityImageSelection.qml | 11 ------- .../wallet/SecurityImageSelectionLightbox.qml | 5 +-- .../qml/hifi/commerce/wallet/Wallet.qml | 10 +++--- .../qml/hifi/commerce/wallet/WalletHome.qml | 33 ++++++++++--------- .../commerce/wallet/WalletSetupLightbox.qml | 5 +-- interface/src/Application.cpp | 10 ++++-- interface/src/commerce/QmlCommerce.h | 4 +-- interface/src/commerce/Wallet.cpp | 26 ++++++++++++--- interface/src/commerce/Wallet.h | 2 +- interface/src/ui/ImageProvider.cpp | 29 ++++++++++++++++ interface/src/ui/ImageProvider.h | 33 +++++++++++++++++++ 13 files changed, 141 insertions(+), 53 deletions(-) create mode 100644 interface/src/ui/ImageProvider.cpp create mode 100644 interface/src/ui/ImageProvider.h diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml index 7f098beaca..89ef851b06 100644 --- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml @@ -24,7 +24,7 @@ Item { HifiConstants { id: hifi; } id: root; - + // This object is always used in a popup. // This MouseArea is used to prevent a user from being // able to click on a button/mouseArea underneath the popup. @@ -36,7 +36,8 @@ Item { Hifi.QmlCommerce { id: commerce; onSecurityImageResult: { - //passphrasePageSecurityImage.source = gridModel.getImagePathFromImageID(imageID); + passphrasePageSecurityImage.source = ""; + passphrasePageSecurityImage.source = "image://security/securityImage"; } onPassphraseSetupStatusResult: { @@ -104,7 +105,8 @@ Item { width: height; fillMode: Image.PreserveAspectFit; mipmap: true; - + source: "image://security/securityImage"; + cache: false; onVisibleChanged: { commerce.getSecurityImage(); } @@ -124,7 +126,7 @@ Item { color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHCenter; - verticalAlignment: Text.AlignVCenter; + verticalAlignment: Text.AlignVCenter; } } diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml index 85763788af..3f3d00b401 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Security.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml @@ -29,10 +29,14 @@ Item { id: commerce; onSecurityImageResult: { - if (image) { // "If security image is set up" - var path = securityImageModel.getImagePathFromImageID(1); + if (exists) { // "If security image is set up" + var path = "image://security/securityImage"; + topSecurityImage.source = ""; topSecurityImage.source = path; + changeSecurityImageImage.source = ""; changeSecurityImageImage.source = path; + changePassphraseImage.source = ""; + changePassphraseImage.source = path; } } @@ -87,6 +91,8 @@ Item { width: height; fillMode: Image.PreserveAspectFit; mipmap: true; + source: "image://security/securityImage"; + cache: false; } // "Security picture" text below pic RalewayRegular { @@ -103,7 +109,7 @@ Item { color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHCenter; - verticalAlignment: Text.AlignVCenter; + verticalAlignment: Text.AlignVCenter; } } @@ -144,8 +150,10 @@ Item { anchors.left: parent.left; height: parent.height; width: height; + source: "image://security/securityImage"; fillMode: Image.PreserveAspectFit; mipmap: true; + cache: false; } // "Change Passphrase" button HifiControlsUit.Button { @@ -181,6 +189,8 @@ Item { width: height; fillMode: Image.PreserveAspectFit; mipmap: true; + cache: false; + source: "image://security/securityImage"; } // "Change Security Image" button HifiControlsUit.Button { diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml index fb6edeb404..7ab52b7551 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml @@ -28,17 +28,6 @@ Item { Hifi.QmlCommerce { id: commerce; onSecurityImageResult: { - // for now just hardwire the index - securityImageGrid.currentIndex = 1; - //if (imageID > 0) { - // for (var itr = 0; itr < gridModel.count; itr++) { - // var thisValue = gridModel.get(itr).securityImageEnumValue; - // if (thisValue === imageID) { - // securityImageGrid.currentIndex = itr; - // break; - // } - // } - //} } } diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml index c5b59e7467..d4b0b82ed3 100644 --- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelectionLightbox.qml @@ -38,7 +38,7 @@ Rectangle { id: commerce; onSecurityImageResult: { - if (image) { // Success submitting new security image + if (exists) { // Success submitting new security image if (root.justSubmitted) { root.resetSubmitButton(); root.visible = false; @@ -183,7 +183,8 @@ Rectangle { root.justSubmitted = true; securityImageSubmitButton.text = "Submitting..."; securityImageSubmitButton.enabled = false; - commerce.chooseSecurityImage(securityImageSelection.getImagePathFromImageID(1)); + var securityImagePath = securityImageSelection.getImagePathFromImageID(securityImageSelection.getSelectedImageIndex()) + commerce.chooseSecurityImage(securityImagePath); } } } diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 1ef8000d1e..ac5d851bbc 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -33,7 +33,7 @@ Rectangle { id: commerce; onSecurityImageResult: { - if (!image) { // "If security image is not set up" + if (!exists) { // "If security image is not set up" if (root.activeView !== "notSetUp") { root.activeView = "notSetUp"; } @@ -104,7 +104,7 @@ Rectangle { width: walletSetupLightboxContainer.width - 50; height: walletSetupLightboxContainer.height - 50; } - + // // TITLE BAR START @@ -226,7 +226,7 @@ Rectangle { // // TAB CONTENTS END // - + // // TAB BUTTONS START // @@ -283,7 +283,7 @@ Rectangle { onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = root.activeView === "walletHome" ? hifi.colors.blueAccent : hifi.colors.black; } - + onVisibleChanged: { if (visible) { commerce.getSecurityImage(); @@ -382,7 +382,7 @@ Rectangle { onEntered: parent.color = hifi.colors.blueHighlight; onExited: parent.color = root.activeView === "security" ? hifi.colors.blueAccent : hifi.colors.black; } - + onVisibleChanged: { if (visible) { commerce.getSecurityImage(); diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml index 0e1310bce3..88f939d393 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml @@ -22,16 +22,17 @@ import "../../../controls" as HifiControls Item { HifiConstants { id: hifi; } - + id: root; Hifi.QmlCommerce { id: commerce; onSecurityImageResult: { - if (image) { // "If security image is set up" - var path = securityImageModel.getImagePathFromImageID(1); - securityImage.source = path; + if (exists) { + // just set the source again (to be sure the change was noticed) + securityImage.source = ""; + securityImage.source = "image://security/securityImage"; } } @@ -43,7 +44,7 @@ Item { SecurityImageModel { id: securityImageModel; } - + Connections { target: GlobalServices onMyUsernameChanged: { @@ -66,7 +67,7 @@ Item { anchors.left: parent.left; anchors.right: hfcBalanceContainer.left; } - + // HFC Balance Container Item { id: hfcBalanceContainer; @@ -99,8 +100,8 @@ Item { color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignRight; - verticalAlignment: Text.AlignVCenter; - + verticalAlignment: Text.AlignVCenter; + onVisibleChanged: { if (visible) { commerce.balance(); @@ -124,7 +125,7 @@ Item { color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignRight; - verticalAlignment: Text.AlignVCenter; + verticalAlignment: Text.AlignVCenter; } } // "balance" text above field @@ -142,7 +143,7 @@ Item { color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignLeft; - verticalAlignment: Text.AlignVCenter; + verticalAlignment: Text.AlignVCenter; } } @@ -170,6 +171,8 @@ Item { width: height; fillMode: Image.PreserveAspectFit; mipmap: true; + cache: false; + source: "image://security/securityImage"; } // "Security picture" text below pic RalewayRegular { @@ -186,7 +189,7 @@ Item { color: hifi.colors.faintGray; // Alignment horizontalAlignment: Text.AlignHCenter; - verticalAlignment: Text.AlignVCenter; + verticalAlignment: Text.AlignVCenter; } } @@ -222,7 +225,7 @@ Item { anchors.bottomMargin: 8; anchors.left: parent.left; anchors.right: parent.right; - + // some placeholder stuff RalewayRegular { text: homeMessage.visible ? "you <b>CANNOT</b> scroll through this." : "you <b>CAN</b> scroll through this"; @@ -234,10 +237,10 @@ Item { color: hifi.colors.darkGray; // Alignment horizontalAlignment: Text.AlignHCenter; - verticalAlignment: Text.AlignVCenter; + verticalAlignment: Text.AlignVCenter; } } - + HifiControlsUit.Button { id: toggleFullHistoryButton; color: hifi.buttons.black; @@ -322,7 +325,7 @@ Item { homeMessageButtons.visible = false; } } - } + } } // diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml index 3494b18edc..474322062e 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetupLightbox.qml @@ -40,7 +40,7 @@ Rectangle { } onSecurityImageResult: { - if (!image && root.lastPage === "securityImage") { + if (!exists && root.lastPage === "securityImage") { // ERROR! Invalid security image. securityImageContainer.visible = true; choosePassphraseContainer.visible = false; @@ -327,7 +327,8 @@ Rectangle { text: "Next"; onClicked: { root.lastPage = "securityImage"; - commerce.chooseSecurityImage(securityImageSelection.getImagePathFromImageID(1)); + var securityImagePath = securityImageSelection.getImagePathFromImageID(securityImageSelection.getSelectedImageIndex()) + commerce.chooseSecurityImage(securityImagePath); securityImageContainer.visible = false; choosePassphraseContainer.visible = true; } diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 398b2dbdb4..f7e664476b 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -183,6 +183,7 @@ #include "ui/UpdateDialog.h" #include "ui/overlays/Overlays.h" #include "ui/DomainConnectionModel.h" +#include "ui/ImageProvider.h" #include "Util.h" #include "InterfaceParentFinder.h" #include "ui/OctreeStatsProvider.h" @@ -2144,6 +2145,9 @@ void Application::initializeUi() { qApp->quit(); }); + // register the pixmap image provider (used only for security image, for now) + engine->addImageProvider(ImageProvider::PROVIDER_NAME, new ImageProvider()); + setupPreferences(); // For some reason there is already an "Application" object in the QML context, @@ -3736,7 +3740,7 @@ bool Application::shouldPaint() { (float)paintDelaySamples / paintDelayUsecs << "us"; } #endif - + // Throttle if requested if (displayPlugin->isThrottled() && (_lastTimeUpdated.elapsed() < THROTTLED_SIM_FRAME_PERIOD_MS)) { return false; @@ -6276,7 +6280,7 @@ bool Application::askToReplaceDomainContent(const QString& url) { OffscreenUi::warning("Unable to replace content", "You do not have permissions to replace domain content", QMessageBox::Ok, QMessageBox::Ok); } - QJsonObject messageProperties = { + QJsonObject messageProperties = { { "status", methodDetails }, { "content_set_url", url } }; @@ -6359,7 +6363,7 @@ void Application::showAssetServerWidget(QString filePath) { void Application::addAssetToWorldFromURL(QString url) { qInfo(interfaceapp) << "Download model and add to world from" << url; - + QString filename; if (url.contains("filename")) { filename = url.section("filename=", 1, 1); // Filename is in "?filename=" parameter at end of URL. diff --git a/interface/src/commerce/QmlCommerce.h b/interface/src/commerce/QmlCommerce.h index ae606f80de..d7a892cf1f 100644 --- a/interface/src/commerce/QmlCommerce.h +++ b/interface/src/commerce/QmlCommerce.h @@ -29,11 +29,11 @@ public: signals: void buyResult(QJsonObject result); - // Balance and Inventory are NOT properties, because QML can't change them (without risk of failure), and + // Balance and Inventory are NOT properties, because QML can't change them (without risk of failure), and // because we can't scalably know of out-of-band changes (e.g., another machine interacting with the block chain). void balanceResult(QJsonObject result); void inventoryResult(QJsonObject result); - void securityImageResult(QPixmap* image); + void securityImageResult(bool exists); void loginStatusResult(bool isLoggedIn); void passphraseSetupStatusResult(bool passphraseIsSetup); void keyFilePathResult(const QString& path); diff --git a/interface/src/commerce/Wallet.cpp b/interface/src/commerce/Wallet.cpp index 68fdecca4a..b003492e5c 100644 --- a/interface/src/commerce/Wallet.cpp +++ b/interface/src/commerce/Wallet.cpp @@ -13,11 +13,14 @@ #include "Ledger.h" #include "Wallet.h" #include "Application.h" +#include "ui/ImageProvider.h" #include <PathUtils.h> +#include <OffscreenUi.h> #include <QFile> #include <QCryptographicHash> +#include <QQmlContext> #include <openssl/ssl.h> #include <openssl/err.h> @@ -402,10 +405,17 @@ void Wallet::chooseSecurityImage(const QString& filename) { // encrypt it and save. if (encryptFile(path, imageFilePath())) { - emit securityImageResult(_securityImage); + qCDebug(commerce) << "emitting pixmap"; + + // inform the image provider + auto engine = DependencyManager::get<OffscreenUi>()->getSurfaceContext()->engine(); + auto imageProvider = reinterpret_cast<ImageProvider*>(engine->imageProvider(ImageProvider::PROVIDER_NAME)); + imageProvider->setSecurityImage(_securityImage); + + emit securityImageResult(true); } else { qCDebug(commerce) << "failed to encrypt security image"; - emit securityImageResult(nullptr); + emit securityImageResult(false); } } void Wallet::getSecurityImage() { @@ -414,7 +424,7 @@ void Wallet::getSecurityImage() { // if already decrypted, don't do it again if (_securityImage) { - emit securityImageResult(_securityImage); + emit securityImageResult(true); return; } @@ -424,10 +434,16 @@ void Wallet::getSecurityImage() { _securityImage = new QPixmap(); _securityImage->loadFromData(data, dataLen, "jpg"); qCDebug(commerce) << "created pixmap from encrypted file"; - emit securityImageResult(_securityImage); + + // inform the image provider + auto engine = DependencyManager::get<OffscreenUi>()->getSurfaceContext()->engine(); + auto imageProvider = reinterpret_cast<ImageProvider*>(engine->imageProvider(ImageProvider::PROVIDER_NAME)); + imageProvider->setSecurityImage(_securityImage); + + emit securityImageResult(true); } else { qCDebug(commerce) << "failed to decrypt security image (maybe none saved yet?)"; - emit securityImageResult(nullptr); + emit securityImageResult(false); } } void Wallet::getKeyFilePath() { diff --git a/interface/src/commerce/Wallet.h b/interface/src/commerce/Wallet.h index 8f962a1bc9..f7649aa4ca 100644 --- a/interface/src/commerce/Wallet.h +++ b/interface/src/commerce/Wallet.h @@ -36,7 +36,7 @@ public: QByteArray getSalt() { return _salt; } signals: - void securityImageResult(QPixmap* image); + void securityImageResult(bool exists) ; void keyFilePathResult(const QString& path); protected: diff --git a/interface/src/ui/ImageProvider.cpp b/interface/src/ui/ImageProvider.cpp new file mode 100644 index 0000000000..4925cdf1e9 --- /dev/null +++ b/interface/src/ui/ImageProvider.cpp @@ -0,0 +1,29 @@ +// +// ImageProvider.cpp +// interface/src/ui +// +// Created by David Kelly on 8/23/2017. +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +#include "ImageProvider.h" +#include <QDebug> + +const QString ImageProvider::PROVIDER_NAME = "security"; + +QPixmap ImageProvider::requestPixmap(const QString& id, QSize* size, const QSize& requestedSize) { + + // adjust the internal pixmap to have the requested size + if (id == "securityImage" && _securityImage) { + *size = _securityImage->size(); + if (requestedSize.width() > 0 && requestedSize.height() > 0) { + return _securityImage->scaled(requestedSize.width(), requestedSize.height(), Qt::KeepAspectRatio); + } else { + return _securityImage->copy(); + } + } + return QPixmap(); +} diff --git a/interface/src/ui/ImageProvider.h b/interface/src/ui/ImageProvider.h new file mode 100644 index 0000000000..b09d32c8a8 --- /dev/null +++ b/interface/src/ui/ImageProvider.h @@ -0,0 +1,33 @@ +// +// ImageProvider.h +// +// Created by David Kelly on 2017/08/23 +// Copyright 2017 High Fidelity, Inc. + +// Distributed under the Apache License, Version 2.0 +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +#pragma once +#ifndef hifi_ImageProvider_h +#define hifi_ImageProvider_h + +#include <QQuickImageProvider> + +class ImageProvider: public QQuickImageProvider { +public: + static const QString PROVIDER_NAME; + + ImageProvider() : QQuickImageProvider(QQuickImageProvider::Pixmap) {} + + QPixmap requestPixmap(const QString& id, QSize* size, const QSize& requestedSize); + + void setSecurityImage(QPixmap* pixmap) { _securityImage = pixmap; } + +protected: + QPixmap* _securityImage; + +}; + +#endif //hifi_ImageProvider_h + From 57d973851e559cb7da99edafdd46afde7446f8e2 Mon Sep 17 00:00:00 2001 From: David Kelly <david@highfidelity.io> Date: Wed, 23 Aug 2017 15:11:17 -0700 Subject: [PATCH 25/29] accidentally left in I guess --- .../marketplace/spectator-camera/spectatorCamera.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js b/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js index fd08cd5655..f0b943ad92 100644 --- a/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js +++ b/unpublishedScripts/marketplace/spectator-camera/spectatorCamera.js @@ -153,7 +153,7 @@ // -showSpectatorInDesktop: Set to "true" to show the "SPECTATOR" app in desktop mode. var button = false; var buttonName = "SPECTATOR"; - var showSpectatorInDesktop = true; + var showSpectatorInDesktop = false; function addOrRemoveButton(isShuttingDown, isHMDMode) { if (!tablet) { print("Warning in addOrRemoveButton(): 'tablet' undefined!"); From c77dafdf129dcc5bb87864ac5b7998a5fc7b5523 Mon Sep 17 00:00:00 2001 From: David Kelly <david@highfidelity.io> Date: Wed, 23 Aug 2017 17:43:37 -0700 Subject: [PATCH 26/29] fix warnings, prepare a bit for hooking up the passphrase --- interface/src/commerce/Wallet.cpp | 45 ++++++++++++++++++++++++------- interface/src/commerce/Wallet.h | 4 +++ interface/src/ui/ImageProvider.h | 2 +- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/interface/src/commerce/Wallet.cpp b/interface/src/commerce/Wallet.cpp index b003492e5c..fb81aeff5a 100644 --- a/interface/src/commerce/Wallet.cpp +++ b/interface/src/commerce/Wallet.cpp @@ -51,18 +51,26 @@ QString imageFilePath() { return PathUtils::getAppDataFilePath(IMAGE_FILE); } -// for now the callback function just returns the same string. Later we can hook -// this to the gui (some thought required) +// use the cached _passphrase if it exists, otherwise we need to prompt int passwordCallback(char* password, int maxPasswordSize, int rwFlag, void* u) { // just return a hardcoded pwd for now - static const char* pwd = "pwd"; - strcpy(password, pwd); - return static_cast<int>(strlen(pwd)); + auto passphrase = DependencyManager::get<Wallet>()->getPassphrase(); + if (passphrase) { + strcpy(password, passphrase->toLocal8Bit().constData()); + return static_cast<int>(passphrase->size()); + } else { + // ok gotta bring up modal dialog... But right now lets just + // just keep it empty + return 0; + } } // BEGIN copied code - this will be removed/changed at some point soon // copied (without emits for various signals) from libraries/networking/src/RSAKeypairGenerator.cpp. // We will have a different implementation in practice, but this gives us a start for now +// +// NOTE: we don't really use the private keys returned - we can see how this evolves, but probably +// we should just return a list of public keys? QPair<QByteArray*, QByteArray*> generateRSAKeypair() { RSA* keyPair = RSA_new(); @@ -138,7 +146,9 @@ QPair<QByteArray*, QByteArray*> generateRSAKeypair() { RSA_free(keyPair); - // prepare the return values + // prepare the return values. TODO: Fix this - we probably don't really even want the + // private key at all (better to read it when we need it?). Or maybe we do, when we have + // multiple keys? retval.first = new QByteArray(reinterpret_cast<char*>(publicKeyDER), publicKeyLength ), retval.second = new QByteArray(reinterpret_cast<char*>(privateKeyDER), privateKeyLength ); @@ -214,6 +224,13 @@ void initializeAESKeys(unsigned char* ivec, unsigned char* ckey, const QByteArra memcpy(ckey, hash.data(), 16); } +void Wallet::setPassphrase(const QString& passphrase) { + if (_passphrase) { + delete _passphrase; + } + _passphrase = new QString(passphrase); +} + // encrypt some stuff bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFilePath) { // aes requires a couple 128-bit keys (ckey and ivec). For now, I'll just @@ -243,17 +260,20 @@ bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFile EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); // TODO: add error handling!!! - if (!EVP_EncryptInit_ex(ctx, EVP_idea_cbc(), NULL, ckey, ivec)) { + if (!EVP_EncryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) { qCDebug(commerce) << "encrypt init failure"; + delete outputFileBuffer; return false; } if (!EVP_EncryptUpdate(ctx, outputFileBuffer, &tempSize, (unsigned char*)inputFileBuffer.data(), inputFileBuffer.size())) { qCDebug(commerce) << "encrypt update failure"; + delete outputFileBuffer; return false; } outSize = tempSize; if (!EVP_EncryptFinal_ex(ctx, outputFileBuffer + outSize, &tempSize)) { qCDebug(commerce) << "encrypt final failure"; + delete outputFileBuffer; return false; } @@ -266,6 +286,7 @@ bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFile outputFile.write(output); outputFile.close(); + delete outputFileBuffer; return true; } @@ -290,28 +311,30 @@ bool Wallet::decryptFile(const QString& inputFilePath, unsigned char** outputBuf // TODO: add error handling EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); - if (!EVP_DecryptInit_ex(ctx, EVP_idea_cbc(), NULL, ckey, ivec)) { + if (!EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) { qCDebug(commerce) << "decrypt init failure"; + delete outputBuffer; return false; } if (!EVP_DecryptUpdate(ctx, outputBuffer, &tempSize, (unsigned char*)encryptedBuffer.data(), encryptedBuffer.size())) { qCDebug(commerce) << "decrypt update failure"; + delete outputBuffer; return false; } *outputBufferSize = tempSize; if (!EVP_DecryptFinal_ex(ctx, outputBuffer + tempSize, &tempSize)) { qCDebug(commerce) << "decrypt final failure"; + delete outputBuffer; return false; } EVP_CIPHER_CTX_free(ctx); *outputBufferSize += tempSize; *outputBufferPtr = outputBuffer; qCDebug(commerce) << "decrypted buffer size" << *outputBufferSize; + delete outputBuffer; return true; } - - bool Wallet::createIfNeeded() { if (_publicKeys.count() > 0) return false; @@ -348,6 +371,7 @@ bool Wallet::generateKeyPair() { auto ledger = DependencyManager::get<Ledger>(); return ledger->receiveAt(key, oldKey); } + QStringList Wallet::listPublicKeys() { qCInfo(commerce) << "Enumerating public keys."; createIfNeeded(); @@ -418,6 +442,7 @@ void Wallet::chooseSecurityImage(const QString& filename) { emit securityImageResult(false); } } + void Wallet::getSecurityImage() { unsigned char* data; int dataLen; diff --git a/interface/src/commerce/Wallet.h b/interface/src/commerce/Wallet.h index f7649aa4ca..4c0d7190bb 100644 --- a/interface/src/commerce/Wallet.h +++ b/interface/src/commerce/Wallet.h @@ -35,6 +35,9 @@ public: void setSalt(const QByteArray& salt) { _salt = salt; } QByteArray getSalt() { return _salt; } + void setPassphrase(const QString& passphrase); + QString* getPassphrase() { return _passphrase; } + signals: void securityImageResult(bool exists) ; void keyFilePathResult(const QString& path); @@ -54,6 +57,7 @@ private: QStringList _publicKeys{}; QPixmap* _securityImage { nullptr }; QByteArray _salt {"iamsalt!"}; + QString* _passphrase { new QString("pwd") }; bool encryptFile(const QString& inputFilePath, const QString& outputFilePath); bool decryptFile(const QString& inputFilePath, unsigned char** outputBufferPtr, int* outputBufferLen); diff --git a/interface/src/ui/ImageProvider.h b/interface/src/ui/ImageProvider.h index b09d32c8a8..d9da75ece5 100644 --- a/interface/src/ui/ImageProvider.h +++ b/interface/src/ui/ImageProvider.h @@ -20,7 +20,7 @@ public: ImageProvider() : QQuickImageProvider(QQuickImageProvider::Pixmap) {} - QPixmap requestPixmap(const QString& id, QSize* size, const QSize& requestedSize); + QPixmap requestPixmap(const QString& id, QSize* size, const QSize& requestedSize) override; void setSecurityImage(QPixmap* pixmap) { _securityImage = pixmap; } From d398adc1950f3c0b80c100fd0aaab03f62303839 Mon Sep 17 00:00:00 2001 From: David Kelly <david@highfidelity.io> Date: Thu, 24 Aug 2017 08:48:26 -0700 Subject: [PATCH 27/29] warnings --- interface/src/commerce/Wallet.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/interface/src/commerce/Wallet.cpp b/interface/src/commerce/Wallet.cpp index fb81aeff5a..5fefd0c43b 100644 --- a/interface/src/commerce/Wallet.cpp +++ b/interface/src/commerce/Wallet.cpp @@ -262,18 +262,18 @@ bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFile // TODO: add error handling!!! if (!EVP_EncryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) { qCDebug(commerce) << "encrypt init failure"; - delete outputFileBuffer; + delete[] outputFileBuffer; return false; } if (!EVP_EncryptUpdate(ctx, outputFileBuffer, &tempSize, (unsigned char*)inputFileBuffer.data(), inputFileBuffer.size())) { qCDebug(commerce) << "encrypt update failure"; - delete outputFileBuffer; + delete[] outputFileBuffer; return false; } outSize = tempSize; if (!EVP_EncryptFinal_ex(ctx, outputFileBuffer + outSize, &tempSize)) { qCDebug(commerce) << "encrypt final failure"; - delete outputFileBuffer; + delete[] outputFileBuffer; return false; } @@ -286,7 +286,7 @@ bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFile outputFile.write(output); outputFile.close(); - delete outputFileBuffer; + delete[] outputFileBuffer; return true; } @@ -313,25 +313,25 @@ bool Wallet::decryptFile(const QString& inputFilePath, unsigned char** outputBuf EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); if (!EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) { qCDebug(commerce) << "decrypt init failure"; - delete outputBuffer; + delete[] outputBuffer; return false; } if (!EVP_DecryptUpdate(ctx, outputBuffer, &tempSize, (unsigned char*)encryptedBuffer.data(), encryptedBuffer.size())) { qCDebug(commerce) << "decrypt update failure"; - delete outputBuffer; + delete[] outputBuffer; return false; } *outputBufferSize = tempSize; if (!EVP_DecryptFinal_ex(ctx, outputBuffer + tempSize, &tempSize)) { qCDebug(commerce) << "decrypt final failure"; - delete outputBuffer; + delete[] outputBuffer; return false; } EVP_CIPHER_CTX_free(ctx); *outputBufferSize += tempSize; *outputBufferPtr = outputBuffer; qCDebug(commerce) << "decrypted buffer size" << *outputBufferSize; - delete outputBuffer; + delete[] outputBuffer; return true; } From 3d0fd76997642be8d019b450582d59d8fedac0c2 Mon Sep 17 00:00:00 2001 From: Zach Fox <fox@highfidelity.io> Date: Thu, 24 Aug 2017 10:24:06 -0700 Subject: [PATCH 28/29] Temp fix for inventory and buy --- .../resources/qml/hifi/commerce/Checkout.qml | 52 ++++++------------- .../resources/qml/hifi/commerce/Inventory.qml | 47 ++--------------- 2 files changed, 19 insertions(+), 80 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/Checkout.qml b/interface/resources/qml/hifi/commerce/Checkout.qml index 55bd6cb4c6..d33d46fab2 100644 --- a/interface/resources/qml/hifi/commerce/Checkout.qml +++ b/interface/resources/qml/hifi/commerce/Checkout.qml @@ -17,6 +17,7 @@ import QtQuick.Controls 1.4 import "../../styles-uit" import "../../controls-uit" as HifiControlsUit import "../../controls" as HifiControls +import "./wallet" as HifiWallet // references XXX from root context @@ -30,28 +31,29 @@ Rectangle { property string itemHref: ""; property int balanceAfterPurchase: 0; property bool alreadyOwned: false; + property int itemPriceFull: 0; // Style color: hifi.colors.baseGray; Hifi.QmlCommerce { id: commerce; onBuyResult: { - if (result.status !== 'success') { - buyButton.text = result.message; - buyButton.enabled = false; - } else { - if (urlHandler.canHandleUrl(itemHref)) { - urlHandler.handleUrl(itemHref); - } - sendToScript({method: 'checkout_buySuccess', itemId: itemId}); + if (result.status !== 'success') { + buyButton.text = result.message; + buyButton.enabled = false; + } else { + if (urlHandler.canHandleUrl(itemHref)) { + urlHandler.handleUrl(itemHref); } + sendToScript({method: 'checkout_buySuccess', itemId: itemId}); + } } onBalanceResult: { if (result.status !== 'success') { console.log("Failed to get balance", result.message); } else { balanceReceived = true; - hfcBalanceText.text = result.data.balance; - balanceAfterPurchase = result.data.balance - parseInt(itemPriceText.text, 10); + hfcBalanceText.text = parseFloat(result.data.balance/100).toFixed(2); + balanceAfterPurchase = parseFloat(result.data.balance/100) - parseFloat(checkoutRoot.itemPriceFull/100).toFixed(2); } } onInventoryResult: { @@ -67,14 +69,6 @@ Rectangle { } } } - onSecurityImageResult: { - securityImage.source = securityImageSelection.getImagePathFromImageID(imageID); - } - } - - SecurityImageSelection { - id: securityImageSelection; - referrerURL: checkoutRoot.itemHref; } // @@ -89,20 +83,6 @@ Rectangle { anchors.left: parent.left; anchors.top: parent.top; - // Security Image - Image { - id: securityImage; - // Anchors - anchors.top: parent.top; - anchors.left: parent.left; - anchors.leftMargin: 16; - height: parent.height - 5; - width: height; - anchors.verticalCenter: parent.verticalCenter; - fillMode: Image.PreserveAspectFit; - mipmap: true; - } - // Title Bar text RalewaySemiBold { id: titleBarText; @@ -111,7 +91,7 @@ Rectangle { size: hifi.fontSizes.overlayTitle; // Anchors anchors.top: parent.top; - anchors.left: securityImage.right; + anchors.left: parent.left; anchors.leftMargin: 16; anchors.bottom: parent.bottom; width: paintedWidth; @@ -420,7 +400,7 @@ Rectangle { text: (inventoryReceived && balanceReceived) ? (alreadyOwned ? "Already Owned: Get Item" : "Buy") : "--"; onClicked: { if (!alreadyOwned) { - commerce.buy(itemId, parseInt(itemPriceText.text)); + commerce.buy(itemId, parseFloat(itemPriceText.text*100)); } else { if (urlHandler.canHandleUrl(itemHref)) { urlHandler.handleUrl(itemHref); @@ -456,11 +436,11 @@ Rectangle { itemId = message.params.itemId; itemNameText.text = message.params.itemName; itemAuthorText.text = message.params.itemAuthor; - itemPriceText.text = message.params.itemPrice; + checkoutRoot.itemPriceFull = message.params.itemPrice; + itemPriceText.text = parseFloat(checkoutRoot.itemPriceFull/100).toFixed(2); itemHref = message.params.itemHref; commerce.balance(); commerce.inventory(); - commerce.getSecurityImage(); break; default: console.log('Unrecognized message from marketplaces.js:', JSON.stringify(message)); diff --git a/interface/resources/qml/hifi/commerce/Inventory.qml b/interface/resources/qml/hifi/commerce/Inventory.qml index 8f22e7de0f..b422d308ba 100644 --- a/interface/resources/qml/hifi/commerce/Inventory.qml +++ b/interface/resources/qml/hifi/commerce/Inventory.qml @@ -17,6 +17,7 @@ import QtQuick.Controls 1.4 import "../../styles-uit" import "../../controls-uit" as HifiControlsUit import "../../controls" as HifiControls +import "./wallet" as HifiWallet // references XXX from root context @@ -33,7 +34,7 @@ Rectangle { if (result.status !== 'success') { console.log("Failed to get balance", result.message); } else { - hfcBalanceText.text = result.data.balance; + hfcBalanceText.text = parseFloat(result.data.balance/100).toFixed(2); } } onInventoryResult: { @@ -43,14 +44,6 @@ Rectangle { inventoryContentsList.model = result.data.assets; } } - onSecurityImageResult: { - securityImage.source = securityImageSelection.getImagePathFromImageID(imageID); - } - } - - SecurityImageSelection { - id: securityImageSelection; - referrerURL: inventoryRoot.referrerURL; } // @@ -65,20 +58,6 @@ Rectangle { anchors.left: parent.left; anchors.top: parent.top; - // Security Image - Image { - id: securityImage; - // Anchors - anchors.top: parent.top; - anchors.left: parent.left; - anchors.leftMargin: 16; - height: parent.height - 5; - width: height; - anchors.verticalCenter: parent.verticalCenter; - fillMode: Image.PreserveAspectFit; - mipmap: true; - } - // Title Bar text RalewaySemiBold { id: titleBarText; @@ -87,7 +66,7 @@ Rectangle { size: hifi.fontSizes.overlayTitle; // Anchors anchors.top: parent.top; - anchors.left: securityImage.right; + anchors.left: parent.left; anchors.leftMargin: 16; anchors.bottom: parent.bottom; width: paintedWidth; @@ -98,25 +77,6 @@ Rectangle { verticalAlignment: Text.AlignVCenter; } - // "Change Security Image" button - HifiControlsUit.Button { - id: changeSecurityImageButton; - color: hifi.buttons.black; - colorScheme: hifi.colorSchemes.dark; - anchors.top: parent.top; - anchors.topMargin: 3; - anchors.bottom: parent.bottom; - anchors.bottomMargin: 3; - anchors.right: parent.right; - anchors.rightMargin: 20; - width: 200; - text: "Change Security Image" - onClicked: { - securityImageSelection.isManuallyChangingSecurityImage = true; - securityImageSelection.visible = true; - } - } - // Separator HifiControlsUit.Separator { anchors.left: parent.left; @@ -307,7 +267,6 @@ Rectangle { referrerURL = message.referrerURL; commerce.balance(); commerce.inventory(); - commerce.getSecurityImage(); break; default: console.log('Unrecognized message from marketplaces.js:', JSON.stringify(message)); From a299aa7e2407bfbef5c9953b586dcebf67702623 Mon Sep 17 00:00:00 2001 From: David Kelly <david@highfidelity.io> Date: Thu, 24 Aug 2017 11:37:44 -0700 Subject: [PATCH 29/29] initialize ptr! --- interface/src/ui/ImageProvider.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/ui/ImageProvider.h b/interface/src/ui/ImageProvider.h index d9da75ece5..c0b620585a 100644 --- a/interface/src/ui/ImageProvider.h +++ b/interface/src/ui/ImageProvider.h @@ -25,7 +25,7 @@ public: void setSecurityImage(QPixmap* pixmap) { _securityImage = pixmap; } protected: - QPixmap* _securityImage; + QPixmap* _securityImage { nullptr }; };