From 477b19782a5a2e067682d0bd7adbfc5af1828409 Mon Sep 17 00:00:00 2001 From: Mohammad Shahbaz Alam Date: Wed, 9 Apr 2025 16:07:26 +0530 Subject: [PATCH 01/11] Add X Demo --- .../gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 43583 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 +- .../sfa-android-quick-start/gradlew | 285 +++++++++++------- .../sfa-android-quick-start/gradlew.bat | 37 ++- .../project.pbxproj | 12 +- .../UserInterfaceState.xcuserstate | Bin 60710 -> 66304 bytes .../GoogleService-Info.plist | 6 +- .../ios-firebase-example/Info.plist | 17 ++ .../ios-firebase-example/LoginView.swift | 2 +- .../ios-firebase-example/ViewModel.swift | 60 ++-- 10 files changed, 272 insertions(+), 154 deletions(-) create mode 100644 single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Info.plist diff --git a/single-factor-auth-android/sfa-android-quick-start/gradle/wrapper/gradle-wrapper.jar b/single-factor-auth-android/sfa-android-quick-start/gradle/wrapper/gradle-wrapper.jar index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..a4b76b9530d66f5e68d973ea569d8e19de379189 100644 GIT binary patch literal 43583 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 yu?e%!_ptzGB|8GrCfu%p?(_ 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 GZ~q4|mN%#X literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM diff --git a/single-factor-auth-android/sfa-android-quick-start/gradle/wrapper/gradle-wrapper.properties b/single-factor-auth-android/sfa-android-quick-start/gradle/wrapper/gradle-wrapper.properties index 4b558e82..d96302af 100644 --- a/single-factor-auth-android/sfa-android-quick-start/gradle/wrapper/gradle-wrapper.properties +++ b/single-factor-auth-android/sfa-android-quick-start/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ -#Thu Apr 13 13:56:35 IST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists \ No newline at end of file diff --git a/single-factor-auth-android/sfa-android-quick-start/gradlew b/single-factor-auth-android/sfa-android-quick-start/gradlew index 4f906e0c..f5feea6d 100755 --- a/single-factor-auth-android/sfa-android-quick-start/gradlew +++ b/single-factor-auth-android/sfa-android-quick-start/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,69 +15,104 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +122,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,88 +133,120 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/single-factor-auth-android/sfa-android-quick-start/gradlew.bat b/single-factor-auth-android/sfa-android-quick-start/gradlew.bat index ac1b06f9..9b42019c 100644 --- a/single-factor-auth-android/sfa-android-quick-start/gradlew.bat +++ b/single-factor-auth-android/sfa-android-quick-start/gradlew.bat @@ -13,8 +13,10 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +27,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,13 +43,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -56,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -75,13 +78,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj index 6ce89bf3..c7ccd032 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj @@ -8,7 +8,7 @@ /* Begin PBXBuildFile section */ 0D005DFA29CCB28100F7F4F7 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 0D005DF929CCB28100F7F4F7 /* FirebaseAuth */; }; - 27B35B442A3F5A3C0004BB99 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 27B35B432A3F5A3B0004BB99 /* GoogleService-Info.plist */; }; + 27B1B8EF2DA680EE004B68AD /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 27B1B8EE2DA680EE004B68AD /* GoogleService-Info.plist */; }; 284BD7472D7EA570002DD6CA /* SingleFactorAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 284BD7462D7EA570002DD6CA /* SingleFactorAuth */; }; 28A9039F2BC3CD6F002C0DB5 /* EthereumClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A9039E2BC3CD6F002C0DB5 /* EthereumClient.swift */; }; 28A903AF2BC3DDFC002C0DB5 /* web3.swift in Frameworks */ = {isa = PBXBuildFile; productRef = 28A903AE2BC3DDFC002C0DB5 /* web3.swift */; }; @@ -42,7 +42,8 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 27B35B432A3F5A3B0004BB99 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 27B1B8EB2DA67566004B68AD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 27B1B8EE2DA680EE004B68AD /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 28A9039E2BC3CD6F002C0DB5 /* EthereumClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EthereumClient.swift; sourceTree = ""; }; 4D9FEEE1294BAC380035414D /* ios-firebase-example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ios-firebase-example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 4D9FEEE4294BAC380035414D /* ios_firebase_exampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ios_firebase_exampleApp.swift; sourceTree = ""; }; @@ -118,13 +119,14 @@ 4D9FEEE3294BAC380035414D /* ios-firebase-example */ = { isa = PBXGroup; children = ( + 27B1B8EB2DA67566004B68AD /* Info.plist */, 28A9039D2BC3CD55002C0DB5 /* Helpers */, 4D9FEEE4294BAC380035414D /* ios_firebase_exampleApp.swift */, 4D9FEEE6294BAC380035414D /* ContentView.swift */, 4D9FEEE8294BAC3A0035414D /* Assets.xcassets */, 4D9FEEEA294BAC3A0035414D /* Preview Content */, 4D9FEF11294BACB10035414D /* ViewModel.swift */, - 27B35B432A3F5A3B0004BB99 /* GoogleService-Info.plist */, + 27B1B8EE2DA680EE004B68AD /* GoogleService-Info.plist */, 4D9FEF13294BACC90035414D /* UserDetailView.swift */, 4D9FEF15294BACD80035414D /* LoginView.swift */, ); @@ -271,8 +273,8 @@ buildActionMask = 2147483647; files = ( 4D9FEEEC294BAC3A0035414D /* Preview Assets.xcassets in Resources */, - 27B35B442A3F5A3C0004BB99 /* GoogleService-Info.plist in Resources */, 4D9FEEE9294BAC3A0035414D /* Assets.xcassets in Resources */, + 27B1B8EF2DA680EE004B68AD /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -464,6 +466,7 @@ DEVELOPMENT_TEAM = 9748CA473J; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "ios-firebase-example/Info.plist"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; @@ -493,6 +496,7 @@ DEVELOPMENT_TEAM = 9748CA473J; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "ios-firebase-example/Info.plist"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index 96864fc511c87c2713dcc4b888666eff2b102603..f370edc596e4dc22d5f691394d4e19551b84d5fc 100644 GIT binary patch literal 66304 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 H6YBo~)om^c literal 60710 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%0Am_a6LJLVsc15JasCz+)d}*&Y#D^U^kvT!9>;7 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 diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/GoogleService-Info.plist b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/GoogleService-Info.plist index f96861ff..372aae37 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/GoogleService-Info.plist +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/GoogleService-Info.plist @@ -7,7 +7,7 @@ REVERSED_CLIENT_ID com.googleusercontent.apps.461819774167-4o61nkm60k8rao4vbvcer22j66li9sco ANDROID_CLIENT_ID - 461819774167-l7oslag3sa2vllbl1b9ghhcf6e6rhvjj.apps.googleusercontent.com + 461819774167-93iair46nluf28pdbpmqq65eqktdbb7g.apps.googleusercontent.com API_KEY AIzaSyAttkINEO4AWRc2jJDHa5fPYp_1EtujcH0 GCM_SENDER_ID @@ -19,7 +19,7 @@ PROJECT_ID web3auth-oauth-logins STORAGE_BUCKET - web3auth-oauth-logins.appspot.com + web3auth-oauth-logins.firebasestorage.app IS_ADS_ENABLED IS_ANALYTICS_ENABLED @@ -32,5 +32,7 @@ GOOGLE_APP_ID 1:461819774167:ios:605db7054cfea4715b9c92 + DATABASE_URL + https://web3auth-oauth-logins-default-rtdb.asia-southeast1.firebasedatabase.app \ No newline at end of file diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Info.plist b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Info.plist new file mode 100644 index 00000000..fe297515 --- /dev/null +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Info.plist @@ -0,0 +1,17 @@ + + + + + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLSchemes + + app-1-461819774167-ios-605db7054cfea4715b9c92 + + + + + diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift index 24350e49..2a32c17c 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift @@ -9,7 +9,7 @@ struct LoginView: View { vm.loginViaFirebaseEP() }, label: { - Label("LogIn", systemImage: "arrow.right.square.fill") + Label("LogIn with X", systemImage: "arrow.right.square.fill") .foregroundColor(.green) } ) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift index e4ac4c7c..b14ed31b 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift @@ -62,42 +62,64 @@ class ViewModel: ObservableObject { await MainActor.run(body: { isLoading = false - navigationTitle = loggedIn ? "UserInfo" : "iOS SFA QuickStart" + navigationTitle = loggedIn ? "UserInfo" : "iOS SFA X Demo" }) } func loginViaFirebaseEP() { - Task{ + Task { do { - // IMP START - Auth Provider Login - let res = try await Auth.auth().signIn(withEmail: "ios@firebase.com", password: "iOS@Web3Auth") - let id_token = try await res.user.getIDToken() - // IMP END - Auth Provider Login - - // IMP START - Verifier Creation + // Twitter OAuth Provider Setup + let provider = OAuthProvider(providerID: "twitter.com") + + // Use async version to get credential + let credential: AuthCredential = try await withCheckedThrowingContinuation { continuation in + provider.getCredentialWith(nil) { credential, error in + if let error = error { + continuation.resume(throwing: error) + } else if let credential = credential { + continuation.resume(returning: credential) + } else { + continuation.resume(throwing: NSError(domain: "FirebaseAuth", code: -1, userInfo: [NSLocalizedDescriptionKey: "Unknown error getting credential"])) + } + } + } + + // Sign in with Twitter credential + let authResult = try await Auth.auth().signIn(with: credential) + let uid = authResult.user.uid + let idToken = try await authResult.user.getIDToken() + print(authResult) + print(uid) + print(idToken) + guard let uid = authResult.user.uid as String?, idToken as String? != nil else { + throw NSError(domain: "FirebaseAuth", code: -2, userInfo: [NSLocalizedDescriptionKey: "Missing UID, or Id Token missing"]) + } + + // Verifier name let verifierName = "w3a-firebase-demo" - // IMP END - Verifier Creation - // IMP START - Get Key + + // Get Web3Auth key let result = try await singleFactorAuth.connect( loginParams: .init( verifier: verifierName, - verifierId: res.user.uid, - idToken: id_token + verifierId: uid, + idToken: idToken ) ) - // IMP END - Get Key - print(result) + + // Continue with Ethereum client setup and UI update ethereumClient = EthereumClient(sessionData: result) getBalance() - - await MainActor.run(body: { + + await MainActor.run { user = result.privateKey loggedIn = true navigationTitle = "UserInfo" - }) - + } + } catch { - print("Error") + print("Login error: \(error.localizedDescription)") } } } From 3c44873b198a463425d83c0d4058367eab76ec3f Mon Sep 17 00:00:00 2001 From: Mohammad Shahbaz Alam Date: Wed, 9 Apr 2025 20:17:26 +0530 Subject: [PATCH 02/11] Updated UI --- .../UserInterfaceState.xcuserstate | Bin 66304 -> 63414 bytes .../ios-firebase-example/LoginView.swift | 28 +++- .../ios-firebase-example/UserDetailView.swift | 155 +++++++++++------- .../ios-firebase-example/ViewModel.swift | 25 ++- 4 files changed, 143 insertions(+), 65 deletions(-) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index f370edc596e4dc22d5f691394d4e19551b84d5fc..7e2c40a804e100d540b30b9120623c22a424f363 100644 GIT binary patch delta 28533 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 QU%&rxRNw#c|M#ruzuITSw*UYD delta 30297 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 I{ Date: Wed, 9 Apr 2025 20:25:51 +0530 Subject: [PATCH 03/11] add tap to reveal --- .../UserInterfaceState.xcuserstate | Bin 63414 -> 63414 bytes .../ios-firebase-example/UserDetailView.swift | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index 7e2c40a804e100d540b30b9120623c22a424f363..9994de45f0e162c9c206824ae4fdea4f6c5d5f33 100644 GIT binary patch delta 1327 zcmaizZA=tL7{_;aZtplbZg1N2c#SU*1GYi~LRp4@HjP51N`(X4a=hFfS9|v4T6U4p ze(;92*3!m;BUeKq3VdkwQV=!}G=WI1O?NR>G(-!*msITwq(YitY)#ueK-vVGewj=r z|7Yfz-}C?X-vj;kz^NvNCEy5Xmi$a~NZ4-pI&{N5unJbgx22&Kv57{I&*Xufm}Y$4 zmGKxie^=_AFt8@#_YWH4umAy(V@_3zgkJaPe=X&YU z<%d8cWoZYWU^=`VG+{b|yoJ{4{oqr|a{RbYA`K{-c9QG7gTtm z=a_yM(O9*IIx)qlA~7RqY{gB)~c*BG7kNauMabKIvAIJm|PSsq)Uifp})Z7 zVP*<5(`0B66Pp;3nfAjwznq!dX81Ue<8XwuCaK8vS1C?^Z8`EkW>fZiHs&|9vG*?k zf8i|Y7FW~5(nax>WnIN&DjC3Fm)B&Xtdy6kr0i53wMJb%5UrBJET*he?OleLCy z!zNH01Od7*P)!g?+1(3qk%)EYW5xQxM=dMdrkmkh>TB{%S?IfdOG)V}U!NT4w6$YBa^z~eOa59?i#mVTN z;J)Bass`XrU`@}W0fuud5;{E^s;@Uq2GuOPq&D3)-Bs15JDAn|OI>=t3D6q|PJbZ| zmO<66ov<8MKs#pRF`Izd^_|cOE7ei4Phs}y;HdV)Hz*EzmjClHiGf~K`sQ-!e-Yoqz zvfZfvIejYq*Yp`al4OrZ>aOzN^Vj)Xq-=a++GNH9#2^ltQ8t7sIh!YMJzGfJ|Otvs)6QF4{-O1@H{SV_a&dJr>$I{WA7zX9)(?~?!k delta 1302 zcmah|YfKbZ7@e8Bv#_$StLw5#Bd~-5wvbo_hD$)i@GyX=ENEH^F6;_ap3bn8#@4x^ zE!C!_a0N-#Rv=AniLN+tOGzM5W78SZR%j>`W7Wn-6R6rWF)?jyXV*uYVAA{J`*Cy5 z{l4>^bA5M!?+!TA$*`T^22g8Q662ZBz$}Ko*Ydr4a+J;JJ z?Y75#-Ul6&^~4ELdVJ9Z4pY`XKrn6V1KpTjMRub|(uG#|`;$T?OgfKjdW%Q%2c}Kp zr(+4$wY5rCx2W^@Mm|l+QH%W^llFa59HG#(_azfAM9t(jUZSf=i z!b3heRdhZ`eQQx=k>7_SNw4Dx#VUN{%2Z(HhIp=DH_o^*bCX=-EX2#(^-P}b zTg)t|b})-%d^DbfaXUzq?=pnMY?VOgl|_t zC@E@cim<=kL%c#bJuZDOT(d@(U$@j{V6d~nY^EGk1LdNeR4WysRza;Cg{XB@k~H(~ z6|lmiPuFh*9{)zbX$;hWSV>KfQ;PlI1+CtrAHZN5gBkT!+S79hu;sTVKKV+@{;<|u z`jlCX8z_@8@&9Lik{csuOjWmUOi?$b$q#Ib*7`S6w?Wrt z>hpV~@%lYlZaQiDT(#cx8P*IvvVJ1RDxoi@LUe8B%YG!w29W0K=9?ZAUi1_8y!gm@%MU(e_1V>)@l_wq;i*REKvz#U8$^~+vyhC=#m2#upBEKfTE{k%zd`Nyz?vOj> g5qVKDC{`s(Nm4jvld@HDl0*06fPFG!z;}=S2P6~O#Q*>R diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift index 25f2be9d..a5cbbb1f 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift @@ -7,6 +7,7 @@ struct UserDetailView: View { @State private var showingAlert = false @State private var alertContent: String = "" + @State private var isPrivateKeyVisible = false var body: some View { if viewModel.isLoading { @@ -103,11 +104,26 @@ struct UserDetailView: View { Text(user) .font(.system(size: 16)) + .blur(radius: isPrivateKeyVisible ? 0 : 8) + .overlay( + Group { + if !isPrivateKeyVisible { + Text("Tap to reveal") + .foregroundColor(.blue) + .font(.system(size: 14)) + } + } + ) .padding() .frame(maxWidth: .infinity, alignment: .leading) .background(Color(uiColor: .secondarySystemBackground)) .cornerRadius(12) .padding(.horizontal) + .onTapGesture { + withAnimation(.easeInOut(duration: 0.2)) { + isPrivateKeyVisible.toggle() + } + } } Button(action: { From 4862bc3d2b7ac79b343a5cfc6780244719e15920 Mon Sep 17 00:00:00 2001 From: Mohammad Shahbaz Alam Date: Wed, 9 Apr 2025 20:46:58 +0530 Subject: [PATCH 04/11] fix walletUI chainConfig --- .../UserInterfaceState.xcuserstate | Bin 63414 -> 64630 bytes .../ios-firebase-example/ViewModel.swift | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index 9994de45f0e162c9c206824ae4fdea4f6c5d5f33..d4ee3e713d2d68543322377a4a39b50ce78934cf 100644 GIT binary patch delta 22484 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%0DtYW9) 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 Cy-JDz delta 21895 zcmbTecU%)`*Z&_f6Ov5H%!qUl6+1{rAcFKFf`Bvu>Cyx#(xgao0iq%zYlK~;NtY&7 z#I>!x_g&Yu_qDgR*WWcD?(^K<&-ag?FEc`NW#)X&d7pFDmv7!71J97MaJhLs5!(^U zNZwf9MBY^1Lf%T=QQk>54b75h@HP3S{26>RzB%85FXqqWTk@^=v-sA0d%i1w4&RMG zkMGS7;xFI_^P~9Dd?_FB^Z5n*LjH1o5q|}LC4Uvam|w~-=U4Kp_>KG~elx$D-^1_a z_wje|ck+Md|G~e&|C4`_{}=xf|1$py|0@3){}%rN{~`Z5|AmDAp8tXWQGf_gfrda+ zFh-yy7%Lbj7%$KkOb|>IOcG2J7z!)|V!=#-y}&`>DDV(?3cLjK1b%`*L4+VukR!+y zEED7jBm$`b2=WC5fRTqH~urU&q&2V#k7H*B(<4(96?v8umzIZT!hv1=j z1RjMi!}Da*_~RrS@k+c3uf}WeT6_~;hqvH8crV_E_v2gfJ@{|<0sIJl5&sLngkQ$5 z;8*b*_)Yu{{sI4pf5JcGU+}L4hma$<1VW&M8lg^T5SqjoLW>wnj3dSq+JqrtL>Ln$ zgeftDup{gV2f~qXBAf|#VlFX{@RktsiC7|zSVY7V3B+O|k;o=;h+JYBkw@ec1w=qcB8rLiL^)AG{7n2pY#^G5W}=1IOtcbRL^shx^b&)_c48N?o7h7fCXNtCi4(+0 z;ym#?afP@_TqE8Q?}-n@N8%IlnfO9{B{`%V$t4kzA|*7*kfTTiQi~i*jw8pD+T>Jn z8mUiOkYaKsX-QgO+n8A&cAqsVA7hKwcS$VFs4nLs9!QWB8)WC2-7 zE+>n~735m7jQok*NVbs!Cc;I8h!im*713DHIMH~Ku4uYQPoyt07MY2xMK&TA(QJ{cXs*a# z6e5Ze#fcV)5=BX(R8gjAsVG;pOjIta5dAFrMYKV*QB*0a5><<8M75#@QJbh&)F6}=OEqBxWs#iQgYic+F9sIk;I zYCJWGnnvkR`ji3XO3k6%D0gZuL5WYts{GJzAeOpbcqL+Jd&F?dUo5JbFI8fDWcZ z=m6i3B^eg%u{fXf*1T%_JV$_&1j25HKSTVC0 zYsQALW$YMx#({BUoET@ug>hrNnIL8X6U@Xgu}mDZh)HCYFxgBFvzjTfW7aUG%vz?5 z`H9)UY-BbubxbSM#%y7_m;q)d^BZ%3Il>%ePBQ12-an2Q<&U(S>1%Cvb@eQvUFNOZq?9l+qNt8DKkz)u!mftT#{Te$6IcRT&i3eXP#UJ z$4hRhT$WrmXTDsn+%ma5ISI#84#?%p704Az6Q#-0B~m46nlwYYRH`M-mgY+Hq?%Hx zR9%`cEtD2Xr%G2!i=`#fQmLx!SIxMI;{ewTa6JHbA>c{?w*qk60rxk+JrB6g0U`v5 z20--tT*jPH6>;YvUOFIF`BeK$>QaxyT zxABJJ#k9@CRnw=enDtX(rnKighvbN0<5}{y9Hn}0guIP(E0DWY&yA9|mu>@cw`D8m zY4kOEbLIH?K<+U#UsiK$oa~g3<;dqZ#VUPMe2;O*@&-8u97FkYoSA@2OPi%F5DTsX zkUKI23RkP|rj?JJEG9rnN&YU!fPDe(C`b)^k?PQ9GFd>Xg8W-<1mG%5x7N#l;6?$i zigcUI)>J{J8+d?5%xa!!PqHHi)@>-om5UnI1*seNbo=NUW;kV48K*A2`p4q#?~3?} zd=*yF627u@C*Y1{6@7q;xGFMeaU_2Xe=5hajjzQY%OA%d&)4Qp;7{aF;!oyJ0o?I` zs|~ml0CytbP6FJ?fD7N83b@k%SEr3XjWd&D$T8&WaZ6aid?Qw{?ucLm>A7LOrbBvX z^KCc*b$naEoi5cm$GV#DzzJyNJEEibj(iuu)dO;~*eh2b`T(P+eG3TRo$tX>s^iZE zT*ErPC*T^%URX|2;rsCYp(?&F>m_68CH{OldB8Q1H3yGT4dI6mD-L57�G^=g*gV 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 J{J%|A{{igefZ_lE diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift index 5ef425d2..825e3275 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift @@ -22,7 +22,7 @@ class ViewModel: ObservableObject { @Published var navigationTitle: String = "" @Published var isAccountReady: Bool = false - var chainConfig: ChainConfig = ChainConfig(chainId: "0x01", rpcTarget: "https://eth.llamarpc.com") + var chainConfig: ChainConfig = ChainConfig(chainId: "0x11155111", rpcTarget: "https://1rpc.io/sepolia") init() { Task { From 19919b68fe568adfd7e1e7e5a56acd954590dc08 Mon Sep 17 00:00:00 2001 From: Mohammad Shahbaz Alam Date: Thu, 10 Apr 2025 09:49:24 +0530 Subject: [PATCH 05/11] Updated UI --- .../UserInterfaceState.xcuserstate | Bin 64630 -> 68512 bytes .../ios-firebase-example/LoginView.swift | 50 +++++++++++++++--- .../ios-firebase-example/ViewModel.swift | 8 +-- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index d4ee3e713d2d68543322377a4a39b50ce78934cf..56efe826da823c1d8270ded31268fec3591afc8e 100644 GIT binary patch literal 68512 zcmeEv2YeJo`~Obaz1zNbq1PZ?NJ8jMBqRYMEfRW*M{ z6cG!Gy#tE9_l{z(|7Uh@LrDm{?+;(z|N8+xcS&|5QWzzS z7V?B+gfYTcVVp2SI8F!&^MnOLsZb%DAXEwqg{8uY!l{BSEECQU&JoTPE)*^jE)y;n zt`e>mt`%y9wZbjJt-@`>?ZW56*TOf#_rgx$XWW+>?=_mvBL4DCcGzcAqhM^HC8;wGv(O5JN9g8NSDQGI1iDseWPzZ%l z2|6AvK&PW+=nQlwIt!hR&Ozs*^U(R|0(1#lj;=;4&^4$AtwJ}V+tD59PIMQ#7i~Zf zqKD8U=xOu}dKSHaUPLdUE$DUh26_{{gMLCkqhHXk=r{B``UCxm{z89a0aL8v01o0- zxHWEr+v3i+3m%4##=~(I9)YuQ4$j3R@hChRkHrOe5}u5w;8}P!4&xF$4@YqYJ{O;d z&&L;)n3VcoTjEKZ>8h&*Bg9 zNBCp>3H}s+hCjz&;4kr4_-p(f{ssSq|0X`-Co&0;AUTrsAU#PMNhcYk7s({ONgvXe z3?xUB;UtTUAfrhhIhIT$1!N|fMHZ4pWHDJnmXZ_6N#ta53OSY7gpo7I`Q%b^8M%gB zORgg~ku~IIQcLb4ca!JI3*<%e64^qwl5ON=@(S5bUL~)Qx5$U&Bl0o%ntVgPB|np2 z$gh-8N<}JBg&NeP?P)6QK#!muX(!s5rqOhoL3`0mI)DzOgXmE-myV=!Xdyk0hUi>c zM2l&dme6^0J}sqjnxK{RM0yfkM$e#U(hKQD^d`E7-b`!hT6zn;mEJ~gr+3gh={@uT z`XGIXK1Ls>&(jy^i}WS>8hxF9N57{#=@0Zr`V;+`{z8AHztP|6-=ZY?L|rt*W@2-( zh1gQ;ARZwO6^{~!iARgW#Vm1zm@Vdrx#CFi81Yzfx;R6eDHe&vVpxod72*kEOk5}~ z70(sV6VDef5HA!j5-%2)i&u*`h%3c4;?3eC;-lhb@iFmn@d@!s@hS0X@fq=1@kMdF z_?Gy#__6qj_>K6j z3Td5mk94oJUb;`(Al)x*lpc^Clpc~Em7bPflwOivlU|qJkUo+=mOha_mA;jB`20TE zr}$K#=F@$K&-7WofG_B4=4`U{d`!ak3d;@*?zGHn8eFeTrzRA8RzNx-x zzUjUhzB#_Iugq8Oi~1J%7WTl+6=Wp*%^>_1k_h

__O^v{#^e^|0w@xf1dvs{}}%S{}lgJ|7`yp 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

__O^v{#^e^|0w@xf1dvs{}}%S{}lgJ|7`yp ze~Evdf4;xMe}exU|GED2{O9{G@L%Y^$bYf_691+C%ludQulKL=-{`;9f1Cea|9bz6 z{+Ik){9FCo{4e`o@o)FP>VM7uy8mteNB%GTU;20YfAIh4|I`1M+)QpRw~$-Pt>o5n z8@a9APHr!!%AMpMa!TK;@=AG)e6#$B{HVNHeoTH`enNgyeoB5?enx&) zeo@{ozbd~bzb?NkzbAhte=dI^e<^<@{~-UUn2MzYl%SHLG*Ox=&6MU!3#FyfR_Ua4 zR=OzZN`}%)8LSLZhAKxXSxT-lP8qLEPzsgfl#nu4DN>4+uu`U!D+#4iIaxVHIa4`T zIZwGrxma1DT%%m8T&G;GR4X?sYm~c`yOs6I{mLfgG39Y(i?UVOro61YqHI@QRo+xS zR6bHZR=!rgQNC4nDBmeRDZilUt5eiDYM~ldBkJ+$De9@JtupmA^>lTadWL$YdX9R5da-(mdZ~J) zdaZh$x>BuHYt)<6Th-gt+ts_(4eEpHlj>9I)9N$oOX?Q&74Dp*+5)XqE7Qugs20=W+CuGo?E>vW?IP`B?Go)$?K16h z?F#Km?H27;?KbUp?GEiu?Jn(ZZJl{jCc+(oNmc1A0(T(VOTk^;UXoy}jN;@2U6E2kC?LVfqL? zTOXy5(Z}lJ^kemjdVxMkpQ9J*$LS$`u3n@^^$Pt2J*LO?CHhkRMExY)*3Z<>($CY+ z*Duho(67|5(pTu$=v8{PUaPOwZ_%I7pVXhypVptzpVgn!pVwc|U({dHx9G3vuj_B< zZ|d*rAL={xAM_vfpY)&gU-Vz~-wbMqhGh7RfYHI|W^^|)j6OzRqn|Oz7;FqPjyAH5 z9AmUG));3@GzyGKMyXL|lp9f_!Z^W*8F3?FR2mD7r3N$3G0rv4Gp;bMG_Eq18`l~u zjWx#2#+}Ap#@)txW0Ucu@s#m`vDMgaykWd)ylcE?d~WP8el~tL{xAg-nW8D1ifNdp zX_?*3?>Z53{G4W~Q4NW-l|->}~cpk1})3k>)6Kf|+m5FlU;x%-Lqh44Y+UxfwMV zo2Qy*nCF=1niravnwObZnaj<)%)8BX<~`=U=6dr!bAx%mxzT*Ue9(Nve9C;u++uDu z-!R`aKQ=!xKQ%uyzcP1Nf`u$>5sO-)C0T}LT1~BHRy(V`m1=djdRhIg!PXFKs5RWm zv2v|E>lmxp3R@-CJZrucv5vPESfy5(Rc=MCxV6+e%{tv$W}Rt1WUb)U7#dc=Ctddhmq+G4$7y>ESLeQAAV?XZ5ZezbnIezX3v{th$` zvGjLX*Do`D$39Jg-7+4*+DX=DRbD%b`HgHSej==iB!+}kK zM*`0Vo(nu5cpA@MnnZa4X*}*x%!eCMG_+Ts;4<>@A1WygxK^8nC zcuw$=;HAM8!E1sy1Xl)c3f>yLGk8yML-79KL&0Z)&jz0hJ|BD`_(t%};9J4BgYN`? z2>uxSDfn~nm*B6#--5pf{|Nq>LQ-gooRX5#B&BIevy|p3EmDq1>6p?frE^M;l%6S> zDMM0*rW}kX_Q^yyiF93aw6A{j+m>XJ_T4 zW%tYMmDV>iyKmZ{fqnXoN=p=L&x(Ho`ZbEnANL#ce+h_Z2*;Z`T)@?XX4os0pBJs%FNNFSi z4R$Vx#)`rtDkG)E&`wrq>Fx#Nc_rh+;o@*HxK|#XQzPZY(M3RNEBCjoSS(aN4<1>b z$O+G_oR?Q#5-qe+a?3+=OT&}q$HJlFQK8b(a10(60GhI+<%#g(ggXS#O#6w^csP*= z?Md$LBsOt7wr7DttJm02JdqtOt0)a8!o~UANsK3e3U>fTgyP@}^1*~|P7GH>V}KpA zAY2MV5H7CkMDxAJdwi%Y?2L4i5kUHaifE)f5qAoKBU!xF!Si@wdaW=)$QOT3$ zt0Yny26{6l$6+oq;`2lE=Z2PMjEW>iSI*5?6rS5BRGFBcRuqke(-uS$Y2n2oK6g+u zQa-OVoK_Ml0(MAq3PqxDxg?YZKhsXAj1( z1Ru@%&in!R!057 z>)g9nx6JPKhwxH|)*}n8ml~#ZY-DaM6kC#!6J8iDje=yzn8rmu{2c>LP@EG=gc=lb zX+{Nc@Eo^ZTMKszcL{e3>x6rRdxiDFeZmIeeqp2VfbgL3knpgu zNq9tfRM;#$COj@YAv_6o$ zJ=vaWPq$~Uzr*m)_C>q1|5px6_5UAasoi_|ozu&K zh1Mkv3yy!=jB+?1OsP6ikhHrR6f+rORIt@1CnBZs`gXui4w-`stp^$=^WTrdmWdD0mX~4^HKvSm$3mi9Oq~nD+ zz;Sp1e8GB{L5kD05rtM|!(H2(Su4sbJZ~k=`L1E!rW~E`ab6_&@dGJHYAFr2hnyH=@ReI#f(K)E3_U6iSvu=CnfViiQEOw{AON zS#-e61VXFO(}RUcYc;E)qW-*&bV!|1Xg%LBssCZD{_7UT-X=%=E{<`!IIGZFe~`O) z&}_eb+S~Ozlkaq9PN8*1!=3r(p|wv9H`yWWxI(M^z)1T)SakcOVTMD)+(PTZ1Eb-9 zIqzSy0vd}0qe6#9SP%N=E#Lj=)MAH}l0s`^!^8C-=6*h{F68&4sgjzjK6^x*4$VJ= zW=zAn!CAybrD%~bv=)`2auh`s=mZo)ag;!nXrX<)y}&ND%j|MHYFF4N*fBd^ixvw* zV2LynorF$Cr@&7emPiw@{<#?bFR{Q7l?o>c$nKB_$BRYpA98Zly{irvUE)4xGzJf8oI++W8NQ)9(KsmLU6+fkt#KxbR4X*A zK{uf_=w|z5`xN`s8nhPOf^M~K`!xG>{-7@Px>d2)lev8dqnC8p`4lJ7va8^v=#rdB zod35C%8iTPX6-LNfY9lB>0EXr0^MvCVyNrdAQEUU-0 zkEDH^k)3{S>vMZA*w(|enG@$m>(PA>=bk({FQ*!<7fQCG`=S2E`t?u$=m9FP8%LI> zei&2etFPOv5^bz_PeS$tkpP|p~OYBSS%k0bTE9@)ntL)|W)%J>7^kq^+e2aDfIy2Eu5E0iT zMZ|S>HQz{K*BllR&Nh+sI7q#NB_c2a5rMINZBj&Fu|W}$#0=K3AvCMPx_x~WHticY zx57S@{qQ_a!OZ|^xCz>9ue8ss#?8?ab`>Ca*_)Gn8Ip% z0+izBP_wFDU9Wss+#8UGyW#HmNZbSW#A!GkXW(8q(_U@gWUsMrwrlOR_AU0U_HFj< zwYZOqJUqZf9v%Y7yCaFbdy>ez|1k3Y0p#UzXZ;l+3fUW!k|C)p3$57`gfo9svINA1n_WA@|r z6ZVs9@hM5@orZScWnApxvjBWgCBgR`fNzT<_+I_rgI_mT%XL+Dek{B&xoan@axrX0 z1Lf!5ajdET1~Up@$&q@M{j`VF6&$J8;A{EEe#U;*`Sh? zaDX_i#kaaRy#;XkA_v{=fYX=i;}pH;J!l=iPZ(N*@4@%t_4ZbKoBeVP-T+A2Xukp~ zb30!>4?2s@$#IUS&xl6Lz_Q%)VgaZW9+e)!tvfJ0Tkm;0KT=)}8|&Pu>Ui`HS4ii3 zL~O=SxXki6Fw1NErrRt39DbF{=;!eZ_(l8@-h#K{ZTMyU3f^wNVZUj=Wxs8|W4~*^ zXTNWMV1HPPUrRE|TS*!H9&yf3rWW!hhJG9T@6~K!}5Sf&ulP1A2%EsQ;oq>MdUqKtv(B1301q;J(^-6|Z~> zX$OEKO-NJHj5H@LNK4X+v?gsxTl*XPTYHE7o&CMN)BeH!(f-N)xt6qd0Y^HzfFoT2 zaK9u0_ooXuhVWs;9ek^R^aI3^{`Rj)#F0UOI5LFraR4GR25n}ruzqGW8IPV|2m$u$*`;`Z_ozu^s*AiS_5}

gRN9HpmG9)qNW5~~t%#gy6%87xt1KCgkm|`K`OYBK;ps>hAbD23B=7>l6=%*TYK{Lu<$l zWF@I$s0BkU8ERF7H-fRS0Stx3U@(BO(3s-iuhr0irQtn&ExFC*n_D^GwBdZSobyey zee%sZvWfG}J>*`pp4>+^ko(C-@&I{|JVYL5s2xM?8A@fS14BnJ)RCc140UFx3qxHQ z>b90VlH{Am$rI#Bhi{(YeAC_In>2<7F*Mj^oMR3%P7y>&>%wUN=|ClUoiolG3?1n) z&f8qTABK7`)YJV2(I2oMDiqb~7u}$RqOUI<^T-_w z?)iG>A5CIBteNUM2g!k;7HuvJT}=ZtNK5U)Lq{<*jG?0$8orvlEVLDE zjW^P^+;L$ji=mPBc82o)T@R*Jox_t14QGeS7lz{e?GRW7*!$*guSdBh8kd7D_pUzy z78qg>NsfEn?n1i*XlPg3jiC_?WmnT9DWEuqpDMm7BMudio*8n+53^3UcHm4?FdDBDi?}# z09f=iE))yv3q|dHuhLocTo;Y!a5RP*spQqTm|nxtcnQ6fUPdpcSI{fzRdhMMnyz4| zh@oPJ!VHx#G>@VA3`H1%5m>-bX)V1riN=+*%0c5Qj>a+%jVCa)FbT&+hv9he-8gy| zhvVH0m3wf!m&0*Ay^ntw0z_80-vCE=&)b{thv_36j++>YRnbQoiXR{xpP)~>aD0lx zF~O1bEQe!deK@M?Iu7^msiU^gmt9?x*+U>bvWc?m<8GISY3mos#Q<1byw&{YgAXXxs+VlNk$ zVqf~D*q|)8M=X?>it0Uz?~m)mRRVbcn(MLN{+)2M{)fH*Z}G6QC1=z z56+J`Pn<7;O0HpO6+<`HhzrD0bSp!v8M^6^J3nGvFvUcDk7nq+c68ovBb4Pgzt$q~ z)_q5T^CK>TqKoSnojK^5i{JQSWaQSXGV-qL*sQnBy#Ajko(4XTc#?Rsc#3$cXp12I zZ)T{Lp|uR%!uTNE=J-6~8RD6{e4g7Gy7T{IpGUkzyd1DXyNV!Vz~{MR51(fb&&3<4 z72>sAwqC=~T@89TUb!l9l`9QvxHMeX2nxL#wcZQ||X9pathUEjnyv+5UIU%1OP-zl^`Gu zaD2U5>L_($2r&8felU69+F0r?_2ekrEcM{p_)S2el+LyBTlH;9>3ff|KGFct#!_FY zpVXhBcNl_z>U%ZPKxq(HMDH{7!6Dbi(s03)vg)hYD}H};#j48jr(b>5hvDtx-x&hh zSjvH-x%G>FxT#rn#e~r}U488W>8du&vYF*=YL)V&u@3V}V>t7E+{mzbV>VHm4csdg zNRy<=(iCZ`G)w|M;9VctFX+Cxfk-mPTldyjV)bKYG-hDb{!aL9LZ_iiUcKLG10){)+1 zGwF0tA`!ll{l~NTcmTII`(v1?B(%{Vg#n9gj3k)NM zF<(H&gkj3C$gs3lT9X9iEog^y8+YuaI{}i|mxLsiVF4K%j$em^hf(jk%1sRW zJydRP%%+i^k)GplgcC57D(QKK)dPg%7RiZXZI-rya=;o#)^0MYAmfn)ymf*Y%lVOYDz<+90So%!*(q)D(fEjQ~BP4tDekc9G1@rgPPU#2fN9iZ& zXXzK|SLrwDcZQoX+>GJo47XsoCBv;4Zq0BThTAgSu2%Zfred~n!HYLW+h&4CAeEyz3k!!Q_4J=|{)&1Q14eeHc6fD?SF40o*Z z9l>y?1LFi=7aw1ILz{iwI45)lSowNzPUupf6Yz5HVZD5P94z{Jb1Zgiq>@)-kS_9u~n$bA3!a;xHEf0W8ksSe(UhKM#wAjmcwQi7x`c@XhnhXLta^1FL<<`xY=f zh~c68!Q+8j_Pz>V+=Xn6Lv}DnUnPg^kOm;@E#CQ-`c47M-glz!B;UylAI0!6hL5iC zo$9mEtqc!mIO~vG_P(z?18r)`0CHU`n^&YXY*a;yVPabOE}ABH!^4*%P#l90c5qlt9>hc*Z8jWUFW;r zcY|-GugV8DP%gtG86L&(Xom9`K8E2j43A}a9K+*leXxGWUt;vFAy3ft@bebVvJ*U( zg%B+4CW?Yrj;9~y*?)j%@8>+bk>PxgXCLDF<6++>_&mz+u?$aiz6(HqbhNUpJa5LI z@;$?K$kPl@uJS$0@Ra@VtXJ%CYq_XUJ*w88YQ^uhQ$jw_HHJ$pJZ| zkxE{T4}4#9Kz``^$oH}D6W^!4&wQWzzVLnN`-))@QL`DI!*C(P$1xmYcrL?53>PyT zuJysfp##Y8lRD%l4#*M@kPvrI>X7oocs%%c^i#m29~`WCNj&=ffJeV9^x_|e=fhdg z{0q={Nph-)h zeD%tNc0cmNIcO)A}oO?k$C!HB>n?P9LtdiI_e}3iTQv;cS+k1 zYRO&FX82@)VheAsr}<}aC{Abi)GGf>hV27{VxfO7pvr$7L_9Eqh=;!jA|4nv{?vz} zb&~h6h`-c@;sOrEWgLp|`W>&fw_obji231Vx>|qSpYT`u7y1|Z7yFm^m-Y|Lm*MjmKA&M|_dU*aKgd1H39{|0{*2jNPFFRSu{{dM^Pf^fC}W>+4r;qvebz|(%VM)+^{-{m6k zPL9B<4xq+;{>>bL8~peCH~Js&Kj?qR|FD0P{}Dgf8do#Cg5hfzzLw$Z7`~q28yJRO zR54s#>whdM44+CO@Hvh^{^~lMcERwC9s+9*Bk&(U;2Ru)Z!&oA(p|gpzXJ%w6Qt(+ zW8V#{H|`gl#P7Ua?*G{TDaYU^46m;8f5z}l2Z+J1{NK75{Dxz24VP)(ahY~=J((6D zeY}VLg~JGkgcbcQSkz z!*?^hj^TS4zPDCZT^P!yY{>y3Q%>P9T<^i~eukf9_$iLarw;@1-~&(FVEDcy z5arI?Je(wV9~O!<%a4q3Bi_q6d%Ir!)L0f7$^b!m^(uRsQu;TDHot#3whf z#JBCp%9qw}9De7TZkJZw^jEMo#0=!oP&BW8%wWLvFRDYNtjn&-f6h+*`0K~&Vg~Y9 zc>*8gaomJ~<5a5Ud>Nd_#~FU2KI^vq#W_Vqp5mOM(s6jEyKS`YJydz7JjdZ^c{bAI;HV_DRQmM zH%7^8E!D0z##6+R#!zGN6e zM)3VLsFZG2XX|KB;=Cb4P^wCPli_cx8czF zP*J)m-5K#Q;;&YEC_NdG88Hu<<)dUO{lM~3dMkYt$S|TXqB5e@DE*ZI=vGE_MvOzg zTA~aSOy%hM<_x-U);%|`IOfs2He9xC$K2X}VEHH`plEjeqFY`We(6!4j6Ukj(ZhdB z%lzYpI?G2HspRoN9tFCESfE>!V<31#0u2RkT6CW-p4i2*_%paRqFsU#%CvVb(iG>BZ zV{@}7z5ATp zGxfyGzWw_3OdXIp@Z^&n7e%>2sj5;|GIAs%Zs@hZtlZjgUvF3L;C)SFB%SwlKV+=qWZc6@MjaXVxny|H*{D1y46RZgU?j6j zd5DoddqQ}#i;dp@9f`+W7(AgoD-2zwJgGdTJgq##2q=$!jPz$@z$)cA<$2`=l6Ol5=JPPR@XL`qzLJCPnhB0{Ejtpfa`@dnPJ7ztxZTO-Q*&98S zexiKNMee7{XN(-p$na|A3*}2jvKSd*Uo^!XnJMnX6k7EL2!^tu1THQoey{9=+^&1f z$lg;{qx_)!D8O;njTeK1SaYUK+PkvXg`bsQgrRU003^_IVf?%DCvcuH!3Hh$7b7F< z?x;xBz$H|%N>r+fs-*f7l#O=4tn zwc1j zO&?QdWUJ%Ud~V)tRwsbdOlCtwP@Tvlf@DrT`_8&4$(rg^6_#V+BxZFww+WAHtddvd zICU;?vl?P#Zk1ZZNbw$eRGshY(V|0`49ZDk7>7KbJb`h-I~YY>peBT&Yt&M;Of6TV zYK3}&8dKwpgc&JeWFCV<(MW`m;~81NNa-52QeCJnQWvXB)TQc)D&*2GVWetJp~$yZfo&Eh=K+5;(vmT;8ay!)j^5@;rlHVme%3rc(bT!` z=t}i0^=vT3${huuo~xb*Cw(Um&@KokYT(NGLJ1^ShCkf$7rNy^0pyLy%TA_(1yo76`bu^9oU>9iVkv-+6&I3uSsauy@-2EJ>w*ULff zCJc`|S-<-M#q|pCMB|Vep?J>>aAZtLM!brvZDC8c9lvP4H^JuIv6f5iB*QM+u^KBZh&&UPU>R0O549>|T7jeq}55yE&LyH$Cis8s%NPP^@ zj^uNSA+bSGcs?9@AC9HDeTc>fL+SwUVzOh=_*Q2MzE@v%hyKU2hV!9!F8=6V9CYfs zRrkY1uPeW3aJXr$`m6ez`n&pv`ltGr`nM)%NW+X=!pNnJT*e4^msc=yB_mfc0=#-P zBP(i!AsW1)AY^KOP1Y1m)ih1FLDD&=;xlqBBiAuXSmBI1ZE;AK`=aoTz`S|1!m66ioDVhCqGyC?k zzHlU`)>o;j(fVoqwE>KPfWCu~b-RS9Hdq@5!2oTDHdF&I?G{GBbi1tvovaPly23GD zpWl}3<^bk&NWbP~w4R*DpD_aD<~E~8&$RRmFu~mC?rOIVx2^WR zvs(w71#Ps9+J4@%%zmwFdiUvT%eG>xHT?$+v^86|o7yQ(-Vy#l-if-(5L_EykUfcC z9~lmDp#xS_0!)nfZbe#nMJDG>jzb=xx?5YD8N-HG9c>$S6aMTGxvi_Sb8OSLsz;8p z19p%?sNreOoz00*50FAJrfc)*1HO&XU|Du zqk8s4`13fhYJt=Pq3^<1dlz;(ed1cX*XC!xF0TNohZ31fw0g#sZeR0<~vX9(vD zR}0q&*9kWWHw$+_cJj@_uASzVMmwo$wcuk%d~KHmDtHk2;`^Xei1? zv(Zv?5`q)5(7EVBbTPUVU5=Kc6_AhUddNX^FM1vQfPO{4qd(E#Si&+^v5qYq#7%HB z+!r!N=oST3$1^@;nh zDETw_gGYMrcB~d{sy1zQoy`JfRj39oO&3aF2>D;0@R_NBGqxJ!Y*h6Q)=Pd0+ZX0oX=t;hq%XhMgFx-zgp(hy1G#CJoXX7ICK&OO@ z9c2+88H<*UFM!-tz{5Oyk>l6!d7J~Kr$)+)ql-qyfKS0Lsk@LD9|>Z*0L-K?WFQ;H zuSa7G;uT;UP72N4<%<>e$?cunr+@#fv_5@D^hxWR+b1V&U~bO9w44D0v-%Fq1haV{ zq;%&R(|r=u9ubO74aKLpsmG>967$_8kZ`Ba;^$u1J;|+6*dXn2m?;!>v~akt!k(mA zEq6UN8ZCuvS9#u3T`OdFigvrzrdMjO)XV|B2c~BB8ZZcc-~BHS`&VgId?uG`S8FS@ zYqV>%>$K~&8#J&(e{jXfH|d|IA2&mK2K0FKD010&ovSFrMf@4+g)e{;1W+&A4x>Qt|D`5 z=9R}Q9I?HtSY1s=-_7EQFLJ_jDU zNPa`(`&~4k@!cv7=z5R4`}?c~KDG9~_JQ^x9HavW#c;Wh&%--ls>i}{Frb}P6h=N^ zsYE|7wIKUFNBE!_?IMEz#raBMg zZ4O^_^u@){SfELD5Db_m`RkWH*!Or(U z(EH_{OS$tK+6lt}?Ce z(zWC83RmHF9Dd;@_bN9cItl5*P+<&ckD0=8LKt*NOgKk4Pq-M2hc&{jU_Lx4yd-QD zUKQRGJ`g??J{P_beinWO^8uqKsF`CxbVlhY6AgA7tyAaS+`qkVlxU4QQO zNUqG|1Coy`oKjHOCv#UhXC@0k+Lh1SWlHFv#K^~t ze8R}5jKG@J=c~1y+7Ivs%n`i7Bj8QF28 zE`tFuMAvkk5q`Q3=#L*5#k_A^c{?3|0j-O30{NZ2>sh5Bv5S{*l~O)38XF&8lpo^Z zTc@9eRwk4i9a;!^6@g1brKL-}cCzy)y9$95JRh9uSlDGcH=5|&+fx7oqLNYPj?id! zC4`vE6JtY_#2GN{RqL-JL;W;*?JfFbkn=*M}qj;dkJyQF3{zJFoF@S z(?Ao!uLaQ@cCSOtvQVUaS8*WK$woP$#A|ccJzHSpXZWIsk)Ie9V4!#DAxE<(M=L#d zak!|G3&>o^%NmQ8^Du_{B)4B_u*{{W>lu149kBfiBfm2^WS{&60b{+d-Vgc+2bk&u zXY6|RWQQt7eudXE$#2l*Ua4iFqWOho@p-)q6QJoG5up#!hk}ZQnc5`~TzAN+o*#?d-3lincapKbF(Bh?qVes zf_SM7L19?Rseilw+CSaX*~2n&ESq$gqDm*+2+mPs8H6V`3>ynl|&oVbKc6-wa-x>jF1T@U^Is zk#K3T8#YO5u0SkY1fs$<9g}jmUAUa<_2Lngi9{6YaAR|qT!`C#OMv(qwWX~s^p>r5 zi>0l!$<{V)+qG{fe&dB>s@tXR3f;8OkLbA47NJt-E_;V?I=4%O_Pceg>TdgN(RJDO zrlrs|#&ct_Xbc)jO9!n|2-bvK4s=jbO*>l3>G7(JUYV);Ed?@pS2NBk-mVtv-*ZOQ zX?-7|p4mc?P!8dq(}WemZNiJf7Gaz43Rr2c3-5r9_J!~jgn0fyBGR28j~n9Yg8HFB zXc!ufMxY#2f)=3j(Ix0E^uk`2TW`;1bAO^Q8nN3w2%oIO87RA@ywI7>Pjk~xV-&uZ zG1|OQOoREapRIkM!y4Cq%zxTqf_2y4@b~}Utp5#9ukCTy%9Yi!R;|Exj^w{x*0XMO z9Dag(wa$9>2Rfw>9W!b2l*i`3zH;5P4G#?{u# z-N;W}M?5;N)vt#|N&PxTQ>!4oo^zCGYi^Upxowy<8o71u^0>EwK(EnPbNW~5H!^wz zqaCXSIF^OKUF+C>bq$OShZX?aJ60$#+_Z^xcapXyj|SD*H6Bs7>Kot<1pPMscKr_h zPW>+ZZhf78kAAPdUcZmg&Wv_pv@3(8F0?zNM>5)j(VmQ^F`CY3##;S;(BBW}59$x; z59^!sNAySa&H7`E_5yuQdo$XH(Y}oKW8&#dJeP^JOkB&vb)4>0&u-imQYe7+h(yxx z;6~VyBf_BnAxl#kER;mz(Q?Q1hQ;Vua;)5{u0d`l?R3X2gh1bn-EV>;SQ3K#?fHCp zBhIb(Jq-ew+@^cc;kf`EDR5wfO z%>EyTRTlH<=v6rLe`pXdSfDN+TQ|9KV zoAw;|akp!ZAY(MsHH)_Eug=`=aTWzF;`Q%${cmoA{h|M<|HbIhj1FfstHuzV zFg1m}?_P8|$j2oso+KctUM&x|aMPIy2oB^dfyItUk$1%zHv^7Gxyg_X#ZV2+&<(>d z8O>%i#^_0mu442RCQ3}~Y4>=|2pTCy6QikM8nDh~v@lv4t&G-28>6k!PRKVv;k7JI zX1d?QTpjO3Zab8Kcfw=3+*C;JVAva;W*mY#yXCHjHJztZ2D<}(q%gh4=wb9UKsb$J^cY6R*7-*;q?zEFaMB=j z2mVm~fKJjQF&s~d(J@Jnq)9{WhgWup&%MUT zH;x6_x7#Ja01p#Fl4qbkw>%MpRr{2R%DJ%p&5iM;xm(}7z3pBI+Lb`wIHl)@=Y`^x zad#UX-^-B{Gsa}&IM`!sOfjY!(~RlH3}dD-%b0D&tgW4>P|AChYz}PCnG%$GM|TbqcPCrZFbE? z@-~OYNLW7x&S~iI_(c#784H0?cVD2f2zKKcFwk?8n~aSUA^OtrNe13rpJto^+gXj% z4Y0n884Xt(XBuZQTEb{4x5W?2IR?i0#>KGF&$z(2(71@vd5q3yG*V++Vq6LvjUf>l zU2w?X<}SX3=~I>w%qI5}D@;kafmA5Rw41&c)DfMnJW3FBgdo-m9m} z_5Q{NVYac+XbT~_2|^V_qDJJq@0lm=DqE%ChWIz7F6j0#DojsTFe@;xxxX{B7#!a47_7;>o)TBsb&1 z&k;^b$&04sHh+fKd_x*JIeez-8VDda90TF&CM2OOS6>;vwAM0=P`OdqrjsVG77Q{{Pas0y_C_*YR$H;GBi85xk1d%Tp3>O zDMQHTwU8m68-!N54)x*OAO}+!ntebSn&84;kyM7}0AQ(xbAu$6p*hUV0%d3(ZGvBQ z6{E|m%@HOzK36k(4OfP(a>AvFkSkSP7q`xdH~>xQJ!G^w#(C?+JccWS6(HL8l^4XT zajXf+!)nZlW`PNU-=gP3Ukr9J^a1mGu?3P@F;lAbI?)5~rSz)v?V`kiFYgP&cTx73t zMD}frLYxZxzL)Lxdy8yyiMe!_$i9Wq)q9I<(*{jtGV?SO{Wv4dzO-%B(hPOo%bu&gdPC-pS})3{sQQb&TG_=)H`tXONPVZdhxs zPDI=; zi}^w1iSIBx^cjy$I03rKe3;RVo-lqCgmJ@Xjd)!DvPy%LP9`zGhN9opFS^f@NzCs|cvpF~`MtT*{K5Ru{K@>8(We-Fn$c$% zg{cBF{dwn*5%YJv(fl)+Bc8qhCyY=?oA%G-h;KXt{QeFSfhc8?hvMl;zkBZ-@s`h0 z04TJpCG$f@=!^S3WW=&8euT6YV024khm2UwE$7JSZB|RJ-L^FX!AWzY#Y^gGGpmEq z3XW0lWVE$92ot$Bd)?7y?=cEP4%+N>yY1fE%sSHQu}ho1!|1DfYcneow3*f0>SKWk z^%|pZGWu4XHnTcd1GzSX2f+qIh)D*L>omJm83e7}{T&S|Gb_tgW^W&WGP6dy$_%*8 zQD)~HDrHu$k4Z^ojj`a|owe3jYn(OSnqcKy$66Du0&9{r*_y&AEI@p~=!Xo_P1BDV z{e;m^8HHK;oY5~B{c^1}&DCVqEc&H2ho6LOK^TqEuRKi#>B_*xfbB4R<1{_2$@a(> z=V6kR&sBG^z6?O?hURt0D>3%Cl7ZgV_!3-XxlJMph|q6JId)z(QC1OvWhbVs#y zDx|xk-!Z!LplLDd4C`!1i&muu7>k>wPU=)H3Kh;>5 zS(kGy1|t2JL$1ZFYXsA}w!Ug=AnUJn0~B3Zzvw=*{#rFwEod=om35=F+PcYFV}Z5) z8>7E7`UiuY;}n+H{&uvObt}*LYu(`-l_d(G#b5`u=2aYrB3fBq3=!T|b;Xm4COcHV5Z-+N+YQ#H_N<#9DKCc@ziZt!rlVlVeD7xAr7qa2 z>1>DQZF|$c!Fs^eVjH;@6Vd*)*rV2CT#IdHB572MJ#BGo4Q;cY1uZ6ujX}Bf}P+(iF*Fb@Z3RhrakcmF7z~E2Os;9x;wBD-IV4}f9e?1NM0oPz3S|3>-Gf`%u z%0z9K2HUFfh!`}@*Gxf!wT1XrVF|oSJ2w;$7bcgi;QhJ%J7(5*jxH1R1JPwaIl4?V zle+ARL#4|a?=5WeHicQjY+;V|r*k-k7$~&{hH$8HDG0~t(AWnzcwKxUvf6OUlx z{_@Qoc!Vx6ATZcbr-4DBPQ{KO%l4JuD=Ak4!vi^>P6Jti5rJ$bc4lH1CU&g}de$D{w3nomjuAHNr2haWrX_=M9rhOffq8-XyM#aN(MsQ2_y@{C_y?kaiU8;jzzSfb zPo3}&%n4L-;opmiuqT~wsTdob7b)M(d664)UIM4M0>AG82>k!o-FbjDwY2-57AqnN zYQ%~tDncLx0wENE5C|PZks2TbA`n_2(!qfAs!~JQ zt$XjY_xbL9?sM+_o^y{}woE-QX+!Zt(wYu@nEHgg+{792lU` zRDk2b3E)I<5;z&00!{^|fiHkBf-liQz%^2)gV1ykU=da6ARzt;2!uLG2Wikjnsks> z1vuk(+nK{Z0KUR?UBG!<>xubcJ+a(Jt$|F}4XEw^JOldQY7!1y#kIB7bddHBTU!U% zTK;AJ748q6SBlOnz5Wigl=Vqka4WcjYj4}Y?R1b19i&?X?gU?_gK%_^@qbx(0Js-C zz_p%z;2Yq6ItUnE>(fC7#o$5k5Z8Jd(m_W5e(N~_n8eAyo5aK@o5k>KW6pKZAnwvR z*+zgv1_ojt!Lxr)+9v4ay%21`to3Mm_WH{X>Q4?Ccn-{2?{5~k{f!A=J^9}P;Q_pe zzhTIJ+?Lzmhk*M6z5~7sUIpI+-v>XSgHF*wcsj_84g!YG7Icv1n)?EN!gXK3&(__S z)4#hf*4!}G|9;16r=i`DWCLXLS_cN% z#O=WB{>3d=bNV6MfzVQjFdakyLQAJ1B0Sq6J0LrO2zcjp+1R>s_ov7UI>>5Rk?9~uZs+$8K^71($f32quO9-8GhFE)ryqTvKON+?6(@?}8u*LxC(@%ktng6H-l)F1tb|Ibl)#Q(fb-Je@d8>4gaQF>B8?6@TLkfj0JkxK4hs7(>lGk02ms$M zhMa{2Kmb1s_#Z?E1s6ktAtBseA%qSJ{kQiDkVv56NB!N@{~b9w4T%Ag#{NC&-$9l? z+EM}}d97D~ByoF%aKI#O#RI*~RT_xo*TVxJK;Uzu03fPz-VvlDn?J{foH* z=2D$KiXeI1NHMNF_wO5l0rQXWb%*t>e~E5_6hexAw@@W?P&^$3gchD!3y}saRNT6S zD&tzHatH$gh$^D#AfSM;|9>o0H{=GO?t}C|n2=rwFsqeF2PM%#z~xH02I+?k2$CQ} zbWkcC1Yq9U=%BoFsaA$AuKrxtz#8vHKC|}8W!~%EcbMi zkSWMCWQGn(qk}HcK^N(uOV@x&2RQElpr#1~hR1R1W^L~pxDC+20n87V0Pf_WAKoco zO&P(RJpAicfcoYP@KVg20mU8Q-Tr0c+U@|p><_pTu>Y>VBw0H;H}d{RURNLhNVyzx z8*&G77qSYu2e}V<0C@;`LNlEaOY0eUcl&| z`&u{I+{qK}sDJGR3^t^>SLuiLlLV}!_<2)YxKa}%AOwO0glS;crGLM#SaTU<|Crp+ zjY#D#Z~rAV7a;SGsm*9azaT&~7Z-HBHMXXM8I^=FM!Y=R07~cfy4eGY@0?Zx&K2zPFij5Fa{HKg40T}_j-5PF2YJrRZcXHi29@dEQ z`AbREMYR6u02tr^SURYldw>RRN4gz2#1G{ax3L`7IGeV1AYk;qZi5`S*2&y^%`~l% z@-Elj{5{r@O_l>WaZmW?mD9>9|q3 zWEVdlZ$LE$uzsLGA}>!TFMtV0`qQZpfGP~b!s4A`m7a$ ztEVCb0?Oj`j2hECi7wPN?efM=o6qrY1}4>c&Vj%Hy^a@9HS+_!K8P?6I5oLOSOh@x z!GQ-yC?M6fu{wrk<`!1A>r!jr*#HP_j3Qhcp#W3FVijQuS{Nh@r3if0f@8FGG?n36 z3UUBtV!xcS7)nk|PEipqrmUza1_xe$kfAJqf}v5~!pC{s0FH|v4~)kZ_(TP$E<}I` z<_G+S0Y8DjXHOm<9t!YTOl$|h3Bv%Xy#QjE%i6mou#XE*0KkRu1K!<$V*tDm2vA*r zUXt~a1DRG-g3H0>*D!0!l#*DnE|4DHU-1a}8rAW`s zgUt^7HO1fSq3B-|{HalJv54n{fHo5nBBv}3)P}X^kN_0|U_K}+a+we7Fo-o2#P4MS zuwlRhN_26Sr+?Pl^{f?H8UTN`w&5};{~#e+8xY`uig4f`Ql3auREGaegYLr<&JzPD z&wl|3L5)1u0YcCdo_7EdND5Gw+wl7EhVY)}y~LZro5h<0zyq)F=C0ubi+Hc`mhzVK zR`6Ew*6`NxHUL1uQQm3Zk9?wh2l=Rcv3%8h1AJqAEWX=(4*^i%Q@&?>FZg}~V1Xk1 z$N5k2OY_U{TksS4$^2CQ5dH-IWd2P4e10bXUH)$ZJOX?I0s;pFlmt`-3P&f)@qT1v3Ex+hu^hmM6#* z>=W!490ZVEqk`jtQ-ZUCY{3P=MZskNb9GPf0YEl-0w8rHwrOoM*>-kY9-wm`+qSyx zJ)jAM3poqXgi?h{gldFt2n`4g0UC)>p>d%}p=qI6A-2%G5J%{t&x_K)s+oP%6|PdKMZ84Tgq7!=dM( zkFC5G}Sa7iD;5EP$tBIWy(-gyqO^dCF-4RMKVXSM6yHjx@5N`Q?gI8Uvf}#Sn{UinB;`y zJ;?`>k0hT+{wn!g@}=Y}$v2YkBtJ-gIsrYQc*5pH=!t?811FwHZI(JNg_SavIwfT$ zWg$h7B1^eRc}RImc}w|9`APXp(WD}!Vx{7x5~b3lE=r|KWlFV4v87g}o=E*F^<3(u z)O)FqQlF*1N`03;E^Q+nB7I)^g7h`%66qT0X6X*;8`4wK_oN?4zmWa_1Hrbyps;5;Kp1^*EJ%_!7y^`4|vsq@V%r=?rGGG}InVm9F8Bv+NGW%uFGS)I- zGWjxnGLL1q$x6!_$exk)mGzfBD;p?FmramOl1-6Klf5XLE?X#jO}0d~T(&~CN_Iqc zPIgIlS@yQ8@euJ% zo=2WfUO;|>{3iJ=@`Cb0^1|{E`5p4Rxe ztZ-G~7lmqtT7`OrMuldDR)uzjPK9BGQH61ZDTNsYmclEA???gU2IMB>Hsp3B7%74j zM@k?ONM)o7QVn?$se{BJ^^t~1W27@O5?O#OM>3Et$WCMzvIp6Z97GNyZz4I!hsZC; zZ;CvMe2M~!8x%JwZc!9e6jBsclu$gTD5)r=2vd|*lv9*fL@FvNDl4ieS}6u7UQxWR zct>fYl9ZCZlABVDQmWELrF5lCrF^9_C5BR^Qnga8QoT~QQm@htr9q`(rJG8Rl-??R zQu?Cw4aJWFp*Es6qjsbAqK>0rC|Q&oN)d%Zp;4+R1C$lY6XlKaMfssYIy$8JyeE=?8mE$TW zRHRj8Rpe9@R1{TEDk>^!DkoL!R6elT%YvQ&v+^Q&TfkGf}fsb5?Uz zb5oPU5zx{A8Gx~96ex~)1v-BF#WPEseUyQ_Pud#n4Z`>UT-4^+=kZ&aUG|8(-eN$r!~ zCoi3>KRI>s`N{VuKb`z~^1H?+4Y0-z4XDN*jr|%2H4bSU)_`juHBcHV8X6iH4IK@f zhKoj=Mux^^jjI~@8rL*RG|Dw9G}<+;Ym8`2Y0PTOX>c^|Xx!6ysPS0ispbw%9Zj;P zk7k%=n&w5#E1G4R9h%oQ2Q+6iZ)>hFsqpR+I-rF06&tfov2->&C-5@6~V%>%2-wGNvtMTA8UrS#9CwR zunt%!tTWaHOU2T#f!GjiIQASi7t6rbVC%4r*fwkjwhP;Xoxo0GSFrc653rB1&#^DD zud#1+1a!bUM|C81q;+I<5IRU5l#Ysyx{jufwvM%qoen|AQHQAGqH{*aL&sCcM~AB8 zuX91CR%ce{o$el84PBCMlx~r3x9*VcP2F+bN!sp|F-^J{onN8=zlfXVzAu+Y_P*X)L^f{0Ru4uSp!uAGXqNlYXdt22Lqyk zi@_NK4+Ad)Uju)GM1vHAG=qx<=>}N_mkn|a@(l_Nt{IdVlo|9J+%w!{c*4-w(BClI zu*HyV_}cJ`;ddiGBLSmrM!Sr58|^XLXLP_w%m`+LFhUxkjMR)Yj4(!6Bcf5X(M6*y zqa35FMukSjMkPjNMlD9|MuSGM zbeZ&-444d?jGIiE%$l%GR!v@-yf%4f^3mjr$v4xjrn^n|n;tY3H$7%5X)0|hW2$DV zZ|Y!5G<7jOW9nh*W$J6{ZyI14Y#L^I(KN#}%QVOIifNu{p=q({FQ#Rt4AV-}Vbe#a z1W(DF!k-E}b@f!oDbA_)cpf}Iegl3J9*p0E--kbd7sHF=kKpC-3V0wiMPYM z;l1#_ct3m~J{TX05636tFXQv^h4^dua(o583SWco!r#Q-#;@WZ;2-0E#lOJ6!oS6T zz<6 zu#mNovrw>5w7^>6EG#VSEF3I|7A_VP3vUamg}=pFi+qbIi&qw(EjL;2wcKxc)KcD3 z#}a3$Z+Y6%&XQp1Wa(;o#?r&m(=yaD-ZIa!(DIsPsU^d*%Cgq7!Lr%1&9c*S%5v6{ zZ8>krvAkuuVtL1M)$)PmBg-eJH=aIvTK_cVblU0W)11>Et#(@>t<L%{st3$U4+I-1?k#u63vNZ5uwDqc(;%J~pW~)iyV6W^LwdI5tZ*_idirytH{` z^Ty_#%?DeM?Izo;wnDaGTM=8ht(vWtt+uVMt)Z>4?I~L`TcWLtE!8&2Hqpu0v};J0YcbG*iG0=*iS$cbP0w8W5OwdCBcedORy(U z2;PKH0-X>=h#@2rk_l;qi-bZ#HKC6%Ko};B5+(@K1QubQut-=Y+#$Rpd?b7(d?kE$ z;Bx>uY;@S{Am{)%`VKG$LkAy+iw?~WOO8B_2OZTNZ5>IDWJh;LiX+W2-0_@aq~m$V z7{@rr49ClkxsC;nzc`jTRybBUjyOJZ{N(uEiPuTMX|vN-Cm|^r-VjMA%m_ocjOedBTD~Z*_T4Fu1iP%c)AYLc-5POL?hsgTr38YC@}Hc5wMMzSPXlk7+iBqvfh zDUp;$x=6|(T_#;6<&z3YwWJ1852>FtNE#tckfunpBsS?j>6Obymn|;aT!dXjTz0vL zy6kf~=pybS;evKib2;gv>4I_5anS?Nu0}4VE_fGn7hjh&mqr)1%O_VcS8Z2k*GSiV z*D}`%*J{^V*EZK)*M8SQ*AdrI*KyZL*ITZ)T~}QnxIT7$O5Q}?N!~-=M?OeCLOx2C zBukOeWHqur*@S$GY)-Z&+mZ=nN3u6Llzf4lPR=4keA5I%l+707o=w{+} z%FW#Ew41e?t=kzl4?qX&3ovodx?OTBaQnrr%#Gnz<5ut1=+^Ak?>6Mda^tuyxvjX} zb9>A9t5>mvNVKS8!KyN4uN2z2qN;yOEpmN#nMVY0rDf1K#NK-+aFL^80S^-Rvvm3-;aNyUSPE*V5P7*WK6C*T>h-H`q7K zH^Mj4_q=bF?>Lo*x|zC*DoK^1Do{14=2T0nGxZGBgX&48QfbscYA`jPnncZ@W>T}M zh16ndEwzc-LT#sZQ+uiX)Ilnnx=Q^({Y?Gl$LlBHx6yBl-!?yCKM}uOeo}riesDj8 zpMsx~pR%8dpPHYBpO&9C0OUC5cg=6W?}@*#zXHIPruwJ)XZv6A&+{+vFZZwaZ}e~W zZ}o5Y@AMz`AN8N`pY~_@&-uTh@zOTXHq*A!glQ1k4%#l71Pwt`qAAlIE_v_Pm84`(2{9sv`e&1S_Q3|R!gg=HPTvW?X>H(Zdxzx25o@0dY13( z(X+U-l(QGlHlJmkeG>o<*b}fnKrBE!Kq^2XKq&wnpcVi;8a6;XKqmkfU=d&yU>iUP za0+k+kkiQl7X#7*vI4FK zplIN}z=MI}ff9ko1Em6G0_6e~0+j-d15X8-1zH524zvlh4|EJ929g5Ffo_2wfpLMQ zfj0x61%ZQI(f|i0-g6;<04|*8%IOu86hoG;)Ji+|I zn}W9n3k3@Y%LkhV+Xs_^$-(Zyp27aX0l~q+p~2z7rNIlqpF;RUghLL8NQB6QsDv1Y zn1bTD){lpVSn`Y7~C z=(EsQp>IOphkgv(6t**LPuTu2u`r3S<6%-^urPF(YM6SMX4q`lov_ug`(cm5>ES8i z8R6OCSHknce+e%QXM|UU*Mv`ozmC`uAsc~;P>E2F(2UTJFo-aYI33{{;TaJeL60~e z5gU;ZaUtSTL}o-z#FdEVi0+8qi2jJ7h^dI_2v)@1i2D(bBA!M(k9ZmJHR3z4Rw4i_ zlxLjFJ6Cw_+PTtm3_#r7e6H{VDxiTZjung*irpW3 zA{G`4kCl&Aj77y_V|8QoVhv;2v8%CfV&BJpiv1eL6UQI7A#QV=VBG#VvADx=N8=>p zq~m1c5OK&jrMOdZ_HjOOiE%k`m2q8hqj9V_cHBbT-MANV@8Z71gW@;DZ;qFYN5r3u z*NE4Q$Hbe)o5fqkTgThQ6XJd1gW`kZ!{TG&6XVO{o8w#JTjSf~2jfTL$KogBXX07$ ztMQ)__!BlHY)aUY08QAFurJ|Yf_TD_1Xuz*0g-@A&`QutFibE>z$aKI*d;h55EDoV z(FxZR9wfX@c$e@o;Y-5zMBc>RiH8y;6A_8XMD;{$qJHA(M4LqWM8`zuM3=2=b(q>o8olD;SNC4-XpB=1W;n0zStaPrY)$z}knw*%N zm)w**l02LIIE6PwBt;^{HHDHAnG&Cpo>G{?NU2JxO=(DJPU%kRP3cb=O1YUbmhvE# zH+5gCNvcJvT`D1!oa&Y8o9dq$kQ$sCo0^h(AvHZUD>W~*AhkHPB(*GcD)oDsR2nP| zou-+lou-?npLQzEEX^{_I?XnXnC6k@mmZlOot~0@HN7~Uk=~MiBYiM^Bz-J>GJPhU zoxYm>ApLRrujwz+U!}iIf1j~0Lo>r8BO@a#qadR^qcUS6V?JXcV=3ct#+QumnS7a` z%uShFGleq2nL9F}nI|%(Gi5X7G8HlvGnF${Gu1OSGPN?Pne@z@OimVmmQ0pu79}e- zt0b!-YanYlYcy*jYdVXSHJ`PZwVZV)>rK|XtdCh=vc6~YWrMOeWpByemc2b&JR6y< zmu;8rlO2|QDZ3=QF`Jn^nmv&{oz2Rg&tA-ako`FO*X$SBud?4}zt7o|qnu-u{a@BJ+bG36%<(lW7&b7|9%_ZbI<`Q$m zat&Q6!H}Fl=D>c)blL!!t?6$X7WDf z^W|^M-;%#AUpQYnACqsGZ<3GCx5)R(r{|~Tm*scl&*d-VFXb=i-^st1|FB?h!I1)3 z0lYxIK(Ro%K&1dzU{+vVU{^pWa4PUG2rIZ+P*~7YFjg>GFkQeZST1;4@VwwfPOYkM0C1*=6m1LIWlp2?wE+v(^l~PK*OZ`jFmIjrE zl>SmWTsmDkQ_3z~DgCwdMd_>3x25k(KbAquj+9B3Ntel%DU>Oep~}!@_%i=8dRcba zm9o6D!m?{+rDcq=sb`Tg>bjC~AAh8n|^VaBjyoMCt}f*9u+F^o%$bVddvi&4NRW|T0> z8O@A7#sFiOG0K==Ofy)FyNvscM~tV8=ZxPNuNiMEcq(>OoTxxmXjhObTr2!4f-Ax* z&Q(NJBvd3Z=;4x>fb0>RHvxs#n#a)zQ^gstc-{tGla5 zs>iA)Ym90vYlt;&HME-8n%tVP8cxlNnpZV%Yd+L`uK8BWTPskzv35)Cwp#I8iP~ee zlC@H`GPQEG3bl&0%C#!BYPB}CLAANH-LgpQnTI$;B2I_9sjn_@pvFjGo4B>-sMZn;Z5u9B7bgfHxo-kPYYt)rOM|nhmB6_6@`aQUkex(%{wL+u+v_ z*^ttZ)ll8g&@j^QwBdQfZw;>--Zgw|_|ovLk*86#abM%XM)5|8#^a4rjdqPLjg&_3 zMrtFiF`)5$V{Bu5V^U*Id26#!Gq_o#nbFK?e%Sn_`Fjgr3#esN%hnd5 z7I4ds7HG?!7TFd=i$aTH3#vt>MZHC{1=FI_f@{%lA-BY|Fj_`iUbgOPMYmeF2DWCj z=Cu~KUTZCBt!Zs-?P%?4WwzdE9cZ0too`)iU2a`%ebD;2^=aFtHmNpLn_An+Hmx?@ zHoZ2(Hsdz?HupB)HvhJOw%|5;+xfQGw)nQhw#K#x?Hk*L+xNG_+Y#+5?YMT^cKdes zcJFrIcK`OE_K^1Q_H*s2?bq7-+lSh3wvV?@wa>QCwJ)?UwZCou(EhpoTL*84K*xrT z?H#*1L_79%9PBvMA=4q(q0ph!VccQcLFjPoaPIKw@av#;1a_o$TD@`~q;&>%rgmQJOz+I>%nb%p^S={+cXIUqsv$Auz z^U-y|>oV8z*8{H?Umv{wpbOL`-X+x~(-=*4x?ZR~#bQyP@>N4wc>~iTk)8*0S z)8*H7wkxnJqpP*6ziXsxv}>Ykwu{}h(6!k0r0adxw{G5Uf$ojnLfzo*9o@UScXw-c z`*o*x=XNu?uXlHM4|TJ;A9X+Je%~X|v$1DO&$b@n9+941J%@WFdXDv+=#lP`?LqV? z^yu}R>51+s?&`R~J?2B^6XrAK z3+5N*_g=nUP_Jn3-rnQAQoXQVc&}QoMz2;cw%4xLt(Vg4-Rs-?wQoz`p}r%1$NEn6 z!TR8R@_mYZ%6+PRC;PPeto!Wx2z`!y#6Fk4GkqR?o_*eZ)IR^dvwfHP>igJzA8zcs zp>@Oa#)TWTHzscUdgJYl4>vyF_}agre|tZ;U!;F$KeS)8|7gEdzf8Yezhb{~ziPjF zzioebe`0@H|Hb}{{>%MW`}6w?`)m8J_uuFr>>ueL>!0nP>*w?@^)C->98eyx8E_u( z8HgH)9!MFuGEhBGJ8*qqWMFJya$shFJ+LsaH1K%f>Av;NalM;OOAO;Df=(gTD^G7<@JOW{7u4Xh>ve=g{t<{X++b z#D|Uy$q$(iogT6ovLA9BavpLWavP!yMGwUdB@U$wT^LFq${flcDj6ytsvN2rsvGJW zVh-IH8XS5!^k(S&(8r-K!<&Z%hlPg0!^ek_!>D1EVYOk_@ZI5i!w-fZkI+X_Mv6yD zM#@JjM`}juN18@jM>vck31ZCJo4+v^O2V~x80P!X?l}- zGxKKW&D%G>j~*CR8Py)u9n~K-9JLrFj5>}IM@gfuqi05GqrszLqvuAWN8?5lN0Ubx zqhq6-(Us9VqxVK1k3JoJKKgR>`OCy>c_gr zrpIQ-ZjC(|`#Sc0TyPvbE;7DreDC=Faj|jnak+8)xW%~Dxa~M$+-aON?mF%^9yuO8 z9ygvio-%%6{L=W<@#684@$&J?@#^u8@vd>^_>FP)`26_&@kirN#-ELU8vi=}eS&X7 zbmHiQF+@$fO=j4UShRM0fuT#gT45vJ%5~fP0YNr~enx|T)m{TKDV^fn; zGgIuT`KkL;Po|zty_|YG^4E8o z(=VsL&Ir#yX7Im_gN2F zPgt+nJZwHTh`o`$gDuIHX3Me>Y$O}SR$;5NHQCy1UA7(Df$hY0X1lP@usztGY;QJ| z?aw~TzQnF)v)Lc!_RVR{xz0t;U7KUhjm(YBP0mfvEzaGWdocHC?#bM*bI<2K&-2Xl z&u^IDIxjR2o)?){oHv_yoF~t_&wI}M%m>T|&xg%N%+u!?^Gowz7d9-2EF4`pz96@t zzHn;6Y{7BCWr4ilzTmy!yWqcYb|HG<;zHI!&cfA&!iD06l7+H`mW7^$`Gs2xZ#f$| zVw}UAqZ~<&G)I<$;HYr4I9LvjW56-u*l_GQ4jdxKn?vRJa{@T$IkB90P7)`BQ^dK( zDdm)NnmOH^UQRz}h;x%O%bDYFIJY>rId?fvId2zv7I!a7EXpj(Eh;Q3Eut4Oi`Yfo zMZHCXMWaQJ#kj?a#T$!Li}w~EEbo^?Yxvg9TPwF7-FkNG<*nDZ z-YxSlZ&}{9EW9kTyk~j;^1)^Ca>#P{GJQF2IdM68Ic@pk z^3~;EmP?l#ms^(Gm#;7PEcY(6msghWEk9g-vixlM(+cm3z{ Date: Mon, 14 Apr 2025 19:29:16 +0530 Subject: [PATCH 07/11] Add SendTransaction --- .../UserInterfaceState.xcuserstate | Bin 68286 -> 61789 bytes .../Helpers/EthereumClient.swift | 4 +- .../ios-firebase-example/UserDetailView.swift | 274 +++++++++++------- .../ios-firebase-example/ViewModel.swift | 44 ++- 4 files changed, 212 insertions(+), 110 deletions(-) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index 6bb76c996b46ae92165fc1da6edde59177b07316..e3a7741679cd2d4ee6d5dc5fa7b83d984e86dfff 100644 GIT binary patch delta 23289 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 delta 27019 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 diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Helpers/EthereumClient.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Helpers/EthereumClient.swift index b653371f..c6400c2e 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Helpers/EthereumClient.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/Helpers/EthereumClient.swift @@ -22,11 +22,11 @@ import SingleFactorAuth struct EthereumClient { let web3Client: EthereumHttpClient! let ethereumAccount: EthereumAccount! - var networkId: String = "80002" + var networkId: String = "11155111" init(sessionData: SessionData) { self.web3Client = EthereumHttpClient( - url: URL(string: "https://api.web3auth.io/infura-service/v1/80002/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ")!, + url: URL(string: "https://api.web3auth.io/infura-service/v1/11155111/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ")!, network: .fromString(networkId) ) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift index 9093eec3..c6caaca5 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift @@ -8,6 +8,9 @@ struct UserDetailView: View { @State private var showingAlert = false @State private var alertContent: String = "" @State private var isPrivateKeyVisible = false + @State private var recipientAddress: String = "" + @State private var amount: String = "" + @State private var isSending = false var body: some View { if viewModel.isLoading { @@ -21,135 +24,192 @@ struct UserDetailView: View { ProgressView() } else { if let user = user { - VStack(alignment: .leading, spacing: 24) { - - VStack(alignment: .leading, spacing: 16) { - Text("USER BALANCE") - .font(.subheadline) - .foregroundColor(.gray) + ScrollView { + VStack(alignment: .leading, spacing: 24) { + VStack(alignment: .leading, spacing: 16) { + Text("USER BALANCE") + .font(.subheadline) + .foregroundColor(.gray) + .padding(.horizontal) + + VStack(alignment: .leading, spacing: 8) { + Text(viewModel.userBalance) + .font(.system(size: 24, weight: .regular)) + Text("User balance on Polygon Amoy") + .font(.subheadline) + .foregroundColor(.gray) + Link(destination: URL(string: "https://amoy.polygonscan.com/address/\(viewModel.userAccount)")!) { + HStack(spacing: 4) { + Text(viewModel.userAccount) + .lineLimit(1) + .truncationMode(.middle) + Image(systemName: "arrow.up.right.square") + .font(.system(size: 12)) + } + .font(.system(size: 14)) + .foregroundColor(.blue) + } + } + .padding() + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .secondarySystemBackground)) + .cornerRadius(12) .padding(.horizontal) + } - VStack(alignment: .leading, spacing: 8) { - Text(viewModel.userBalance) - .font(.system(size: 24, weight: .regular)) - Text("User balance on Polygon Amoy") + VStack(alignment: .leading, spacing: 16) { + Text("SEND TRANSACTION") .font(.subheadline) .foregroundColor(.gray) - Link(destination: URL(string: "https://amoy.polygonscan.com/address/\(viewModel.userAccount)")!) { - HStack(spacing: 4) { - Text(viewModel.userAccount) - .lineLimit(1) - .truncationMode(.middle) - Image(systemName: "arrow.up.right.square") - .font(.system(size: 12)) + .padding(.horizontal) + + VStack(spacing: 16) { + VStack(alignment: .leading, spacing: 8) { + Text("Recipient Address") + .font(.subheadline) + .foregroundColor(.gray) + TextField("0x...", text: $recipientAddress) + .textFieldStyle(RoundedBorderTextFieldStyle()) + .font(.system(.body, design: .monospaced)) + } + + VStack(alignment: .leading, spacing: 8) { + Text("Amount (ETH)") + .font(.subheadline) + .foregroundColor(.gray) + TextField("0.0", text: $amount) + .textFieldStyle(RoundedBorderTextFieldStyle()) + .keyboardType(.decimalPad) } - .font(.system(size: 14)) - .foregroundColor(.blue) + + Button(action: { + isSending = true + viewModel.sendTransaction(to: recipientAddress, amount: amount) { success, error in + isSending = false + if success { + alertContent = "Transaction sent successfully!" + } else { + alertContent = error ?? "Failed to send transaction" + } + showingAlert = true + } + }) { + HStack { + if isSending { + ProgressView() + .progressViewStyle(CircularProgressViewStyle(tint: .white)) + .scaleEffect(0.8) + } else { + Image(systemName: "arrow.up.right") + .foregroundColor(.white) + .font(.system(size: 16, weight: .semibold)) + } + Text("Send") + .foregroundColor(.white) + .font(.system(size: 16, weight: .semibold)) + } + .frame(maxWidth: .infinity) + .frame(height: 44) + .background(Color.black) + .cornerRadius(22) + } + .disabled(isSending || recipientAddress.isEmpty || amount.isEmpty) } - } - .padding() - .frame(maxWidth: .infinity, alignment: .leading) - .background(Color(uiColor: .secondarySystemBackground)) - .cornerRadius(12) - .padding(.horizontal) - } - - VStack(alignment: .leading, spacing: 16) { - Text("CHAIN INTERACTIONS") - .font(.subheadline) - .foregroundColor(.gray) + .padding() + .background(Color(uiColor: .secondarySystemBackground)) + .cornerRadius(12) .padding(.horizontal) + } - VStack(spacing: 0) { - Button(action: { - viewModel.showWalletUI() - }) { - Text("Send Transaction") - .frame(maxWidth: .infinity, alignment: .leading) - .padding() - } - Divider() - Button(action: { - viewModel.signMessage { result, error in - alertContent = result ?? error ?? "" - showingAlert = true + VStack(alignment: .leading, spacing: 16) { + Text("CHAIN INTERACTIONS") + .font(.subheadline) + .foregroundColor(.gray) + .padding(.horizontal) + + VStack(spacing: 0) { + Button(action: { + viewModel.signMessage { result, error in + alertContent = result ?? error ?? "" + showingAlert = true + } + }) { + Text("Sign Message") + .frame(maxWidth: .infinity, alignment: .leading) + .padding() } - }) { - Text("Sign Message") - .frame(maxWidth: .infinity, alignment: .leading) - .padding() - } - Divider() - Button(action: { - viewModel.requestSignature { result, error in - alertContent = result ?? error ?? "" - showingAlert = true + Divider() + Button(action: { + viewModel.requestSignature { result, error in + alertContent = result ?? error ?? "" + showingAlert = true + } + }) { + Text("Request Signature") + .frame(maxWidth: .infinity, alignment: .leading) + .padding() + } + Divider() + Button(action: { + viewModel.showWalletUI() + }) { + Text("Show Wallet UI") + .frame(maxWidth: .infinity, alignment: .leading) + .padding() } - }) { - Text("Request Signature") - .frame(maxWidth: .infinity, alignment: .leading) - .padding() - } - Divider() - Button(action: { - viewModel.showWalletUI() - }) { - Text("Show Wallet UI") - .frame(maxWidth: .infinity, alignment: .leading) - .padding() } - } - .background(Color(uiColor: .secondarySystemBackground)) - .cornerRadius(12) - .padding(.horizontal) - } - - VStack(alignment: .leading, spacing: 16) { - Text("PRIVATE KEY") - .font(.subheadline) - .foregroundColor(.gray) + .background(Color(uiColor: .secondarySystemBackground)) + .cornerRadius(12) .padding(.horizontal) + } - Text(user) - .font(.system(size: 16)) - .blur(radius: isPrivateKeyVisible ? 0 : 8) - .overlay( - Group { - if !isPrivateKeyVisible { - Text("Tap to reveal") - .foregroundColor(.blue) - .font(.system(size: 14)) + VStack(alignment: .leading, spacing: 16) { + Text("PRIVATE KEY") + .font(.subheadline) + .foregroundColor(.gray) + .padding(.horizontal) + + Text(user) + .font(.system(size: 16)) + .blur(radius: isPrivateKeyVisible ? 0 : 8) + .overlay( + Group { + if !isPrivateKeyVisible { + Text("Tap to reveal") + .foregroundColor(.blue) + .font(.system(size: 14)) + } + } + ) + .padding() + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .secondarySystemBackground)) + .cornerRadius(12) + .padding(.horizontal) + .onTapGesture { + withAnimation(.easeInOut(duration: 0.2)) { + isPrivateKeyVisible.toggle() } } - ) + } + + Button(action: { + viewModel.logout() + }) { + HStack { + Image(systemName: "arrow.left") + Text("Logout") + } + .foregroundColor(.red) .padding() .frame(maxWidth: .infinity, alignment: .leading) .background(Color(uiColor: .secondarySystemBackground)) .cornerRadius(12) .padding(.horizontal) - .onTapGesture { - withAnimation(.easeInOut(duration: 0.2)) { - isPrivateKeyVisible.toggle() - } - } - } - - Button(action: { - viewModel.logout() - }) { - HStack { - Image(systemName: "arrow.left") - Text("Logout") } - .foregroundColor(.red) - .padding() - .frame(maxWidth: .infinity, alignment: .leading) - .background(Color(uiColor: .secondarySystemBackground)) - .cornerRadius(12) - .padding(.horizontal) + + Spacer() } - - Spacer() } .alert(isPresented: $showingAlert) { Alert(title: Text(alertContent)) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift index 01c84ec5..5616aa2e 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift @@ -22,7 +22,7 @@ class ViewModel: ObservableObject { @Published var navigationTitle: String = "" @Published var isAccountReady: Bool = false - var chainConfig: ChainConfig = ChainConfig(chainId: "0x13882", rpcTarget: "https://api.web3auth.io/infura-service/v1/80002/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ") + var chainConfig: ChainConfig = ChainConfig(chainId: "0xaa36a7", rpcTarget: "https://api.web3auth.io/infura-service/v1/11155111/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ") init() { Task { @@ -215,7 +215,49 @@ class ViewModel: ObservableObject { } } + func sendTransaction(to address: String, amount: String, completion: @escaping (Bool, String?) -> Void) { + Task { + do { + guard let amountInWei = try? convertEthToWei(amount) else { + completion(false, "Invalid amount") + return + } + + let sessionData = singleFactorAuth.getSessionData() + // Create transaction object + let transaction: [String: Any] = [ + "from": sessionData!.publicAddress, + "to": address, + "value": amountInWei, + "data": "0x" + ] + + let response = try await singleFactorAuth.request( + chainConfig: chainConfig, + method: "eth_sendTransaction", + requestParams: [transaction] // Send as array with single transaction object + ) + + if response.success { + completion(true, nil) + // Refresh balance after successful transaction + getBalance() + } else { + completion(false, response.error) + } + } catch { + completion(false, error.localizedDescription) + } + } + } + private func convertEthToWei(_ eth: String) throws -> String { + guard let ethValue = Double(eth) else { + throw NSError(domain: "Transaction", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid amount"]) + } + let weiValue = ethValue * 1e18 + return String(format: "0x%llx", UInt64(weiValue)) + } } extension ViewModel { From 65444207e6eb8d5e0516e4d896a8c3c104150b79 Mon Sep 17 00:00:00 2001 From: Mohammad Shahbaz Alam Date: Mon, 14 Apr 2025 19:31:14 +0530 Subject: [PATCH 08/11] display tnx hash result --- .../UserInterfaceState.xcuserstate | Bin 61789 -> 61789 bytes .../ios-firebase-example/UserDetailView.swift | 39 ++++++++++++++++-- .../ios-firebase-example/ViewModel.swift | 11 ++--- 3 files changed, 42 insertions(+), 8 deletions(-) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index e3a7741679cd2d4ee6d5dc5fa7b83d984e86dfff..98848f2b3c7f155d4507109fd78e981b482d94fe 100644 GIT binary patch delta 4556 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 Void) { + func sendTransaction(to address: String, amount: String, completion: @escaping (Bool, String?, String?) -> Void) { Task { do { guard let amountInWei = try? convertEthToWei(amount) else { - completion(false, "Invalid amount") + completion(false, "Invalid amount", nil) return } @@ -239,14 +239,15 @@ class ViewModel: ObservableObject { ) if response.success { - completion(true, nil) + // response.result contains the transaction hash + completion(true, nil, response.result) // Refresh balance after successful transaction getBalance() } else { - completion(false, response.error) + completion(false, response.error, nil) } } catch { - completion(false, error.localizedDescription) + completion(false, error.localizedDescription, nil) } } } From 337aa3e8ab210492612e0b8f0c0e606265095fa1 Mon Sep 17 00:00:00 2001 From: Yashovardhan Agrawal Date: Tue, 15 Apr 2025 21:18:58 +0530 Subject: [PATCH 09/11] Add id token login --- .../project.pbxproj | 4 +- .../UserInterfaceState.xcuserstate | Bin 0 -> 37931 bytes .../xcschemes/xcschememanagement.plist | 14 +++++ .../ios-firebase-example/LoginView.swift | 28 +++++++++ .../ios-firebase-example/ViewModel.swift | 54 +++++++++++++++++- 5 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/yashovardhanagrawal.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/xcuserdata/yashovardhanagrawal.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj index c7ccd032..4eac2f7f 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.pbxproj @@ -463,7 +463,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"ios-firebase-example/Preview Content\""; - DEVELOPMENT_TEAM = 9748CA473J; + DEVELOPMENT_TEAM = 2Q63NCPY55; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "ios-firebase-example/Info.plist"; @@ -493,7 +493,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"ios-firebase-example/Preview Content\""; - DEVELOPMENT_TEAM = 9748CA473J; + DEVELOPMENT_TEAM = 2Q63NCPY55; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "ios-firebase-example/Info.plist"; diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/yashovardhanagrawal.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/yashovardhanagrawal.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..0153905161c134d66a267d3a1f5a649ee08412bb GIT binary patch literal 37931 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 literal 0 HcmV?d00001 diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/xcuserdata/yashovardhanagrawal.xcuserdatad/xcschemes/xcschememanagement.plist b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/xcuserdata/yashovardhanagrawal.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..fb5cfdb8 --- /dev/null +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/xcuserdata/yashovardhanagrawal.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + ios-firebase-example.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift index b5e135be..402f015a 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift @@ -56,6 +56,34 @@ struct LoginView: View { } ) .padding(.horizontal, 24) + + // Login Button + Button( + action: { + vm.loginViaFirebaseAnonymous() + }, + label: { + HStack(spacing: 12) { + if vm.isLoading { + ProgressView() + .progressViewStyle(CircularProgressViewStyle(tint: .white)) + .scaleEffect(0.8) + } else { + Image(systemName: "arrow.right") + .foregroundColor(.white) + .font(.system(size: 16, weight: .semibold)) + } + Text("Log in with ID Token") + .foregroundColor(.white) + .font(.system(size: 16, weight: .semibold)) + } + .frame(maxWidth: .infinity) + .frame(height: 52) + .background(Color.black) + .cornerRadius(26) + } + ) + .padding(.horizontal, 24) // Bottom Links HStack(spacing: 40) { diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift index 730ecac4..66d89543 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift @@ -133,7 +133,55 @@ class ViewModel: ObservableObject { } } } - + + func loginViaFirebaseAnonymous() { + Task { + do { + await MainActor.run { + isLoading = true + } + + // IMP START - Auth Provider Login + let res = try await Auth.auth().signIn(withEmail: "ios@firebase.com", password: "iOS@Web3Auth") + let id_token = try await res.user.getIDToken() + // IMP END - Auth Provider Login + + // IMP START - Verifier Creation + let verifierName = "w3a-firebase-demo" + // IMP END - Verifier Creation + + // IMP START - Get Key + let result = try await singleFactorAuth.connect( + loginParams: .init( + verifier: verifierName, + verifierId: res.user.uid, + idToken: id_token + ) + ) + // IMP END - Get Key + + print(result) + + // Continue with Ethereum client setup and UI update + ethereumClient = EthereumClient(sessionData: result) + getBalance() + + await MainActor.run { + user = result.privateKey + loggedIn = true + navigationTitle = "Profile" + isLoading = false + } + + } catch { + print("Login error: \(error)") + await MainActor.run { + isLoading = false + } + } + } + } + func showWalletUI() { Task { @@ -178,6 +226,7 @@ class ViewModel: ObservableObject { let sessionData = singleFactorAuth.getSessionData() self.userAccount = sessionData!.publicAddress self.userBalance = try await ethereumClient.getBalance() + print("Balance of \(self.userAccount): \(self.userBalance)") await MainActor.run(body: { self.isAccountReady = true }) @@ -193,7 +242,8 @@ class ViewModel: ObservableObject { func logout() { Task { do { - try await singleFactorAuth.logout() + try await singleFactorAuth.logout(); + try Auth.auth().signOut(); await MainActor.run(body: { self.loggedIn = false navigationTitle = loggedIn ? "Profile" : "" From 96d3de8c7f4375f3c099b4a995e7da4e30fc755a Mon Sep 17 00:00:00 2001 From: Yashovardhan Agrawal Date: Tue, 15 Apr 2025 21:19:15 +0530 Subject: [PATCH 10/11] Add fetch latest balance function --- .../ios-firebase-example/UserDetailView.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift index 1f9f1144..e00ee1b1 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift @@ -161,6 +161,14 @@ struct UserDetailView: View { .padding(.horizontal) VStack(spacing: 0) { + Button(action: { + viewModel.getBalance() + }) { + Text("Fetch Latest Balance") + .frame(maxWidth: .infinity, alignment: .leading) + .padding() + } + Divider() Button(action: { viewModel.signMessage { result, error in alertContent = result ?? error ?? "" From 7198ffd34cffbcf8a460f03f4c894a19f523321e Mon Sep 17 00:00:00 2001 From: Yashovardhan Agrawal Date: Tue, 15 Apr 2025 21:29:17 +0530 Subject: [PATCH 11/11] Update RPC URLs --- .../mpc-core-kit-ios-auth0/Helpers/EthereumClient.swift | 2 +- .../mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift | 2 +- mpc-core-kit-node/mpc-core-kit-node-quick-start/index.js | 2 +- .../mpc-core-kit-popup-flow-example/src/App.tsx | 2 +- .../mpc-core-kit-redirect-flow-example/src/App.tsx | 2 +- .../quick-starts/mpc-core-kit-vue-quick-start/src/Home.vue | 2 +- .../main/java/com/example/androidsfaexample/MainActivity.kt | 4 ++-- .../lib/core/ethereum_provider.dart | 2 +- .../sfa-ios-aggregate-example/Helpers/EthereumClient.swift | 2 +- .../ios-firebase-example/UserDetailView.swift | 4 ++-- single-factor-auth-node/github-oauth-connection/index.js | 2 +- single-factor-auth-node/microsoft-oauth-connection/index.ts | 2 +- single-factor-auth-node/sfa-node-quick-start/index.js | 2 +- single-factor-auth-node/sfa-telegram-oauth-server/index.js | 2 +- .../sfa-rn-bare-quick-start/App.tsx | 2 +- .../sfa-rn-expo-auth0-example/App.tsx | 2 +- 16 files changed, 18 insertions(+), 18 deletions(-) diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-auth0/mpc-core-kit-ios-auth0/Helpers/EthereumClient.swift b/mpc-core-kit-ios/mpc-core-kit-ios-auth0/mpc-core-kit-ios-auth0/Helpers/EthereumClient.swift index 0f2b0236..7f0a2012 100644 --- a/mpc-core-kit-ios/mpc-core-kit-ios-auth0/mpc-core-kit-ios-auth0/Helpers/EthereumClient.swift +++ b/mpc-core-kit-ios/mpc-core-kit-ios-auth0/mpc-core-kit-ios-auth0/Helpers/EthereumClient.swift @@ -16,7 +16,7 @@ struct EthereumClient { init() { self.web3Client = EthereumHttpClient( - url: URL(string: "https://1rpc.io/sepolia")!, + url: URL(string: "https://api.web3auth.io/infura-service/v1/11155111/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ")!, network: .fromString(networkId) ) } diff --git a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift index 639b68a1..987aaf8f 100644 --- a/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift +++ b/mpc-core-kit-ios/mpc-core-kit-ios-quick-start/mpc-core-kit-ios-quick-start/Helpers/EthereumHelper.swift @@ -16,7 +16,7 @@ struct EthereumClient { init() { self.web3Client = EthereumHttpClient( - url: URL(string: "https://1rpc.io/sepolia")!, + url: URL(string: "https://api.web3auth.io/infura-service/v1/11155111/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ")!, network: .fromString(networkId) ) } diff --git a/mpc-core-kit-node/mpc-core-kit-node-quick-start/index.js b/mpc-core-kit-node/mpc-core-kit-node-quick-start/index.js index 9df7da70..26d8d5c6 100644 --- a/mpc-core-kit-node/mpc-core-kit-node-quick-start/index.js +++ b/mpc-core-kit-node/mpc-core-kit-node-quick-start/index.js @@ -77,7 +77,7 @@ async function removeItem(key) { const chainConfig = { chainNamespace: CHAIN_NAMESPACES.EIP155, chainId: "0x1", // Ethereum Mainnet - rpcTarget: "https://rpc.ankr.com/eth", + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, displayName: "Ethereum Mainnet", blockExplorerUrl: "https://etherscan.io", ticker: "ETH", diff --git a/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-popup-flow-example/src/App.tsx b/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-popup-flow-example/src/App.tsx index 73d12ec2..207f47a4 100644 --- a/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-popup-flow-example/src/App.tsx +++ b/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-popup-flow-example/src/App.tsx @@ -34,7 +34,7 @@ const web3AuthClientId = "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZ const chainConfig = { chainNamespace: CHAIN_NAMESPACES.EIP155, chainId: "0x1", // Please use 0x1 for Mainnet - rpcTarget: "https://rpc.ankr.com/eth", + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, displayName: "Ethereum Mainnet", blockExplorer: "https://etherscan.io/", ticker: "ETH", diff --git a/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-redirect-flow-example/src/App.tsx b/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-redirect-flow-example/src/App.tsx index d68a02ec..f483faa7 100644 --- a/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-redirect-flow-example/src/App.tsx +++ b/mpc-core-kit-web/implicit-flow-examples/mpc-core-kit-redirect-flow-example/src/App.tsx @@ -35,7 +35,7 @@ const web3AuthClientId = "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZ const chainConfig = { chainNamespace: CHAIN_NAMESPACES.EIP155, chainId: "0x1", // Please use 0x1 for Mainnet - rpcTarget: "https://rpc.ankr.com/eth", + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, displayName: "Ethereum Mainnet", blockExplorer: "https://etherscan.io/", ticker: "ETH", diff --git a/mpc-core-kit-web/quick-starts/mpc-core-kit-vue-quick-start/src/Home.vue b/mpc-core-kit-web/quick-starts/mpc-core-kit-vue-quick-start/src/Home.vue index 9e4d97af..0a84da0a 100644 --- a/mpc-core-kit-web/quick-starts/mpc-core-kit-vue-quick-start/src/Home.vue +++ b/mpc-core-kit-web/quick-starts/mpc-core-kit-vue-quick-start/src/Home.vue @@ -113,7 +113,7 @@ const verifier = "w3a-firebase-demo"; const chainConfig = { chainNamespace: CHAIN_NAMESPACES.EIP155, chainId: "0x1", // Please use 0x1 for Mainnet - rpcTarget: "https://rpc.ankr.com/eth", + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, displayName: "Ethereum Mainnet", blockExplorer: "https://etherscan.io/", ticker: "ETH", diff --git a/single-factor-auth-android/sfa-android-quick-start/app/src/main/java/com/example/androidsfaexample/MainActivity.kt b/single-factor-auth-android/sfa-android-quick-start/app/src/main/java/com/example/androidsfaexample/MainActivity.kt index 70e5bc1c..8bc0832c 100644 --- a/single-factor-auth-android/sfa-android-quick-start/app/src/main/java/com/example/androidsfaexample/MainActivity.kt +++ b/single-factor-auth-android/sfa-android-quick-start/app/src/main/java/com/example/androidsfaexample/MainActivity.kt @@ -98,7 +98,7 @@ class MainActivity : AppCompatActivity() { val chainConfig = ChainConfig( chainNamespace = ChainNamespace.EIP155, chainId = "0x1", - rpcTarget = "https://rpc.ankr.com/eth" + rpcTarget = "https://api.web3auth.io/infura-service/v1/1/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ" ) val params = JsonArray().apply { @@ -122,7 +122,7 @@ class MainActivity : AppCompatActivity() { val chainConfig = ChainConfig( chainNamespace = ChainNamespace.EIP155, chainId = "0x1", - rpcTarget = "https://rpc.ankr.com/eth" + rpcTarget = "https://api.web3auth.io/infura-service/v1/1/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ" ) val launchWalletCompletableFuture = singleFactorAuth.showWalletUI( diff --git a/single-factor-auth-flutter/sfa_flutter_aggregate_example/lib/core/ethereum_provider.dart b/single-factor-auth-flutter/sfa_flutter_aggregate_example/lib/core/ethereum_provider.dart index 1a50d464..7d13a672 100644 --- a/single-factor-auth-flutter/sfa_flutter_aggregate_example/lib/core/ethereum_provider.dart +++ b/single-factor-auth-flutter/sfa_flutter_aggregate_example/lib/core/ethereum_provider.dart @@ -11,7 +11,7 @@ class EthereumProvider { EthereumProvider( this._credentials, { - String rpcTarget = "https://1rpc.io/sepolia", + String rpcTarget = "https://api.web3auth.io/infura-service/v1/11155111/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ", }) : web3client = Web3Client( rpcTarget, Client(), diff --git a/single-factor-auth-ios/sfa-ios-aggregate-example/sfa-ios-aggregate-example/Helpers/EthereumClient.swift b/single-factor-auth-ios/sfa-ios-aggregate-example/sfa-ios-aggregate-example/Helpers/EthereumClient.swift index d69b7198..c513a0a4 100644 --- a/single-factor-auth-ios/sfa-ios-aggregate-example/sfa-ios-aggregate-example/Helpers/EthereumClient.swift +++ b/single-factor-auth-ios/sfa-ios-aggregate-example/sfa-ios-aggregate-example/Helpers/EthereumClient.swift @@ -16,7 +16,7 @@ struct EthereumClient { init() { self.web3Client = EthereumHttpClient( - url: URL(string: "https://1rpc.io/sepolia")!, + url: URL(string: "https://api.web3auth.io/infura-service/v1/11155111/BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ")!, network: .fromString(networkId) ) } diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift index e00ee1b1..8337390a 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/UserDetailView.swift @@ -37,10 +37,10 @@ struct UserDetailView: View { VStack(alignment: .leading, spacing: 8) { Text(viewModel.userBalance) .font(.system(size: 24, weight: .regular)) - Text("User balance on Polygon Amoy") + Text("User balance on Ethereum Sepolia") .font(.subheadline) .foregroundColor(.gray) - Link(destination: URL(string: "https://amoy.polygonscan.com/address/\(viewModel.userAccount)")!) { + Link(destination: URL(string: "https://sepolia.etherscan.io/address/\(viewModel.userAccount)")!) { HStack(spacing: 4) { Text(viewModel.userAccount) .lineLimit(1) diff --git a/single-factor-auth-node/github-oauth-connection/index.js b/single-factor-auth-node/github-oauth-connection/index.js index 87fcd16b..83971521 100644 --- a/single-factor-auth-node/github-oauth-connection/index.js +++ b/single-factor-auth-node/github-oauth-connection/index.js @@ -31,7 +31,7 @@ const chainConfig = { tickerName: 'Ethereum', ticker: 'ETH', decimals: 18, - rpcTarget: 'https://rpc.ankr.com/eth', + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, blockExplorerUrl: 'https://etherscan.io', logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.png', }; diff --git a/single-factor-auth-node/microsoft-oauth-connection/index.ts b/single-factor-auth-node/microsoft-oauth-connection/index.ts index 72d8f7ff..eec69901 100644 --- a/single-factor-auth-node/microsoft-oauth-connection/index.ts +++ b/single-factor-auth-node/microsoft-oauth-connection/index.ts @@ -41,7 +41,7 @@ const chainConfig = { tickerName: 'Ethereum', ticker: 'ETH', decimals: 18, - rpcTarget: 'https://rpc.ankr.com/eth', + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, blockExplorerUrl: 'https://etherscan.io', logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.png', }; diff --git a/single-factor-auth-node/sfa-node-quick-start/index.js b/single-factor-auth-node/sfa-node-quick-start/index.js index 81418a07..c337ab39 100644 --- a/single-factor-auth-node/sfa-node-quick-start/index.js +++ b/single-factor-auth-node/sfa-node-quick-start/index.js @@ -22,7 +22,7 @@ const chainConfig = { tickerName: 'Ethereum', ticker: 'ETH', decimals: 18, - rpcTarget: 'https://rpc.ankr.com/eth', + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, blockExplorerUrl: 'https://etherscan.io', logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.png', }; diff --git a/single-factor-auth-node/sfa-telegram-oauth-server/index.js b/single-factor-auth-node/sfa-telegram-oauth-server/index.js index 78548f8c..1412f864 100644 --- a/single-factor-auth-node/sfa-telegram-oauth-server/index.js +++ b/single-factor-auth-node/sfa-telegram-oauth-server/index.js @@ -31,7 +31,7 @@ const chainConfig = { tickerName: 'Ethereum', ticker: 'ETH', decimals: 18, - rpcTarget: 'https://rpc.ankr.com/eth', + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, blockExplorerUrl: 'https://etherscan.io', logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.png', }; diff --git a/single-factor-auth-react-native/sfa-rn-bare-quick-start/App.tsx b/single-factor-auth-react-native/sfa-rn-bare-quick-start/App.tsx index 06d7822b..5e8c51f6 100644 --- a/single-factor-auth-react-native/sfa-rn-bare-quick-start/App.tsx +++ b/single-factor-auth-react-native/sfa-rn-bare-quick-start/App.tsx @@ -52,7 +52,7 @@ const chainConfig = { tickerName: 'Ethereum', ticker: 'ETH', decimals: 18, - rpcTarget: 'https://rpc.ankr.com/eth', + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, blockExplorerUrl: 'https://etherscan.io', logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.png', }; diff --git a/single-factor-auth-react-native/sfa-rn-expo-auth0-example/App.tsx b/single-factor-auth-react-native/sfa-rn-expo-auth0-example/App.tsx index 8f73e83c..69a6d7b9 100644 --- a/single-factor-auth-react-native/sfa-rn-expo-auth0-example/App.tsx +++ b/single-factor-auth-react-native/sfa-rn-expo-auth0-example/App.tsx @@ -29,7 +29,7 @@ const chainConfig = { tickerName: 'Ethereum', ticker: 'ETH', decimals: 18, - rpcTarget: 'https://rpc.ankr.com/eth', + rpcTarget: `https://api.web3auth.io/infura-service/v1/1/${clientId}`, blockExplorerUrl: 'https://etherscan.io', logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.png', };

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�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 Uf2TOf{2VHW{2czXf35O=0D9?fjQ{`u diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift index bd8f00ac..63323db2 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/LoginView.swift @@ -2,9 +2,34 @@ import SwiftUI struct LoginView: View { @StateObject var vm: ViewModel + var body: some View { - VStack(alignment: .leading) { + VStack(spacing: 24) { + Spacer() + + // X Logo + Text("X") + .font(.system(size: 48, weight: .bold)) + .foregroundColor(.white) + .frame(width: 80, height: 80) + .background(Color.black) + .clipShape(RoundedRectangle(cornerRadius: 16)) + + // Title and Subtitle + VStack(spacing: 16) { + Text("SFA Swift - X Demo") + .font(.system(size: 32, weight: .bold)) + .multilineTextAlignment(.center) + + Text("Authenticate with your X account") + .font(.title2) + .foregroundColor(.secondary) + .multilineTextAlignment(.center) + } + + Spacer() + // Login Button Button( action: { vm.loginViaFirebaseEP() @@ -25,14 +50,27 @@ struct LoginView: View { .font(.system(size: 16, weight: .semibold)) } .frame(maxWidth: .infinity) - .frame(height: 44) + .frame(height: 52) .background(Color.black) - .cornerRadius(25) + .cornerRadius(26) } ) - .padding(.horizontal) + .padding(.horizontal, 24) - Spacer() + // Bottom Links + HStack(spacing: 40) { + Button("Need help?") { + // Add help action + } + + Button("Privacy Policy") { + // Add privacy policy action + } + } + .font(.system(size: 16)) + .foregroundColor(.secondary) + .padding(.top, 24) + .padding(.bottom, 40) } .background(Color(uiColor: .systemBackground)) } @@ -42,4 +80,4 @@ struct LoginView_Previews: PreviewProvider { static var previews: some View { LoginView(vm: ViewModel()) } -} +} \ No newline at end of file diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift index 825e3275..2a8032d8 100644 --- a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift +++ b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example/ViewModel.swift @@ -62,13 +62,13 @@ class ViewModel: ObservableObject { await MainActor.run(body: { user = sessionData.privateKey loggedIn = true - navigationTitle = "UserInfo" + navigationTitle = "Profile" }) } await MainActor.run(body: { isLoading = false - navigationTitle = loggedIn ? "UserInfo" : "SFA Swift - X Demo" + navigationTitle = loggedIn ? "Profile" : "" }) } @@ -121,7 +121,7 @@ class ViewModel: ObservableObject { await MainActor.run { user = result.privateKey loggedIn = true - navigationTitle = "UserInfo" + navigationTitle = "Profile" isLoading = false } @@ -196,7 +196,7 @@ class ViewModel: ObservableObject { try await singleFactorAuth.logout() await MainActor.run(body: { self.loggedIn = false - navigationTitle = loggedIn ? "UserInfo" : "SFA Swift - X Demo" + navigationTitle = loggedIn ? "Profile" : "" }) } catch let error { print(error) From 9afd1bb96ff8131b13f79112c96467e86b065587 Mon Sep 17 00:00:00 2001 From: Mohammad Shahbaz Alam Date: Mon, 14 Apr 2025 19:18:14 +0530 Subject: [PATCH 06/11] nits --- .../UserInterfaceState.xcuserstate | Bin 68512 -> 68286 bytes .../Helpers/EthereumClient.swift | 4 ++-- .../ios-firebase-example/LoginView.swift | 6 +++--- .../ios-firebase-example/UserDetailView.swift | 12 ++++++++++-- .../ios-firebase-example/ViewModel.swift | 4 ++-- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate b/single-factor-auth-ios/sfa-ios-quick-start/ios-firebase-example.xcodeproj/project.xcworkspace/xcuserdata/shahbaz.xcuserdatad/UserInterfaceState.xcuserstate index 56efe826da823c1d8270ded31268fec3591afc8e..6bb76c996b46ae92165fc1da6edde59177b07316 100644 GIT binary patch literal 68286 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 literal 68512 zcmeEv2YeJo`~Obaz1zNbq1PZ?NJ8jMBqRYMEfRW*M{ z6cG!Gy#tE9_l{z(|7Uh@LrDm{?+;(z|N8+xcS&|5QWzzS z7V?B+gfYTcVVp2SI8F!&^MnOLsZb%DAXEwqg{8uY!l{BSEECQU&JoTPE)*^jE)y;n zt`e>mt`%y9wZbjJt-@`>?ZW56*TOf#_rgx$XWW+>?=_mvBL4DCcGzcAqhM^HC8;wGv(O5JN9g8NSDQGI1iDseWPzZ%l z2|6AvK&PW+=nQlwIt!hR&Ozs*^U(R|0(1#lj;=;4&^4$AtwJ}V+tD59PIMQ#7i~Zf zqKD8U=xOu}dKSHaUPLdUE$DUh26_{{gMLCkqhHXk=r{B``UCxm{z89a0aL8v01o0- zxHWEr+v3i+3m%4##=~(I9)YuQ4$j3R@hChRkHrOe5}u5w;8}P!4&xF$4@YqYJ{O;d z&&L;)n3VcoTjEKZ>8h&*Bg9 zNBCp>3H}s+hCjz&;4kr4_-p(f{ssSq|0X`-Co&0;AUTrsAU#PMNhcYk7s({ONgvXe z3?xUB;UtTUAfrhhIhIT$1!N|fMHZ4pWHDJnmXZ_6N#ta53OSY7gpo7I`Q%b^8M%gB zORgg~ku~IIQcLb4ca!JI3*<%e64^qwl5ON=@(S5bUL~)Qx5$U&Bl0o%ntVgPB|np2 z$gh-8N<}JBg&NeP?P)6QK#!muX(!s5rqOhoL3`0mI)DzOgXmE-myV=!Xdyk0hUi>c zM2l&dme6^0J}sqjnxK{RM0yfkM$e#U(hKQD^d`E7-b`!hT6zn;mEJ~gr+3gh={@uT z`XGIXK1Ls>&(jy^i}WS>8hxF9N57{#=@0Zr`V;+`{z8AHztP|6-=ZY?L|rt*W@2-( zh1gQ;ARZwO6^{~!iARgW#Vm1zm@Vdrx#CFi81Yzfx;R6eDHe&vVpxod72*kEOk5}~ z70(sV6VDef5HA!j5-%2)i&u*`h%3c4;?3eC;-lhb@iFmn@d@!s@hS0X@fq=1@kMdF z_?Gy#__6qj_>K6j z3Td5mk94oJUb;`(Al)x*lpc^Clpc~Em7bPflwOivlU|qJkUo+=mOha_mA;jB`20TE zr}$K#=F@$K&-7WofG_B4=4`U{d`!ak3d;@*?zGHn8eFeTrzRA8RzNx-x zzUjUhzB#_Iugq8Oi~1J%7WTl+6=Wp*%^>_1k_h