changeset 171:70f0625bfcf1

Merge pull request #17 from denniscm190/development open source project committer: GitHub <noreply@github.com>
author Dennis C. M. <dennis@denniscm.com>
date Tue, 12 Oct 2021 16:17:35 +0200
parents f10b0e188905 (current diff) f4e0c414cf6d (diff)
children 9b0486301fbf
files Simoleon.xcodeproj/xcshareddata/xcschemes/AppPreview.xcscheme Simoleon/Helpers/Persistence.swift Simoleon/Helpers/SnapshotHelper.swift Simoleon/UI/SearchBar.swift Simoleon/UI/Sidebar.swift
diffstat 154 files changed, 6089 insertions(+), 17780 deletions(-) [+]
line wrap: on
line diff
--- a/Simoleon.xcodeproj/project.pbxproj	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon.xcodeproj/project.pbxproj	Tue Oct 12 16:17:35 2021 +0200
@@ -7,66 +7,72 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		950A377726A820F800CAB175 /* DefaultCurrency+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950A377626A820F400CAB175 /* DefaultCurrency+CoreDataProperties.swift */; };
-		950A377826A820F800CAB175 /* DefaultCurrency+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950A377526A820F400CAB175 /* DefaultCurrency+CoreDataClass.swift */; };
-		9522BEA926B5A4D20076B098 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9522BEA826B5A4D20076B098 /* AppDelegate.swift */; };
+		950093CA26CBC7A200FEBF67 /* SimoleonAppPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950093C926CBC7A200FEBF67 /* SimoleonAppPreview.swift */; };
+		9501E13826D3A52000D14DE5 /* Currencies.json in Resources */ = {isa = PBXBuildFile; fileRef = 9501E13726D3A52000D14DE5 /* Currencies.json */; };
+		9501E13A26D3A55200D14DE5 /* CurrencyPairsSupported.json in Resources */ = {isa = PBXBuildFile; fileRef = 9501E13926D3A55200D14DE5 /* CurrencyPairsSupported.json */; };
 		9522BEAB26B5AACB0076B098 /* ListModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9522BEAA26B5AACB0076B098 /* ListModifier.swift */; };
-		9555933A269B0AB8000FD726 /* ParseJson.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95559339269B0AB8000FD726 /* ParseJson.swift */; };
-		95561E3F26AF25EF00CCB543 /* SubscriptionFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95561E3E26AF25EF00CCB543 /* SubscriptionFeature.swift */; };
-		95562D4D26A8962A0047E778 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95562D4C26A8962A0047E778 /* StoreKit.framework */; };
-		95562D5226A8AEF60047E778 /* Purchases in Frameworks */ = {isa = PBXBuildFile; productRef = 95562D5126A8AEF60047E778 /* Purchases */; };
-		957065E226A5FE0400523E68 /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957065E126A5FE0400523E68 /* Settings.swift */; };
-		958526C326B41D60001FC826 /* CurrencyPairModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958526C226B41D60001FC826 /* CurrencyPairModel.swift */; };
-		9585BB1226A6B71B00E3193E /* ReadConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1126A6B71B00E3193E /* ReadConfig.swift */; };
-		9585BB1426A6B7F400E3193E /* NetworkRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1326A6B7F400E3193E /* NetworkRequest.swift */; };
-		9585BB1A26A6E8FD00E3193E /* SimpleSuccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1926A6E8FD00E3193E /* SimpleSuccess.swift */; };
-		9587598D26B2A68B004086F0 /* CurrencyMetadata.json in Resources */ = {isa = PBXBuildFile; fileRef = 9587598F26B2A68B004086F0 /* CurrencyMetadata.json */; };
+		9522CD9D26CED2E100DD9D03 /* ErrorHandling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9522CD9C26CED2E100DD9D03 /* ErrorHandling.swift */; };
+		9531D44226D8E4CF00665D2A /* SimoleonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9531D44126D8E4CF00665D2A /* SimoleonTests.swift */; };
+		953B8B1726D3A970003CF530 /* CurrencyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B8B1626D3A970003CF530 /* CurrencyModel.swift */; };
+		9547423526DBE56600415B3F /* ConversionTextfield.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9547423426DBE56600415B3F /* ConversionTextfield.swift */; };
+		954D95CE26E4F16D005BE568 /* FavoritePairRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954D95CD26E4F16D005BE568 /* FavoritePairRow.swift */; };
+		954D95D026E4FE28005BE568 /* FavoritesPlaceholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954D95CF26E4FE28005BE568 /* FavoritesPlaceholder.swift */; };
+		957065E226A5FE0400523E68 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957065E126A5FE0400523E68 /* AboutView.swift */; };
+		957DCF3326D7ADEA00BCAB1E /* CurrencyConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957DCF3226D7ADEA00BCAB1E /* CurrencyConversion.swift */; };
+		95851CE326D4DAAE004ADA79 /* CurrencyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95851CE226D4DAAE004ADA79 /* CurrencyButton.swift */; };
+		95851CE526D4DB4C004ADA79 /* Flag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95851CE426D4DB4C004ADA79 /* Flag.swift */; };
+		9585BB1426A6B7F400E3193E /* NetworkHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1326A6B7F400E3193E /* NetworkHelper.swift */; };
+		9585BB1A26A6E8FD00E3193E /* HapticsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1926A6E8FD00E3193E /* HapticsHelper.swift */; };
 		95909CB326B07BFC00D051AB /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95909CB226B07BFC00D051AB /* SearchBar.swift */; };
 		959F6DEB26BBD53500101E53 /* SimoleonScreenshots.swift in Sources */ = {isa = PBXBuildFile; fileRef = 959F6DEA26BBD53500101E53 /* SimoleonScreenshots.swift */; };
-		959F6DF326BBD54400101E53 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 956088B526B9307600A4FD6C /* SnapshotHelper.swift */; };
+		95AA42ED26D78A4A0085570D /* FileHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AA42EC26D78A4A0085570D /* FileHelper.swift */; };
+		95AC820726DAA3ED00CD5C3F /* FavoritePair+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AC820526DAA3ED00CD5C3F /* FavoritePair+CoreDataClass.swift */; };
+		95AC820826DAA3ED00CD5C3F /* FavoritePair+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AC820626DAA3ED00CD5C3F /* FavoritePair+CoreDataProperties.swift */; };
+		95AC820A26DAAC6B00CD5C3F /* ButtonAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AC820926DAAC6B00CD5C3F /* ButtonAnimation.swift */; };
 		95AEBC9526A03ECB00613729 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEBC9426A03ECB00613729 /* ContentView.swift */; };
-		95AEBC9B26A04A4200613729 /* CurrencyMetadataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEBC9A26A04A4200613729 /* CurrencyMetadataModel.swift */; };
 		95AEBC9D26A04D4600613729 /* CurrencyRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEBC9C26A04D4600613729 /* CurrencyRow.swift */; };
 		95AEBCA326A0900E00613729 /* CurrencyQuoteModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEBCA226A0900E00613729 /* CurrencyQuoteModel.swift */; };
-		95B54F4426A4842C001DC0D8 /* Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B54F4326A4842C001DC0D8 /* Conversion.swift */; };
-		95B54F4626A48852001DC0D8 /* CurrencySelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B54F4526A48852001DC0D8 /* CurrencySelector.swift */; };
+		95B54F4426A4842C001DC0D8 /* ConversionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B54F4326A4842C001DC0D8 /* ConversionView.swift */; };
 		95B54F4A26A4A450001DC0D8 /* ConversionBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B54F4926A4A450001DC0D8 /* ConversionBox.swift */; };
 		95B54F5126A4ACAC001DC0D8 /* Sidebar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B54F5026A4ACAC001DC0D8 /* Sidebar.swift */; };
 		95B5F53126AADE4B00BDCE89 /* en.xliff in Resources */ = {isa = PBXBuildFile; fileRef = 95B5F52826AADE4B00BDCE89 /* en.xliff */; };
 		95B5F53226AADE4B00BDCE89 /* contents.json in Resources */ = {isa = PBXBuildFile; fileRef = 95B5F52A26AADE4B00BDCE89 /* contents.json */; };
 		95B5F53326AADE4B00BDCE89 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 95B5F52D26AADE4B00BDCE89 /* Localizable.strings */; };
 		95B5F53426AADE4B00BDCE89 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 95B5F52F26AADE4B00BDCE89 /* InfoPlist.strings */; };
+		95C1DD6A26D8DF9400315C3F /* CurrencySelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C1DD6926D8DF9400315C3F /* CurrencySelector.swift */; };
 		95C5179126A5DC8E00BC2B24 /* ConditionalWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5179026A5DC8E00BC2B24 /* ConditionalWrapper.swift */; };
 		95C5179926A5EC9F00BC2B24 /* FavoriteButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5179826A5EC9F00BC2B24 /* FavoriteButton.swift */; };
-		95C5179C26A5EFBE00BC2B24 /* Favorite+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5179A26A5EFBE00BC2B24 /* Favorite+CoreDataClass.swift */; };
-		95C5179D26A5EFBE00BC2B24 /* Favorite+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5179B26A5EFBE00BC2B24 /* Favorite+CoreDataProperties.swift */; };
-		95C5179F26A5F34200BC2B24 /* Favorites.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5179E26A5F34200BC2B24 /* Favorites.swift */; };
+		95C5179F26A5F34200BC2B24 /* FavoritesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5179E26A5F34200BC2B24 /* FavoritesView.swift */; };
 		95C517A126A5F6C000BC2B24 /* ResignKeyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C517A026A5F6C000BC2B24 /* ResignKeyboard.swift */; };
 		95C5B2282697752600941585 /* SimoleonApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5B2272697752600941585 /* SimoleonApp.swift */; };
 		95C5B22C2697752700941585 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95C5B22B2697752700941585 /* Assets.xcassets */; };
 		95C5B22F2697752700941585 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95C5B22E2697752700941585 /* Preview Assets.xcassets */; };
 		95C5B2312697752700941585 /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5B2302697752700941585 /* Persistence.swift */; };
 		95C5B2342697752700941585 /* Simoleon.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 95C5B2322697752700941585 /* Simoleon.xcdatamodeld */; };
-		95C5B23F2697752700941585 /* SimoleonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5B23E2697752700941585 /* SimoleonTests.swift */; };
 		95C5B24A2697752700941585 /* SimoleonUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C5B2492697752700941585 /* SimoleonUITests.swift */; };
-		95D8C8C726A95D2900BCC188 /* SubscriptionPaywall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D8C8C626A95D2900BCC188 /* SubscriptionPaywall.swift */; };
-		95D8C8CD26A9784500BCC188 /* SubscribeButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D8C8CC26A9784500BCC188 /* SubscribeButton.swift */; };
-		95D8C8CF26A98A7900BCC188 /* RestoreButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D8C8CE26A98A7900BCC188 /* RestoreButton.swift */; };
-		95D8C8D126A9BC6200BCC188 /* LockedCurrencyPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D8C8D026A9BC6200BCC188 /* LockedCurrencyPicker.swift */; };
-		95DD4ABB269B33810027CA1F /* CurrencyPairs.json in Resources */ = {isa = PBXBuildFile; fileRef = 95DD4ABA269B33810027CA1F /* CurrencyPairs.json */; };
+		95CE6A3626D50B7700D9DCBD /* CurrencyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95CE6A3526D50B7700D9DCBD /* CurrencyList.swift */; };
+		95DA4B5626D7D10100566C5E /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 956088B526B9307600A4FD6C /* SnapshotHelper.swift */; };
+		95DA4B5926D7E2DE00566C5E /* ChildListResets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95DA4B5826D7E2DE00566C5E /* ChildListResets.swift */; };
 		95E76436269DFC1A008E9F31 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 95E76435269DFC1A008E9F31 /* LaunchScreen.storyboard */; };
 		95E7643A269E0037008E9F31 /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95E76439269E0037008E9F31 /* CloudKit.framework */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
-		959F6DED26BBD53500101E53 /* PBXContainerItemProxy */ = {
+		950093CC26CBC7A200FEBF67 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 95C5B21C2697752600941585 /* Project object */;
 			proxyType = 1;
 			remoteGlobalIDString = 95C5B2232697752600941585;
 			remoteInfo = Simoleon;
 		};
-		95C5B23B2697752700941585 /* PBXContainerItemProxy */ = {
+		9531D44426D8E4CF00665D2A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 95C5B21C2697752600941585 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 95C5B2232697752600941585;
+			remoteInfo = Simoleon;
+		};
+		959F6DED26BBD53500101E53 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 95C5B21C2697752600941585 /* Project object */;
 			proxyType = 1;
@@ -96,20 +102,29 @@
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		950A377526A820F400CAB175 /* DefaultCurrency+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DefaultCurrency+CoreDataClass.swift"; sourceTree = "<group>"; };
-		950A377626A820F400CAB175 /* DefaultCurrency+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DefaultCurrency+CoreDataProperties.swift"; sourceTree = "<group>"; };
-		9522BEA826B5A4D20076B098 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
+		950093C726CBC7A200FEBF67 /* SimoleonAppPreview.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimoleonAppPreview.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+		950093C926CBC7A200FEBF67 /* SimoleonAppPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonAppPreview.swift; sourceTree = "<group>"; };
+		950093CB26CBC7A200FEBF67 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		9501E13726D3A52000D14DE5 /* Currencies.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Currencies.json; sourceTree = "<group>"; };
+		9501E13926D3A55200D14DE5 /* CurrencyPairsSupported.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CurrencyPairsSupported.json; sourceTree = "<group>"; };
 		9522BEAA26B5AACB0076B098 /* ListModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListModifier.swift; sourceTree = "<group>"; };
-		95559339269B0AB8000FD726 /* ParseJson.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseJson.swift; sourceTree = "<group>"; };
-		95561E3E26AF25EF00CCB543 /* SubscriptionFeature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscriptionFeature.swift; sourceTree = "<group>"; };
+		9522CD9C26CED2E100DD9D03 /* ErrorHandling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorHandling.swift; sourceTree = "<group>"; };
+		9531D43F26D8E4CF00665D2A /* SimoleonTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimoleonTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+		9531D44126D8E4CF00665D2A /* SimoleonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonTests.swift; sourceTree = "<group>"; };
+		9531D44326D8E4CF00665D2A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		953B8B1626D3A970003CF530 /* CurrencyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyModel.swift; sourceTree = "<group>"; };
+		9547423426DBE56600415B3F /* ConversionTextfield.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversionTextfield.swift; sourceTree = "<group>"; };
+		954D95CD26E4F16D005BE568 /* FavoritePairRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoritePairRow.swift; sourceTree = "<group>"; };
+		954D95CF26E4FE28005BE568 /* FavoritesPlaceholder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoritesPlaceholder.swift; sourceTree = "<group>"; };
 		95562D4C26A8962A0047E778 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
-		956088B526B9307600A4FD6C /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SnapshotHelper.swift; path = fastlane/SnapshotHelper.swift; sourceTree = "<group>"; };
-		957065E126A5FE0400523E68 /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = "<group>"; };
-		958526C226B41D60001FC826 /* CurrencyPairModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyPairModel.swift; sourceTree = "<group>"; };
+		956088B526B9307600A4FD6C /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapshotHelper.swift; sourceTree = "<group>"; };
+		957065E126A5FE0400523E68 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
+		957DCF3226D7ADEA00BCAB1E /* CurrencyConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyConversion.swift; sourceTree = "<group>"; };
+		95851CE226D4DAAE004ADA79 /* CurrencyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyButton.swift; sourceTree = "<group>"; };
+		95851CE426D4DB4C004ADA79 /* Flag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Flag.swift; sourceTree = "<group>"; };
 		9585BB0F26A6B58500E3193E /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = "<group>"; };
-		9585BB1126A6B71B00E3193E /* ReadConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReadConfig.swift; sourceTree = "<group>"; };
-		9585BB1326A6B7F400E3193E /* NetworkRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkRequest.swift; sourceTree = "<group>"; };
-		9585BB1926A6E8FD00E3193E /* SimpleSuccess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleSuccess.swift; sourceTree = "<group>"; };
+		9585BB1326A6B7F400E3193E /* NetworkHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkHelper.swift; sourceTree = "<group>"; };
+		9585BB1926A6E8FD00E3193E /* HapticsHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HapticsHelper.swift; sourceTree = "<group>"; };
 		9587597726B2A59D004086F0 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = "<group>"; };
 		9587597826B2A59D004086F0 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
 		9587597926B2A5B6004086F0 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -124,27 +139,19 @@
 		9587598226B2A5EB004086F0 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		9587598726B2A60C004086F0 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
 		9587598826B2A60C004086F0 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		9587598E26B2A68B004086F0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = Base; path = Base.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
-		9587599026B2A69A004086F0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = en; path = en.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
-		9587599326B2A6A2004086F0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = nl; path = nl.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
-		9587599426B2A6A3004086F0 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = "en-GB"; path = "en-GB.lproj/CurrencyMetadata.json"; sourceTree = "<group>"; };
-		9587599526B2A6A4004086F0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = fr; path = fr.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
-		9587599626B2A6A5004086F0 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = de; path = de.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
-		9587599726B2A6A5004086F0 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = it; path = it.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
-		9587599A26B2A6A8004086F0 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = "pt-PT"; path = "pt-PT.lproj/CurrencyMetadata.json"; sourceTree = "<group>"; };
-		9587599B26B2A6A8004086F0 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = ru; path = ru.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
-		9587599C26B2A6AA004086F0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = es; path = es.lproj/CurrencyMetadata.json; sourceTree = "<group>"; };
 		95909CB226B07BFC00D051AB /* SearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = "<group>"; };
 		959F6DE826BBD53500101E53 /* SimoleonScreenshots.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimoleonScreenshots.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		959F6DEA26BBD53500101E53 /* SimoleonScreenshots.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonScreenshots.swift; sourceTree = "<group>"; };
 		959F6DEC26BBD53500101E53 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		95A70BE926B0550000CC0273 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS7.4.sdk/System/Library/Frameworks/CloudKit.framework; sourceTree = DEVELOPER_DIR; };
+		95AA42EC26D78A4A0085570D /* FileHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileHelper.swift; sourceTree = "<group>"; };
+		95AC820526DAA3ED00CD5C3F /* FavoritePair+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FavoritePair+CoreDataClass.swift"; sourceTree = "<group>"; };
+		95AC820626DAA3ED00CD5C3F /* FavoritePair+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FavoritePair+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		95AC820926DAAC6B00CD5C3F /* ButtonAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonAnimation.swift; sourceTree = "<group>"; };
 		95AEBC9426A03ECB00613729 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
-		95AEBC9A26A04A4200613729 /* CurrencyMetadataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyMetadataModel.swift; sourceTree = "<group>"; };
 		95AEBC9C26A04D4600613729 /* CurrencyRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyRow.swift; sourceTree = "<group>"; };
 		95AEBCA226A0900E00613729 /* CurrencyQuoteModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyQuoteModel.swift; sourceTree = "<group>"; };
-		95B54F4326A4842C001DC0D8 /* Conversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Conversion.swift; sourceTree = "<group>"; };
-		95B54F4526A48852001DC0D8 /* CurrencySelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencySelector.swift; sourceTree = "<group>"; };
+		95B54F4326A4842C001DC0D8 /* ConversionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversionView.swift; sourceTree = "<group>"; };
 		95B54F4926A4A450001DC0D8 /* ConversionBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversionBox.swift; sourceTree = "<group>"; };
 		95B54F5026A4ACAC001DC0D8 /* Sidebar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sidebar.swift; sourceTree = "<group>"; };
 		95B5F52826AADE4B00BDCE89 /* en.xliff */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = en.xliff; sourceTree = "<group>"; };
@@ -153,11 +160,10 @@
 		95B5F53026AADE4B00BDCE89 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		95B5F53526AADE5200BDCE89 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
 		95B5F53626AADE5500BDCE89 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		95C1DD6926D8DF9400315C3F /* CurrencySelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencySelector.swift; sourceTree = "<group>"; };
 		95C5179026A5DC8E00BC2B24 /* ConditionalWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConditionalWrapper.swift; sourceTree = "<group>"; };
 		95C5179826A5EC9F00BC2B24 /* FavoriteButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoriteButton.swift; sourceTree = "<group>"; };
-		95C5179A26A5EFBE00BC2B24 /* Favorite+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Favorite+CoreDataClass.swift"; sourceTree = "<group>"; };
-		95C5179B26A5EFBE00BC2B24 /* Favorite+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Favorite+CoreDataProperties.swift"; sourceTree = "<group>"; };
-		95C5179E26A5F34200BC2B24 /* Favorites.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Favorites.swift; sourceTree = "<group>"; };
+		95C5179E26A5F34200BC2B24 /* FavoritesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoritesView.swift; sourceTree = "<group>"; };
 		95C517A026A5F6C000BC2B24 /* ResignKeyboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResignKeyboard.swift; sourceTree = "<group>"; };
 		95C5B2242697752600941585 /* Simoleon.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Simoleon.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		95C5B2272697752600941585 /* SimoleonApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonApp.swift; sourceTree = "<group>"; };
@@ -166,23 +172,31 @@
 		95C5B2302697752700941585 /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; };
 		95C5B2332697752700941585 /* Simoleon.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Simoleon.xcdatamodel; sourceTree = "<group>"; };
 		95C5B2352697752700941585 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		95C5B23A2697752700941585 /* SimoleonTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimoleonTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
-		95C5B23E2697752700941585 /* SimoleonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonTests.swift; sourceTree = "<group>"; };
-		95C5B2402697752700941585 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		95C5B2452697752700941585 /* SimoleonUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimoleonUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		95C5B2492697752700941585 /* SimoleonUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonUITests.swift; sourceTree = "<group>"; };
 		95C5B24B2697752700941585 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		95D8C8C626A95D2900BCC188 /* SubscriptionPaywall.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscriptionPaywall.swift; sourceTree = "<group>"; };
-		95D8C8CC26A9784500BCC188 /* SubscribeButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscribeButton.swift; sourceTree = "<group>"; };
-		95D8C8CE26A98A7900BCC188 /* RestoreButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RestoreButton.swift; sourceTree = "<group>"; };
-		95D8C8D026A9BC6200BCC188 /* LockedCurrencyPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LockedCurrencyPicker.swift; sourceTree = "<group>"; };
-		95DD4ABA269B33810027CA1F /* CurrencyPairs.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CurrencyPairs.json; sourceTree = "<group>"; };
+		95CE6A3526D50B7700D9DCBD /* CurrencyList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyList.swift; sourceTree = "<group>"; };
+		95DA4B5826D7E2DE00566C5E /* ChildListResets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChildListResets.swift; sourceTree = "<group>"; };
 		95E76435269DFC1A008E9F31 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
 		95E76437269E0033008E9F31 /* Simoleon.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Simoleon.entitlements; sourceTree = "<group>"; };
 		95E76439269E0037008E9F31 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
+		950093C426CBC7A200FEBF67 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		9531D43C26D8E4CF00665D2A /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		959F6DE526BBD53500101E53 /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
@@ -195,15 +209,6 @@
 			buildActionMask = 2147483647;
 			files = (
 				95E7643A269E0037008E9F31 /* CloudKit.framework in Frameworks */,
-				95562D4D26A8962A0047E778 /* StoreKit.framework in Frameworks */,
-				95562D5226A8AEF60047E778 /* Purchases in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		95C5B2372697752700941585 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -217,36 +222,41 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		950093C826CBC7A200FEBF67 /* SimoleonAppPreview */ = {
+			isa = PBXGroup;
+			children = (
+				950093C926CBC7A200FEBF67 /* SimoleonAppPreview.swift */,
+				950093CB26CBC7A200FEBF67 /* Info.plist */,
+			);
+			path = SimoleonAppPreview;
+			sourceTree = "<group>";
+		};
+		9531D44026D8E4CF00665D2A /* SimoleonTests */ = {
+			isa = PBXGroup;
+			children = (
+				9531D44126D8E4CF00665D2A /* SimoleonTests.swift */,
+				9531D44326D8E4CF00665D2A /* Info.plist */,
+			);
+			path = SimoleonTests;
+			sourceTree = "<group>";
+		};
 		95559331269B094A000FD726 /* Models */ = {
 			isa = PBXGroup;
 			children = (
-				950A377526A820F400CAB175 /* DefaultCurrency+CoreDataClass.swift */,
-				950A377626A820F400CAB175 /* DefaultCurrency+CoreDataProperties.swift */,
-				95C5179A26A5EFBE00BC2B24 /* Favorite+CoreDataClass.swift */,
-				95C5179B26A5EFBE00BC2B24 /* Favorite+CoreDataProperties.swift */,
-				95AEBC9A26A04A4200613729 /* CurrencyMetadataModel.swift */,
+				95AC820526DAA3ED00CD5C3F /* FavoritePair+CoreDataClass.swift */,
+				95AC820626DAA3ED00CD5C3F /* FavoritePair+CoreDataProperties.swift */,
 				95AEBCA226A0900E00613729 /* CurrencyQuoteModel.swift */,
-				958526C226B41D60001FC826 /* CurrencyPairModel.swift */,
+				953B8B1626D3A970003CF530 /* CurrencyModel.swift */,
+				957DCF3226D7ADEA00BCAB1E /* CurrencyConversion.swift */,
 			);
 			path = Models;
 			sourceTree = "<group>";
 		};
-		95559338269B0AAA000FD726 /* Functions */ = {
-			isa = PBXGroup;
-			children = (
-				95559339269B0AB8000FD726 /* ParseJson.swift */,
-				9585BB1126A6B71B00E3193E /* ReadConfig.swift */,
-				9585BB1326A6B7F400E3193E /* NetworkRequest.swift */,
-				9585BB1926A6E8FD00E3193E /* SimpleSuccess.swift */,
-			);
-			path = Functions;
-			sourceTree = "<group>";
-		};
 		9555933B269B0DF9000FD726 /* Resources */ = {
 			isa = PBXGroup;
 			children = (
-				9587598F26B2A68B004086F0 /* CurrencyMetadata.json */,
-				95DD4ABA269B33810027CA1F /* CurrencyPairs.json */,
+				9501E13726D3A52000D14DE5 /* Currencies.json */,
+				9501E13926D3A55200D14DE5 /* CurrencyPairsSupported.json */,
 			);
 			path = Resources;
 			sourceTree = "<group>";
@@ -306,11 +316,11 @@
 		95C5B21B2697752600941585 = {
 			isa = PBXGroup;
 			children = (
-				956088B526B9307600A4FD6C /* SnapshotHelper.swift */,
 				95C5B2262697752600941585 /* Simoleon */,
-				95C5B23D2697752700941585 /* SimoleonTests */,
+				9531D44026D8E4CF00665D2A /* SimoleonTests */,
 				95C5B2482697752700941585 /* SimoleonUITests */,
 				959F6DE926BBD53500101E53 /* SimoleonScreenshots */,
+				950093C826CBC7A200FEBF67 /* SimoleonAppPreview */,
 				95C5B2252697752600941585 /* Products */,
 				95E76438269E0037008E9F31 /* Frameworks */,
 			);
@@ -320,9 +330,10 @@
 			isa = PBXGroup;
 			children = (
 				95C5B2242697752600941585 /* Simoleon.app */,
-				95C5B23A2697752700941585 /* SimoleonTests.xctest */,
 				95C5B2452697752700941585 /* SimoleonUITests.xctest */,
 				959F6DE826BBD53500101E53 /* SimoleonScreenshots.xctest */,
+				950093C726CBC7A200FEBF67 /* SimoleonAppPreview.xctest */,
+				9531D43F26D8E4CF00665D2A /* SimoleonTests.xctest */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -332,24 +343,22 @@
 			children = (
 				95E76437269E0033008E9F31 /* Simoleon.entitlements */,
 				9585BB0F26A6B58500E3193E /* Config.xcconfig */,
-				9522BEA826B5A4D20076B098 /* AppDelegate.swift */,
-				95C5B2272697752600941585 /* SimoleonApp.swift */,
-				95AEBC9426A03ECB00613729 /* ContentView.swift */,
-				95B54F4326A4842C001DC0D8 /* Conversion.swift */,
-				95C5179E26A5F34200BC2B24 /* Favorites.swift */,
-				957065E126A5FE0400523E68 /* Settings.swift */,
-				95D8C8C626A95D2900BCC188 /* SubscriptionPaywall.swift */,
 				95C5B22B2697752700941585 /* Assets.xcassets */,
-				95C5B2302697752700941585 /* Persistence.swift */,
 				95C5B2352697752700941585 /* Info.plist */,
 				95C5B2322697752700941585 /* Simoleon.xcdatamodeld */,
 				95E76435269DFC1A008E9F31 /* LaunchScreen.storyboard */,
+				95C5B2272697752600941585 /* SimoleonApp.swift */,
+				95AEBC9426A03ECB00613729 /* ContentView.swift */,
+				95B54F4326A4842C001DC0D8 /* ConversionView.swift */,
+				95C5179E26A5F34200BC2B24 /* FavoritesView.swift */,
+				957065E126A5FE0400523E68 /* AboutView.swift */,
+				95DA4B5226D7D09A00566C5E /* UI */,
 				95FE659A269AFB44008745DE /* Helpers */,
 				95559331269B094A000FD726 /* Models */,
-				95559338269B0AAA000FD726 /* Functions */,
 				9555933B269B0DF9000FD726 /* Resources */,
 				95B5F52526AADE4B00BDCE89 /* Localization */,
 				95C5B22D2697752700941585 /* Preview Content */,
+				95DA4B5726D7E2B400566C5E /* Tests */,
 			);
 			path = Simoleon;
 			sourceTree = "<group>";
@@ -362,15 +371,6 @@
 			path = "Preview Content";
 			sourceTree = "<group>";
 		};
-		95C5B23D2697752700941585 /* SimoleonTests */ = {
-			isa = PBXGroup;
-			children = (
-				95C5B23E2697752700941585 /* SimoleonTests.swift */,
-				95C5B2402697752700941585 /* Info.plist */,
-			);
-			path = SimoleonTests;
-			sourceTree = "<group>";
-		};
 		95C5B2482697752700941585 /* SimoleonUITests */ = {
 			isa = PBXGroup;
 			children = (
@@ -380,6 +380,34 @@
 			path = SimoleonUITests;
 			sourceTree = "<group>";
 		};
+		95DA4B5226D7D09A00566C5E /* UI */ = {
+			isa = PBXGroup;
+			children = (
+				95C1DD6926D8DF9400315C3F /* CurrencySelector.swift */,
+				95851CE226D4DAAE004ADA79 /* CurrencyButton.swift */,
+				95CE6A3526D50B7700D9DCBD /* CurrencyList.swift */,
+				95C5179826A5EC9F00BC2B24 /* FavoriteButton.swift */,
+				95B54F4926A4A450001DC0D8 /* ConversionBox.swift */,
+				9547423426DBE56600415B3F /* ConversionTextfield.swift */,
+				95AEBC9C26A04D4600613729 /* CurrencyRow.swift */,
+				95851CE426D4DB4C004ADA79 /* Flag.swift */,
+				95B54F5026A4ACAC001DC0D8 /* Sidebar.swift */,
+				95909CB226B07BFC00D051AB /* SearchBar.swift */,
+				954D95CD26E4F16D005BE568 /* FavoritePairRow.swift */,
+				954D95CF26E4FE28005BE568 /* FavoritesPlaceholder.swift */,
+			);
+			path = UI;
+			sourceTree = "<group>";
+		};
+		95DA4B5726D7E2B400566C5E /* Tests */ = {
+			isa = PBXGroup;
+			children = (
+				95DA4B5826D7E2DE00566C5E /* ChildListResets.swift */,
+				95AC820926DAAC6B00CD5C3F /* ButtonAnimation.swift */,
+			);
+			path = Tests;
+			sourceTree = "<group>";
+		};
 		95E76438269E0037008E9F31 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
@@ -393,19 +421,15 @@
 		95FE659A269AFB44008745DE /* Helpers */ = {
 			isa = PBXGroup;
 			children = (
-				95B54F4526A48852001DC0D8 /* CurrencySelector.swift */,
-				95AEBC9C26A04D4600613729 /* CurrencyRow.swift */,
-				95B54F4926A4A450001DC0D8 /* ConversionBox.swift */,
-				95B54F5026A4ACAC001DC0D8 /* Sidebar.swift */,
+				95C5B2302697752700941585 /* Persistence.swift */,
+				9522CD9C26CED2E100DD9D03 /* ErrorHandling.swift */,
+				9585BB1326A6B7F400E3193E /* NetworkHelper.swift */,
+				9585BB1926A6E8FD00E3193E /* HapticsHelper.swift */,
+				95AA42EC26D78A4A0085570D /* FileHelper.swift */,
+				956088B526B9307600A4FD6C /* SnapshotHelper.swift */,
 				95C5179026A5DC8E00BC2B24 /* ConditionalWrapper.swift */,
-				95C5179826A5EC9F00BC2B24 /* FavoriteButton.swift */,
+				9522BEAA26B5AACB0076B098 /* ListModifier.swift */,
 				95C517A026A5F6C000BC2B24 /* ResignKeyboard.swift */,
-				95D8C8CC26A9784500BCC188 /* SubscribeButton.swift */,
-				95D8C8CE26A98A7900BCC188 /* RestoreButton.swift */,
-				95D8C8D026A9BC6200BCC188 /* LockedCurrencyPicker.swift */,
-				95561E3E26AF25EF00CCB543 /* SubscriptionFeature.swift */,
-				95909CB226B07BFC00D051AB /* SearchBar.swift */,
-				9522BEAA26B5AACB0076B098 /* ListModifier.swift */,
 			);
 			path = Helpers;
 			sourceTree = "<group>";
@@ -413,6 +437,42 @@
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
+		950093C626CBC7A200FEBF67 /* SimoleonAppPreview */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 950093D126CBC7A200FEBF67 /* Build configuration list for PBXNativeTarget "SimoleonAppPreview" */;
+			buildPhases = (
+				950093C326CBC7A200FEBF67 /* Sources */,
+				950093C426CBC7A200FEBF67 /* Frameworks */,
+				950093C526CBC7A200FEBF67 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				950093CD26CBC7A200FEBF67 /* PBXTargetDependency */,
+			);
+			name = SimoleonAppPreview;
+			productName = SimoleonAppPreview;
+			productReference = 950093C726CBC7A200FEBF67 /* SimoleonAppPreview.xctest */;
+			productType = "com.apple.product-type.bundle.ui-testing";
+		};
+		9531D43E26D8E4CF00665D2A /* SimoleonTests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 9531D44626D8E4CF00665D2A /* Build configuration list for PBXNativeTarget "SimoleonTests" */;
+			buildPhases = (
+				9531D43B26D8E4CF00665D2A /* Sources */,
+				9531D43C26D8E4CF00665D2A /* Frameworks */,
+				9531D43D26D8E4CF00665D2A /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				9531D44526D8E4CF00665D2A /* PBXTargetDependency */,
+			);
+			name = SimoleonTests;
+			productName = SimoleonTests;
+			productReference = 9531D43F26D8E4CF00665D2A /* SimoleonTests.xctest */;
+			productType = "com.apple.product-type.bundle.unit-test";
+		};
 		959F6DE726BBD53500101E53 /* SimoleonScreenshots */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 959F6DF126BBD53500101E53 /* Build configuration list for PBXNativeTarget "SimoleonScreenshots" */;
@@ -446,32 +506,11 @@
 			);
 			name = Simoleon;
 			packageProductDependencies = (
-				95562D5126A8AEF60047E778 /* Purchases */,
 			);
 			productName = Simoleon;
 			productReference = 95C5B2242697752600941585 /* Simoleon.app */;
 			productType = "com.apple.product-type.application";
 		};
-		95C5B2392697752700941585 /* SimoleonTests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 95C5B2512697752700941585 /* Build configuration list for PBXNativeTarget "SimoleonTests" */;
-			buildPhases = (
-				95C5B2362697752700941585 /* Sources */,
-				95C5B2372697752700941585 /* Frameworks */,
-				95C5B2382697752700941585 /* Resources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				95C5B23C2697752700941585 /* PBXTargetDependency */,
-			);
-			name = SimoleonTests;
-			packageProductDependencies = (
-			);
-			productName = SimoleonTests;
-			productReference = 95C5B23A2697752700941585 /* SimoleonTests.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
 		95C5B2442697752700941585 /* SimoleonUITests */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 95C5B2542697752700941585 /* Build configuration list for PBXNativeTarget "SimoleonUITests" */;
@@ -499,6 +538,14 @@
 				LastSwiftUpdateCheck = 1250;
 				LastUpgradeCheck = 1250;
 				TargetAttributes = {
+					950093C626CBC7A200FEBF67 = {
+						CreatedOnToolsVersion = 12.5.1;
+						TestTargetID = 95C5B2232697752600941585;
+					};
+					9531D43E26D8E4CF00665D2A = {
+						CreatedOnToolsVersion = 12.5.1;
+						TestTargetID = 95C5B2232697752600941585;
+					};
 					959F6DE726BBD53500101E53 = {
 						CreatedOnToolsVersion = 12.5.1;
 						TestTargetID = 95C5B2232697752600941585;
@@ -506,10 +553,6 @@
 					95C5B2232697752600941585 = {
 						CreatedOnToolsVersion = 12.5.1;
 					};
-					95C5B2392697752700941585 = {
-						CreatedOnToolsVersion = 12.5.1;
-						TestTargetID = 95C5B2232697752600941585;
-					};
 					95C5B2442697752700941585 = {
 						CreatedOnToolsVersion = 12.5.1;
 						TestTargetID = 95C5B2232697752600941585;
@@ -541,14 +584,29 @@
 			projectRoot = "";
 			targets = (
 				95C5B2232697752600941585 /* Simoleon */,
-				95C5B2392697752700941585 /* SimoleonTests */,
+				9531D43E26D8E4CF00665D2A /* SimoleonTests */,
 				95C5B2442697752700941585 /* SimoleonUITests */,
 				959F6DE726BBD53500101E53 /* SimoleonScreenshots */,
+				950093C626CBC7A200FEBF67 /* SimoleonAppPreview */,
 			);
 		};
 /* End PBXProject section */
 
 /* Begin PBXResourcesBuildPhase section */
+		950093C526CBC7A200FEBF67 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		9531D43D26D8E4CF00665D2A /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		959F6DE626BBD53500101E53 /* Resources */ = {
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -560,25 +618,18 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				95DD4ABB269B33810027CA1F /* CurrencyPairs.json in Resources */,
 				95C5B22F2697752700941585 /* Preview Assets.xcassets in Resources */,
 				95E76436269DFC1A008E9F31 /* LaunchScreen.storyboard in Resources */,
-				9587598D26B2A68B004086F0 /* CurrencyMetadata.json in Resources */,
 				95B5F53126AADE4B00BDCE89 /* en.xliff in Resources */,
+				9501E13A26D3A55200D14DE5 /* CurrencyPairsSupported.json in Resources */,
 				95B5F53326AADE4B00BDCE89 /* Localizable.strings in Resources */,
 				95B5F53226AADE4B00BDCE89 /* contents.json in Resources */,
+				9501E13826D3A52000D14DE5 /* Currencies.json in Resources */,
 				95B5F53426AADE4B00BDCE89 /* InfoPlist.strings in Resources */,
 				95C5B22C2697752700941585 /* Assets.xcassets in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		95C5B2382697752700941585 /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		95C5B2432697752700941585 /* Resources */ = {
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -589,12 +640,28 @@
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
+		950093C326CBC7A200FEBF67 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				950093CA26CBC7A200FEBF67 /* SimoleonAppPreview.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		9531D43B26D8E4CF00665D2A /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				9531D44226D8E4CF00665D2A /* SimoleonTests.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		959F6DE426BBD53500101E53 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 				959F6DEB26BBD53500101E53 /* SimoleonScreenshots.swift in Sources */,
-				959F6DF326BBD54400101E53 /* SnapshotHelper.swift in Sources */,
+				95DA4B5626D7D10100566C5E /* SnapshotHelper.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -603,46 +670,38 @@
 			buildActionMask = 2147483647;
 			files = (
 				95C5179926A5EC9F00BC2B24 /* FavoriteButton.swift in Sources */,
-				95C5179C26A5EFBE00BC2B24 /* Favorite+CoreDataClass.swift in Sources */,
-				950A377826A820F800CAB175 /* DefaultCurrency+CoreDataClass.swift in Sources */,
+				95AC820726DAA3ED00CD5C3F /* FavoritePair+CoreDataClass.swift in Sources */,
+				9522CD9D26CED2E100DD9D03 /* ErrorHandling.swift in Sources */,
+				95AA42ED26D78A4A0085570D /* FileHelper.swift in Sources */,
+				95851CE326D4DAAE004ADA79 /* CurrencyButton.swift in Sources */,
 				95C5B2312697752700941585 /* Persistence.swift in Sources */,
-				9585BB1226A6B71B00E3193E /* ReadConfig.swift in Sources */,
+				95DA4B5926D7E2DE00566C5E /* ChildListResets.swift in Sources */,
 				95AEBC9526A03ECB00613729 /* ContentView.swift in Sources */,
 				9522BEAB26B5AACB0076B098 /* ListModifier.swift in Sources */,
 				95909CB326B07BFC00D051AB /* SearchBar.swift in Sources */,
-				95AEBC9B26A04A4200613729 /* CurrencyMetadataModel.swift in Sources */,
-				9522BEA926B5A4D20076B098 /* AppDelegate.swift in Sources */,
-				95D8C8CD26A9784500BCC188 /* SubscribeButton.swift in Sources */,
-				950A377726A820F800CAB175 /* DefaultCurrency+CoreDataProperties.swift in Sources */,
-				9585BB1A26A6E8FD00E3193E /* SimpleSuccess.swift in Sources */,
-				9555933A269B0AB8000FD726 /* ParseJson.swift in Sources */,
-				95D8C8CF26A98A7900BCC188 /* RestoreButton.swift in Sources */,
-				95C5179D26A5EFBE00BC2B24 /* Favorite+CoreDataProperties.swift in Sources */,
-				95C5179F26A5F34200BC2B24 /* Favorites.swift in Sources */,
+				95C1DD6A26D8DF9400315C3F /* CurrencySelector.swift in Sources */,
+				95851CE526D4DB4C004ADA79 /* Flag.swift in Sources */,
+				9585BB1A26A6E8FD00E3193E /* HapticsHelper.swift in Sources */,
+				95C5179F26A5F34200BC2B24 /* FavoritesView.swift in Sources */,
 				95C5B2282697752600941585 /* SimoleonApp.swift in Sources */,
+				954D95D026E4FE28005BE568 /* FavoritesPlaceholder.swift in Sources */,
 				95B54F4A26A4A450001DC0D8 /* ConversionBox.swift in Sources */,
-				95D8C8C726A95D2900BCC188 /* SubscriptionPaywall.swift in Sources */,
-				95D8C8D126A9BC6200BCC188 /* LockedCurrencyPicker.swift in Sources */,
+				954D95CE26E4F16D005BE568 /* FavoritePairRow.swift in Sources */,
+				95AC820A26DAAC6B00CD5C3F /* ButtonAnimation.swift in Sources */,
+				95AC820826DAA3ED00CD5C3F /* FavoritePair+CoreDataProperties.swift in Sources */,
 				95C517A126A5F6C000BC2B24 /* ResignKeyboard.swift in Sources */,
+				95CE6A3626D50B7700D9DCBD /* CurrencyList.swift in Sources */,
+				957DCF3326D7ADEA00BCAB1E /* CurrencyConversion.swift in Sources */,
 				95AEBC9D26A04D4600613729 /* CurrencyRow.swift in Sources */,
 				95AEBCA326A0900E00613729 /* CurrencyQuoteModel.swift in Sources */,
-				9585BB1426A6B7F400E3193E /* NetworkRequest.swift in Sources */,
-				957065E226A5FE0400523E68 /* Settings.swift in Sources */,
-				95B54F4426A4842C001DC0D8 /* Conversion.swift in Sources */,
-				958526C326B41D60001FC826 /* CurrencyPairModel.swift in Sources */,
+				9585BB1426A6B7F400E3193E /* NetworkHelper.swift in Sources */,
+				957065E226A5FE0400523E68 /* AboutView.swift in Sources */,
+				95B54F4426A4842C001DC0D8 /* ConversionView.swift in Sources */,
 				95C5B2342697752700941585 /* Simoleon.xcdatamodeld in Sources */,
+				953B8B1726D3A970003CF530 /* CurrencyModel.swift in Sources */,
 				95C5179126A5DC8E00BC2B24 /* ConditionalWrapper.swift in Sources */,
 				95B54F5126A4ACAC001DC0D8 /* Sidebar.swift in Sources */,
-				95B54F4626A48852001DC0D8 /* CurrencySelector.swift in Sources */,
-				95561E3F26AF25EF00CCB543 /* SubscriptionFeature.swift in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		95C5B2362697752700941585 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				95C5B23F2697752700941585 /* SimoleonTests.swift in Sources */,
+				9547423526DBE56600415B3F /* ConversionTextfield.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -657,16 +716,21 @@
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
+		950093CD26CBC7A200FEBF67 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 95C5B2232697752600941585 /* Simoleon */;
+			targetProxy = 950093CC26CBC7A200FEBF67 /* PBXContainerItemProxy */;
+		};
+		9531D44526D8E4CF00665D2A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 95C5B2232697752600941585 /* Simoleon */;
+			targetProxy = 9531D44426D8E4CF00665D2A /* PBXContainerItemProxy */;
+		};
 		959F6DEE26BBD53500101E53 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = 95C5B2232697752600941585 /* Simoleon */;
 			targetProxy = 959F6DED26BBD53500101E53 /* PBXContainerItemProxy */;
 		};
-		95C5B23C2697752700941585 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 95C5B2232697752600941585 /* Simoleon */;
-			targetProxy = 95C5B23B2697752700941585 /* PBXContainerItemProxy */;
-		};
 		95C5B2472697752700941585 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = 95C5B2232697752600941585 /* Simoleon */;
@@ -675,23 +739,6 @@
 /* End PBXTargetDependency section */
 
 /* Begin PBXVariantGroup section */
-		9587598F26B2A68B004086F0 /* CurrencyMetadata.json */ = {
-			isa = PBXVariantGroup;
-			children = (
-				9587598E26B2A68B004086F0 /* Base */,
-				9587599026B2A69A004086F0 /* en */,
-				9587599326B2A6A2004086F0 /* nl */,
-				9587599426B2A6A3004086F0 /* en-GB */,
-				9587599526B2A6A4004086F0 /* fr */,
-				9587599626B2A6A5004086F0 /* de */,
-				9587599726B2A6A5004086F0 /* it */,
-				9587599A26B2A6A8004086F0 /* pt-PT */,
-				9587599B26B2A6A8004086F0 /* ru */,
-				9587599C26B2A6AA004086F0 /* es */,
-			);
-			name = CurrencyMetadata.json;
-			sourceTree = "<group>";
-		};
 		95B5F52D26AADE4B00BDCE89 /* Localizable.strings */ = {
 			isa = PBXVariantGroup;
 			children = (
@@ -727,6 +774,129 @@
 /* End PBXVariantGroup section */
 
 /* Begin XCBuildConfiguration section */
+		950093CE26CBC7A200FEBF67 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_TEAM = MTX83R5H8X;
+				INFOPLIST_FILE = SimoleonAppPreview/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 14.5;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonAppPreview;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				TEST_TARGET_NAME = Simoleon;
+			};
+			name = Debug;
+		};
+		950093CF26CBC7A200FEBF67 /* Screenshots */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_TEAM = MTX83R5H8X;
+				INFOPLIST_FILE = SimoleonAppPreview/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 14.5;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonAppPreview;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				TEST_TARGET_NAME = Simoleon;
+			};
+			name = Screenshots;
+		};
+		950093D026CBC7A200FEBF67 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_TEAM = MTX83R5H8X;
+				INFOPLIST_FILE = SimoleonAppPreview/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 14.5;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonAppPreview;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				TEST_TARGET_NAME = Simoleon;
+			};
+			name = Release;
+		};
+		9531D44726D8E4CF00665D2A /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				BUNDLE_LOADER = "$(TEST_HOST)";
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_TEAM = MTX83R5H8X;
+				INFOPLIST_FILE = SimoleonTests/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 14.5;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonTests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Simoleon.app/Simoleon";
+			};
+			name = Debug;
+		};
+		9531D44826D8E4CF00665D2A /* Screenshots */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				BUNDLE_LOADER = "$(TEST_HOST)";
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_TEAM = MTX83R5H8X;
+				INFOPLIST_FILE = SimoleonTests/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 14.5;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonTests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Simoleon.app/Simoleon";
+			};
+			name = Screenshots;
+		};
+		9531D44926D8E4CF00665D2A /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				BUNDLE_LOADER = "$(TEST_HOST)";
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_TEAM = MTX83R5H8X;
+				INFOPLIST_FILE = SimoleonTests/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 14.5;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonTests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Simoleon.app/Simoleon";
+			};
+			name = Release;
+		};
 		959F6DEF26BBD53500101E53 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -851,7 +1021,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 1.3.1;
+				MARKETING_VERSION = 1.3.2;
 				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.Simoleon;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_ACTIVE_COMPILATION_CONDITIONS = SCREENSHOTS;
@@ -860,28 +1030,6 @@
 			};
 			name = Screenshots;
 		};
-		95B9EECF26CAC9EF00D94D60 /* Screenshots */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = MTX83R5H8X;
-				INFOPLIST_FILE = SimoleonTests/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
-				LD_RUNPATH_SEARCH_PATHS = (
-					"$(inherited)",
-					"@executable_path/Frameworks",
-					"@loader_path/Frameworks",
-				);
-				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonTests;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SWIFT_VERSION = 5.0;
-				TARGETED_DEVICE_FAMILY = "1,2";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Simoleon.app/Simoleon";
-			};
-			name = Screenshots;
-		};
 		95B9EED026CAC9EF00D94D60 /* Screenshots */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -1061,7 +1209,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 1.3.1;
+				MARKETING_VERSION = 1.3.2;
 				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.Simoleon;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_VERSION = 5.0;
@@ -1086,7 +1234,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 1.3.1;
+				MARKETING_VERSION = 1.3.2;
 				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.Simoleon;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_VERSION = 5.0;
@@ -1094,50 +1242,6 @@
 			};
 			name = Release;
 		};
-		95C5B2522697752700941585 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = MTX83R5H8X;
-				INFOPLIST_FILE = SimoleonTests/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
-				LD_RUNPATH_SEARCH_PATHS = (
-					"$(inherited)",
-					"@executable_path/Frameworks",
-					"@loader_path/Frameworks",
-				);
-				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonTests;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SWIFT_VERSION = 5.0;
-				TARGETED_DEVICE_FAMILY = "1,2";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Simoleon.app/Simoleon";
-			};
-			name = Debug;
-		};
-		95C5B2532697752700941585 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = MTX83R5H8X;
-				INFOPLIST_FILE = SimoleonTests/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
-				LD_RUNPATH_SEARCH_PATHS = (
-					"$(inherited)",
-					"@executable_path/Frameworks",
-					"@loader_path/Frameworks",
-				);
-				PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonTests;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SWIFT_VERSION = 5.0;
-				TARGETED_DEVICE_FAMILY = "1,2";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Simoleon.app/Simoleon";
-			};
-			name = Release;
-		};
 		95C5B2552697752700941585 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -1181,6 +1285,26 @@
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
+		950093D126CBC7A200FEBF67 /* Build configuration list for PBXNativeTarget "SimoleonAppPreview" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				950093CE26CBC7A200FEBF67 /* Debug */,
+				950093CF26CBC7A200FEBF67 /* Screenshots */,
+				950093D026CBC7A200FEBF67 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		9531D44626D8E4CF00665D2A /* Build configuration list for PBXNativeTarget "SimoleonTests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				9531D44726D8E4CF00665D2A /* Debug */,
+				9531D44826D8E4CF00665D2A /* Screenshots */,
+				9531D44926D8E4CF00665D2A /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 		959F6DF126BBD53500101E53 /* Build configuration list for PBXNativeTarget "SimoleonScreenshots" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
@@ -1211,16 +1335,6 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		95C5B2512697752700941585 /* Build configuration list for PBXNativeTarget "SimoleonTests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				95C5B2522697752700941585 /* Debug */,
-				95B9EECF26CAC9EF00D94D60 /* Screenshots */,
-				95C5B2532697752700941585 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
 		95C5B2542697752700941585 /* Build configuration list for PBXNativeTarget "SimoleonUITests" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
@@ -1244,14 +1358,6 @@
 		};
 /* End XCRemoteSwiftPackageReference section */
 
-/* Begin XCSwiftPackageProductDependency section */
-		95562D5126A8AEF60047E778 /* Purchases */ = {
-			isa = XCSwiftPackageProductDependency;
-			package = 95562D5026A8AEF60047E778 /* XCRemoteSwiftPackageReference "purchases-ios" */;
-			productName = Purchases;
-		};
-/* End XCSwiftPackageProductDependency section */
-
 /* Begin XCVersionGroup section */
 		95C5B2322697752700941585 /* Simoleon.xcdatamodeld */ = {
 			isa = XCVersionGroup;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon.xcodeproj/xcshareddata/xcschemes/AppPreview.xcscheme	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1250"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "NO"
+            buildForArchiving = "NO"
+            buildForAnalyzing = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "95C5B2232697752600941585"
+               BuildableName = "Simoleon.app"
+               BlueprintName = "Simoleon"
+               ReferencedContainer = "container:Simoleon.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+         <BuildActionEntry
+            buildForTesting = "NO"
+            buildForRunning = "NO"
+            buildForProfiling = "NO"
+            buildForArchiving = "NO"
+            buildForAnalyzing = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "95C5B2442697752700941585"
+               BuildableName = "SimoleonUITests.xctest"
+               BlueprintName = "SimoleonUITests"
+               ReferencedContainer = "container:Simoleon.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+         <BuildActionEntry
+            buildForTesting = "NO"
+            buildForRunning = "NO"
+            buildForProfiling = "NO"
+            buildForArchiving = "NO"
+            buildForAnalyzing = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "95C5B2392697752700941585"
+               BuildableName = "SimoleonTests.xctest"
+               BlueprintName = "SimoleonTests"
+               ReferencedContainer = "container:Simoleon.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+         <BuildActionEntry
+            buildForTesting = "NO"
+            buildForRunning = "NO"
+            buildForProfiling = "NO"
+            buildForArchiving = "NO"
+            buildForAnalyzing = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "959F6DE726BBD53500101E53"
+               BuildableName = "SimoleonScreenshots.xctest"
+               BlueprintName = "SimoleonScreenshots"
+               ReferencedContainer = "container:Simoleon.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Screenshots"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "NO">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "95C5B2232697752600941585"
+            BuildableName = "Simoleon.app"
+            BlueprintName = "Simoleon"
+            ReferencedContainer = "container:Simoleon.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+      <Testables>
+         <TestableReference
+            skipped = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "950093C626CBC7A200FEBF67"
+               BuildableName = "SimoleonAppPreview.xctest"
+               BlueprintName = "SimoleonAppPreview"
+               ReferencedContainer = "container:Simoleon.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Screenshots"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      disableMainThreadChecker = "YES"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "95C5B2232697752600941585"
+            BuildableName = "Simoleon.app"
+            BlueprintName = "Simoleon"
+            ReferencedContainer = "container:Simoleon.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "95C5B2232697752600941585"
+            BuildableName = "Simoleon.app"
+            BlueprintName = "Simoleon"
+            ReferencedContainer = "container:Simoleon.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
--- a/Simoleon.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme	Tue Oct 12 16:17:35 2021 +0200
@@ -42,7 +42,7 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BlueprintIdentifier = "95C5B2392697752700941585"
+               BlueprintIdentifier = "9531D43E26D8E4CF00665D2A"
                BuildableName = "SimoleonTests.xctest"
                BlueprintName = "SimoleonTests"
                ReferencedContainer = "container:Simoleon.xcodeproj">
@@ -81,6 +81,16 @@
                ReferencedContainer = "container:Simoleon.xcodeproj">
             </BuildableReference>
          </TestableReference>
+         <TestableReference
+            skipped = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "950093C626CBC7A200FEBF67"
+               BuildableName = "SimoleonAppPreview.xctest"
+               BlueprintName = "SimoleonAppPreview"
+               ReferencedContainer = "container:Simoleon.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
       </Testables>
    </TestAction>
    <LaunchAction
--- a/Simoleon.xcodeproj/xcshareddata/xcschemes/Simoleon.xcscheme	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon.xcodeproj/xcshareddata/xcschemes/Simoleon.xcscheme	Tue Oct 12 16:17:35 2021 +0200
@@ -42,7 +42,7 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BlueprintIdentifier = "95C5B2392697752700941585"
+               BlueprintIdentifier = "9531D43E26D8E4CF00665D2A"
                BuildableName = "SimoleonTests.xctest"
                BlueprintName = "SimoleonTests"
                ReferencedContainer = "container:Simoleon.xcodeproj">
@@ -69,13 +69,14 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES"
-      language = "en">
+      language = "en"
+      codeCoverageEnabled = "YES">
       <Testables>
          <TestableReference
             skipped = "NO">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BlueprintIdentifier = "95C5B2392697752700941585"
+               BlueprintIdentifier = "9531D43E26D8E4CF00665D2A"
                BuildableName = "SimoleonTests.xctest"
                BlueprintName = "SimoleonTests"
                ReferencedContainer = "container:Simoleon.xcodeproj">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/AboutView.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,72 @@
+//
+//  AboutView.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 19/07/2021.
+//
+
+import SwiftUI
+
+struct AboutView: View {
+    var body: some View {
+        Form {
+            Section(header: Text("Feedback")) {
+                Link(destination: URL(string: "https://itunes.apple.com/app/id1576390953?action=write-review")!) {
+                    HStack {
+                        Image(systemName: "heart.fill")
+                            .foregroundColor(Color(.systemRed))
+                            .imageScale(.large)
+
+                        Text("Rate Simoleon")
+                    }
+                }
+            }
+            
+            Section(header: Text("Stay in touch")) {
+                Link(destination: URL(string: "https://twitter.com/dennisconcep")!) {
+                    HStack {
+                        Image("TwitterLogo")
+                            .resizable()
+                            .frame(width: 30, height: 30)
+                        
+                        Text("Developer's Twitter")
+                    }
+                }
+                
+                Link(destination: URL(string: "https://dennistech.io/contact")!) {
+                    HStack {
+                        Image(systemName: "envelope.fill")
+                            .foregroundColor(Color(.systemIndigo))
+                            .imageScale(.large)
+                        
+                        Text("Contact")
+                    }
+                }
+            }
+            
+            Section(header: Text("Information")) {
+                Link(destination: URL(string: "https://dennistech.io")!) {
+                    Text("Website")
+                }
+                
+                Link(destination: URL(string: "https://dennistech.io/simoleon-privacy-policy")!) {
+                    Text("Privacy Policy")
+                }
+                
+                Link(destination: URL(string: "https://dennistech.io/simoleon-terms-of-use")!) {
+                    Text("Terms of Use")
+                }
+            }
+        }
+        .navigationTitle("About")
+        .if(UIDevice.current.userInterfaceIdiom == .phone) { content in
+            NavigationView { content }
+        }
+    }
+}
+
+struct AboutView_Previews: PreviewProvider {
+    static var previews: some View {
+        AboutView()
+    }
+}
--- a/Simoleon/AppDelegate.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-//
-//  AppDelegate.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 31/7/21.
-//
-
-import SwiftUI
-import Purchases
-
-// Add an AppDelegate to a SwiftUI app
-class AppDelegate: NSObject, UIApplicationDelegate, PurchasesDelegate {
-    
-    // Set delegate to Purchases
-    func application(
-        _ application: UIApplication,
-        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
-    ) -> Bool {
-        Purchases.shared.delegate = self
-        return true
-    }
-    
-    // Handle purchases started on the App Store
-    func purchases(
-        _ purchases: Purchases,
-        shouldPurchasePromoProduct product: SKProduct,
-        defermentBlock makeDeferredPurchase: @escaping RCDeferredPromotionalPurchaseBlock
-    ) {
-        makeDeferredPurchase { (transaction, purchaserInfo, error, userCancelled) in
-            if purchaserInfo?.entitlements["all"]?.isActive == true {
-                print("Subscription purchased from App Store")
-            }
-        }
-    }
-}
Binary file Simoleon/Assets.xcassets/Flags/AAVE.imageset/AAVE.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/AAVE.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "AAVE.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/ADA.imageset/ADA.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/ADA.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "ADA.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/BNB.imageset/BNB.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/BNB.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "BNB.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/DOGE.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "DOGE.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/DOGE.imageset/DOGE.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/DOT.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "DOT.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/DOT.imageset/DOT.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/FIL.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "FIL.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/FIL.imageset/FIL.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/LINK.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "LINK.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/LINK.imageset/LINK.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/LUNA.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "LUNA.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/LUNA.imageset/LUNA.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/MATIC.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "MATIC.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/MATIC.imageset/MATIC.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/SOL.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "SOL.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/SOL.imageset/SOL.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/THETA.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "THETA.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/THETA.imageset/THETA.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/UKO.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "UKO.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/UKO.imageset/UKO.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/UNI.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "UNI.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/UNI.imageset/UNI.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/USDC.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "USDC.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/USDC.imageset/USDC.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/VET.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "VET.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/VET.imageset/VET.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/XDR.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "XDR.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/XDR.imageset/XDR.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/XLM.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "XLM.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/XLM.imageset/XLM.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Assets.xcassets/Flags/XMR.imageset/Contents.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "XMR.png",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file Simoleon/Assets.xcassets/Flags/XMR.imageset/XMR.png has changed
--- a/Simoleon/ContentView.swift	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon/ContentView.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -8,9 +8,6 @@
 import SwiftUI
 
 struct ContentView: View {
-    @Environment(\.managedObjectContext) private var viewContext
-    @FetchRequest(sortDescriptors: []) private var defaultCurrency: FetchedResults<DefaultCurrency>
-    
     @State private var tab: Tab = .convert
     
     private enum Tab {
@@ -18,30 +15,31 @@
     }
     
     @ViewBuilder var adjustedView: some View {
+        
         // MARK: - iPad
         if UIDevice.current.userInterfaceIdiom == .pad {
             NavigationView {
                 Sidebar()
-                Conversion(currencyPair: defaultCurrency.first?.pair ?? "USD/GBP")
+                ConversionView()
             }
         } else {
             // MARK: - iPhone
             TabView(selection: $tab) {
-                Conversion(currencyPair: defaultCurrency.first?.pair ?? "USD/GBP")
+                ConversionView()
                     .tabItem {
                         Label("Convert", systemImage: "arrow.counterclockwise.circle")
                     }
                     .tag(Tab.convert)
                 
-                Favorites()
+                FavoritesView()
                     .tabItem {
                         Label("Favorites", systemImage: "star")
                     }
                     .tag(Tab.favorites)
-                
-                Settings()
+
+                AboutView()
                     .tabItem {
-                        Label("Settings", systemImage: "gear")
+                        Label("About", systemImage: "info.circle")
                     }
                     .tag(Tab.settings)
             }
--- a/Simoleon/Conversion.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-//
-//  Conversion.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 18/07/2021.
-//
-
-import SwiftUI
-import Purchases
-
-struct Conversion: View {
-    var showNavigationView: Bool?
-    
-    @State var currencyPair: String
-    @State private var amountToConvert = ""
-    @State private var price: Double = 1.00
-    @State private var showingConversion = false
-    @State private var showingCurrencySelector = false
-    @State private var amountIsEditing = false
-    
-    let currencyMetadata: [String: CurrencyMetadataModel] = parseJson("CurrencyMetadata.json")
-    
-    var body: some View {
-        ScrollView(showsIndicators: false) {
-            VStack(alignment: .leading) {
-                HStack {
-                    Button(action: { showingCurrencySelector = true }) {
-                        RoundedRectangle(cornerRadius: 15)
-                            .foregroundColor(Color(.secondarySystemBackground))
-                            .frame(height: 60)
-                            .overlay(
-                                CurrencyRow(currencyPairName: currencyPair)
-                                    .padding(.horizontal)
-                            )
-                    }
-                    .accessibilityIdentifier("OpenCurrencySelector")
-                    
-                    FavoriteButton(currencyPair: currencyPair)
-                }
-                
-                ConversionBox(
-                    currencyPair: $currencyPair,
-                    amountToConvert: $amountToConvert,
-                    price: $price,
-                    showingConversion: $showingConversion,
-                    amountIsEditing: $amountIsEditing
-                )
-            }
-            .padding()
-            .sheet(isPresented: $showingCurrencySelector, onDismiss: request) {
-                CurrencySelector(currencyPair: $currencyPair, showingCurrencySelector: $showingCurrencySelector)
-            }
-        }
-        .onAppear(perform: request)
-        .navigationTitle("Convert")
-        .toolbar {
-            ToolbarItem(placement: .navigationBarTrailing) {
-                if amountIsEditing {
-                    Button(action: {
-                        UIApplication.shared.dismissKeyboard()
-                        amountIsEditing = false
-                    }) {
-                        Text("Done")
-                    }
-                }
-            }
-        }
-        .if(UIDevice.current.userInterfaceIdiom == .phone && showNavigationView ?? true) { content in
-            NavigationView { content }
-        }
-    }
-    
-    private func request() {
-        showingConversion = false
-        let url = "\(readConfig("API_URL")!)quotes?pairs=\(currencyPair)&api_key=\(readConfig("API_KEY")!)"
-        networkRequest(url: url, model: [CurrencyQuoteModel].self) { response in
-            if let price = response.first?.price {
-                self.price = price
-                showingConversion =  true
-            } else {
-                // Handle error
-            }
-        }
-    }
-}
-
-
-struct Conversion_Previews: PreviewProvider {
-    static var previews: some View {
-        Conversion(currencyPair: "USD/GBP")
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/ConversionView.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,39 @@
+//
+//  ConversionView.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 18/07/2021.
+//
+
+import SwiftUI
+
+struct ConversionView: View {
+    var showNavigationView: Bool?
+    @StateObject var currencyConversion = CurrencyConversion()
+    
+    var body: some View {
+        ScrollView(showsIndicators: false) {
+            VStack(alignment: .leading, spacing: 20) {
+                HStack {
+                    CurrencySelector(currencyConversion: currencyConversion)
+                    FavoriteButton(currencyConversion: currencyConversion)
+                }
+                
+                ConversionBox(currencyConversion: currencyConversion)
+                    .padding(.top)
+            }
+            .padding()
+        }
+        .navigationTitle("Convert")
+        .if(UIDevice.current.userInterfaceIdiom == .phone && showNavigationView ?? true) { content in
+            NavigationView { content }
+        }
+    }
+}
+
+
+struct ConversionView_Previews: PreviewProvider {
+    static var previews: some View {
+        ConversionView(showNavigationView: true)
+    }
+}
--- a/Simoleon/Favorites.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-//
-//  Favorites.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 19/07/2021.
-//
-
-import SwiftUI
-
-struct Favorites: View {
-    @Environment(\.managedObjectContext) private var viewContext
-    @FetchRequest(
-        sortDescriptors: [NSSortDescriptor(keyPath: \Favorite.currencyPair, ascending: true)],
-        animation: .default) private var favorites: FetchedResults<Favorite>
-    
-    var body: some View {
-        VStack {
-            if favorites.isEmpty {
-                Group {
-                    Image(systemName: "star")
-                        .font(.title)
-                    
-                    Text("Search a currency pair and add it to favourites.")
-                        .padding(.top, 5)
-                }
-                .multilineTextAlignment(.center)
-                .foregroundColor(.secondary)
-                .padding(.horizontal, 50)
-            } else {
-                List {
-                    ForEach(favorites) { favorite in
-                        NavigationLink(destination: Conversion(showNavigationView: false, currencyPair: favorite.currencyPair)) {
-                            CurrencyRow(currencyPairName: favorite.currencyPair)
-                        }
-                    }
-                    .onDelete(perform: removeFromFavorites)
-                }
-                .listStyle(PlainListStyle())
-            }
-        }
-        .navigationTitle("Favorites")
-        .toolbar {
-            #if os(iOS)
-            EditButton()
-            #endif
-        }
-        .if(UIDevice.current.userInterfaceIdiom == .phone) { content in
-            NavigationView { content }
-        }
-        .onAppear {
-            #if SCREENSHOTS
-            generateFavoritesForScreenshots()
-            #endif
-        }
-    }
-    
-    private func removeFromFavorites(offsets: IndexSet) {
-        withAnimation {
-            offsets.map { favorites[$0] }.forEach(viewContext.delete)
-            
-            do {
-                try viewContext.save()
-            } catch {
-                let nsError = error as NSError
-                fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
-            }
-        }
-    }
-
-    #if SCREENSHOTS
-    /*
-     Save currencies to favourites to take screenshots for the App Store
-     */
-    private func generateFavoritesForScreenshots() {
-        let favoriteCurrencies = [
-            "EUR/USD", "BTC/USD", "USD/HKD", "USD/JPY", "AUD/USD",
-            "XAU/GBP", "DASH/ETH", "EUR/USD", "XAG/CAD"
-        ]
-        
-        let coreDataCurrencyPairs = favorites.map { $0.currencyPair }
-        
-        for favoriteCurrency in favoriteCurrencies {
-            if !coreDataCurrencyPairs.contains(favoriteCurrency) {
-                let favorites = Favorite(context: viewContext)
-                favorites.currencyPair = favoriteCurrency
-                
-                do {
-                    try viewContext.save()
-                } catch {
-                    let nsError = error as NSError
-                    fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
-                }
-            }
-        }
-    }
-    #endif
-}
-
-struct Favorites_Previews: PreviewProvider {
-    static var previews: some View {
-        Favorites()
-            .environment(\.managedObjectContext, PersistenceController.preview.container.viewContext)
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/FavoritesView.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,100 @@
+//
+//  FavoritesView.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 19/07/2021.
+//
+
+import SwiftUI
+
+struct FavoritesView: View {
+    @Environment(\.managedObjectContext) private var viewContext
+    @FetchRequest(
+        sortDescriptors: [NSSortDescriptor(keyPath: \FavoritePair.baseSymbol, ascending: true)],
+        animation: .default)
+    private var favoritePairs: FetchedResults<FavoritePair>
+    
+    var body: some View {
+        VStack {
+            if favoritePairs.isEmpty {
+                FavoritesPlaceholder()
+            } else {
+                List {
+                    ForEach(favoritePairs, id:\.self) { favoritePair in
+                        FavoritePairRow(favoritePair: favoritePair)
+                            .padding(.vertical, 4)
+                    }
+                    .onDelete(perform: removeFromFavorites)
+                }
+                .listStyle(InsetGroupedListStyle())
+            }
+        }
+        .navigationTitle("Favorites")
+        .toolbar {
+            #if os(iOS)
+            EditButton()
+            #endif
+        }
+        .if(UIDevice.current.userInterfaceIdiom == .phone) { content in
+            NavigationView { content }
+        }
+        .onAppear {
+            #if SCREENSHOTS
+            generateFavoritesForScreenshots()
+            #endif
+        }
+    }
+    
+    private func removeFromFavorites(offsets: IndexSet) {
+        withAnimation {
+            offsets.map { favoritePairs[$0] }.forEach(viewContext.delete)
+
+            do {
+                try viewContext.save()
+            } catch {
+                let nsError = error as NSError
+                fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
+            }
+        }
+    }
+
+    #if SCREENSHOTS
+    /*
+     Save currencies to favourites to take screenshots for the App Store
+     */
+    private func generateFavoritesForScreenshots() {
+        let pairs = ["EUR/USD", "BTC/USD", "USD/HKD", "USD/JPY", "AUD/USD",
+                                  "XAU/GBP", "DASH/ETH", "EUR/USD", "XAG/CAD"]
+        
+        for pair in pairs {
+            let symbols = pair.components(separatedBy: "/")
+            let favoritePair = favoritePairs.first(
+                where: {
+                    $0.baseSymbol == symbols[0] && $0.quoteSymbol == symbols[1]
+            })
+            
+            if let _ = favoritePair {
+                // Do not save to core data again
+            } else {
+                let favoritePair = FavoritePair(context: viewContext)
+                favoritePair.baseSymbol = symbols[0]
+                favoritePair.quoteSymbol = symbols[1]
+            }
+            
+            do {
+                try viewContext.save()
+            } catch {
+                let nsError = error as NSError
+                fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
+            }
+        }
+    }
+    #endif
+}
+
+struct FavoritesView_Previews: PreviewProvider {
+    static var previews: some View {
+        FavoritesView()
+            .environment(\.managedObjectContext, PersistenceController.preview.container.viewContext)
+    }
+}
--- a/Simoleon/Functions/NetworkRequest.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-//
-//  Request.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 20/07/2021.
-//
-
-import SwiftUI
-
-func networkRequest<T: Decodable>(url: String, model: T.Type, completion: @escaping (_ result: T) -> Void) {
-    
-    // We take some model data T.Type
-    guard let url = URL(string: url) else {
-        print("Invalid URL")
-        return
-    }
-    
-    let request = URLRequest(url: url)
-    URLSession.shared.dataTask(with: request) { data, response, error in
-        if let data = data {
-            do {
-                // Decode response with the model passed
-                let decodedResponse = try JSONDecoder().decode(model, from: data)
-                DispatchQueue.main.async {
-                    completion(decodedResponse)
-                }
-                return
-            } catch {
-                // Return error regarding the escaping code
-                print(error)
-            }
-        }
-        // Error with the request
-        print("Fetch failed: \(error?.localizedDescription ?? "Unknown error")")
-    }
-    .resume()
-}
--- a/Simoleon/Functions/ParseJson.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-//
-//  ParseJson.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 11/07/2021.
-//
-
-import Foundation
-
-
-// Read JSON File
-func parseJson<T: Decodable>(_ filename: String) -> T {
-    let data: Data
-    
-    guard let file = Bundle.main.url(forResource: filename, withExtension: nil)
-    else {
-        fatalError("Couldn't find \(filename) in main bundle.")
-    }
-    
-    do {
-        data = try Data(contentsOf: file)
-    } catch {
-        fatalError("Couldn't load \(filename) from main bundle:\n\(error)")
-    }
-    
-    do {
-        let decoder = JSONDecoder()
-        return try decoder.decode(T.self, from: data)
-    } catch {
-        fatalError("Couldn't parse \(filename) as \(T.self):\n\(error)")
-    }
-}
--- a/Simoleon/Functions/ReadConfig.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-//
-//  ReadConfig.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 20/07/2021.
-//
-
-import SwiftUI
-
-func readConfig(_ key: String) -> String? {
-    return (Bundle.main.infoDictionary?[key] as? String)?
-        .replacingOccurrences(of: "\\", with: "")
-}
--- a/Simoleon/Functions/SimpleSuccess.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-//
-//  SimpleSuccess.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 20/07/2021.
-//
-
-import SwiftUI
-
-// Haptics
-func simpleSuccess() {
-    let generator = UINotificationFeedbackGenerator()
-    generator.notificationOccurred(.success)
-}
--- a/Simoleon/Helpers/ConversionBox.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-//
-//  ConversionBox.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 18/07/2021.
-//
-
-import SwiftUI
-
-struct ConversionBox: View {
-    @Binding var currencyPair: String
-    @Binding var amountToConvert: String
-    @Binding var price: Double
-    @Binding var showingConversion: Bool
-    @Binding var amountIsEditing: Bool
-    
-    let currencyMetadata: [String: CurrencyMetadataModel] = parseJson("CurrencyMetadata.json")
-    
-    var body: some View {
-        VStack(alignment: .leading) {
-            let currencies = currencyPair.split(separator: "/")
-            Text("\(currencyMetadata[String(currencies[0])]!.name) (\(String(currencies[0])))")
-                .font(.callout)
-                .fontWeight(.semibold)
-                .padding(.top, 40)
-            
-            ZStack(alignment: .trailing) {
-                TextField("Enter amount", text: $amountToConvert) { startedEditing in
-                    if startedEditing {
-                        withAnimation {
-                            amountIsEditing = true
-                        }
-                    }
-                }
-                onCommit: {
-                    withAnimation {
-                        amountIsEditing = false
-                    }
-                }
-                .keyboardType(.decimalPad)
-                .font(Font.title.weight(.semibold))
-                .lineLimit(1)
-                .accessibilityIdentifier("ConversionTextField")
-            }
-            
-            Divider()
-            
-            Text("\(currencyMetadata[String(currencies[1])]!.name) (\(String(currencies[1])))")
-                .font(.callout)
-                .fontWeight(.semibold)
-                .padding(.top, 10)
-            
-            if showingConversion {
-                Text("\(makeConversion(), specifier: "%.2f")")
-                    .font(Font.title.weight(.semibold))
-                    .lineLimit(1)
-                    .padding(.top, 5)
-            } else {
-                ProgressView()
-                    .padding(.top, 5)
-            }
-        }
-    }
-    
-    /*
-     if the amount can be converted to Double:
-     * Return amount
-     else:
-     * Return zero
-     */
-    func makeConversion() -> Double {
-        if let amountToConvert = Double(amountToConvert) {
-            return amountToConvert * price  // Conversion
-        } else {
-            return 0
-        }
-    }
-}
-
-
-struct ConversionBox_Previews: PreviewProvider {
-    static var previews: some View {
-        ConversionBox(
-            currencyPair: .constant("USD/GBP"),
-            amountToConvert: .constant("1000"),
-            price: .constant(1),
-            showingConversion: .constant(false),
-            amountIsEditing: .constant(false)
-        )
-    }
-}
--- a/Simoleon/Helpers/CurrencyRow.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-//
-//  CurrencyRow.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 15/07/2021.
-//
-
-import SwiftUI
-
-struct CurrencyRow: View {
-    var currencyPairName: String
-    var isLocked: Bool?
-    let currencyMetadata: [String: CurrencyMetadataModel] = parseJson("CurrencyMetadata.json")
-    
-    var body: some View {
-        HStack {
-            let currencies = currencyPairName.split(separator: "/")
-            Image(currencyMetadata[String(currencies[0])]!.flag)
-                .resizable()
-                .aspectRatio(contentMode: .fill)
-                .frame(width: 30, height: 30)
-                .clipShape(Circle())
-                .overlay(Circle().stroke(Color(.secondaryLabel), lineWidth: 1))
-            
-            Image(currencyMetadata[String(currencies[1])]!.flag)
-                .resizable()
-                .aspectRatio(contentMode: .fill)
-                .frame(width: 30, height: 30)
-                .clipShape(Circle())
-                .overlay(Circle().stroke(Color(.secondaryLabel), lineWidth: 1))
-                .offset(x: -20)
-                .padding(.trailing, -20)
-            
-            Text("From \(String(currencies[0])) to \(String(currencies[1]))")
-                .fontWeight(.semibold)
-                .foregroundColor(Color("PlainButton"))
-                .padding(.leading)
-            
-            Spacer()
-            
-            if isLocked ?? false {
-                Image(systemName: "lock")
-                    .foregroundColor(.secondary)
-            }
-        }
-    }
-}
-
-struct CurrencyRow_Previews: PreviewProvider {
-    static var previews: some View {
-        CurrencyRow(currencyPairName: "USD/GBP", isLocked: true)
-    }
-}
--- a/Simoleon/Helpers/CurrencySelector.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-//
-//  CurrencySelector.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 18/07/2021.
-//
-
-import SwiftUI
-import Purchases
-
-struct CurrencySelector: View {
-    @Binding var currencyPair: String
-    @Binding var showingCurrencySelector: Bool
-    
-    @State private var entitlementIsActive = false
-    @State private var searchCurrency = ""
-    @State private var showingSubscriptionPaywall = false
-    @State private var alertTitle = ""
-    @State private var alertMessage = ""
-    @State private var showingAlert = false
-    
-    var currencyPairs: [CurrencyPairModel] = parseJson("CurrencyPairs.json")
-    
-    /*
-     If searched currency string is empty:
-     * Show all currencies
-     else:
-     * Show filtered list of currencies containing searched currency string
-     */
-    var searchResults: [CurrencyPairModel] {
-        if searchCurrency.isEmpty {
-            return currencyPairs.sorted { !$0.isLocked && $1.isLocked }
-        } else {
-            return currencyPairs.filter { $0.name.contains(searchCurrency.uppercased()) }
-        }
-    }
-    
-    var body: some View {
-        NavigationView {
-            VStack {
-                SearchBar(placeholder: "Search...", text: $searchCurrency)
-                    .padding()
-                    .accessibilityIdentifier("CurrencySearchBar")
-                
-                List {
-                    if entitlementIsActive {
-                        ForEach(searchResults, id: \.self) { currencyPair in
-                            Button(action: {
-                                self.currencyPair = currencyPair.name
-                                showingCurrencySelector = false
-                            }) {
-                                CurrencyRow(currencyPairName: currencyPair.name)
-                            }
-                        }
-                    } else {
-                        ForEach(searchResults, id: \.self) { currencyPair in
-                            Button(action: { select(currencyPair) }) {
-                                CurrencyRow(currencyPairName: currencyPair.name, isLocked: currencyPair.isLocked)
-                            }
-                        }
-                    }
-                }
-                .id(UUID())
-            }
-            .navigationTitle("Currencies")
-            .navigationBarTitleDisplayMode(.inline)
-            .toolbar {
-                ToolbarItem(placement: .cancellationAction) {
-                    Button(action: { showingCurrencySelector = false }) {
-                        Text("Cancel")
-                    }
-                }
-            }
-        }
-        .onAppear(perform: checkEntitlement)
-        .alert(isPresented: $showingAlert) {
-            Alert(title: Text(alertTitle), message: Text(alertMessage), dismissButton: .default(Text("Ok")))
-        }
-        .sheet(isPresented: $showingSubscriptionPaywall, onDismiss: checkEntitlement) {
-            SubscriptionPaywall(showingSubscriptionPaywall: $showingSubscriptionPaywall)
-        }
-    }
-    
-    /*
-     If user is subscribed:
-     * Select currency and dismiss currency selector
-     else:
-     * Show subscription paywall
-     */
-    private func select(_ currencyPair: CurrencyPairModel) {
-        if currencyPair.isLocked {
-            showingSubscriptionPaywall = true
-        } else {
-            self.currencyPair = currencyPair.name
-            showingCurrencySelector = false
-        }
-    }
-    
-    // Check if user subscription is active
-    private func checkEntitlement() {
-        #if SCREENSHOTS
-        entitlementIsActive = true
-        #else
-        Purchases.shared.purchaserInfo { (purchaserInfo, error) in
-            if purchaserInfo?.entitlements["all"]?.isActive == true {
-                entitlementIsActive = true
-            }
-            
-            if let error = error as NSError? {
-                alertTitle = error.localizedDescription
-                alertMessage = error.localizedFailureReason ?? ""
-                showingAlert = true
-            }
-        }
-        #endif
-    }
-}
-extension View {
-    func listStyle() -> some View {
-        self.modifier(ListModifier())
-    }
-}
-
-
-struct CurrencySelector_Previews: PreviewProvider {
-    static var previews: some View {
-        CurrencySelector(
-            currencyPair: .constant("USD/GBP"),
-            showingCurrencySelector: .constant(false)
-        )
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/ErrorHandling.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,20 @@
+//
+//  ErrorHandling.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 19/8/21.
+//
+
+import Foundation
+
+class ErrorHandling {
+    enum Json: Error {
+        case fileMissing
+        case loadFailed(cause: String)
+        case parseFailed(cause: String)
+    }
+    
+    enum Networking: Error {
+        case invalidURL
+    }
+}
--- a/Simoleon/Helpers/FavoriteButton.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-//
-//  FavoriteButton.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 19/07/2021.
-//
-
-import SwiftUI
-
-struct FavoriteButton: View {
-    var currencyPair: String
-    
-    @Environment(\.managedObjectContext) private var viewContext
-    @FetchRequest(sortDescriptors: []) private var favorites: FetchedResults<Favorite>
-    
-    @State private var starSymbol = "star"
-    
-    var body: some View {
-        let favoriteCurrencyPairs = favorites.map { $0.currencyPair }
-        Button(action: { favoriteAction(favoriteCurrencyPairs) }) {
-            RoundedRectangle(cornerRadius: 15)
-                .foregroundColor(Color(.secondarySystemBackground))
-                .frame(width: 60, height: 60)
-                .overlay(
-                    Image(systemName: generateStar(favoriteCurrencyPairs))
-                        .font(.system(size: 28))
-                        .foregroundColor(Color(.systemYellow))
-                )
-        }
-        .accessibilityIdentifier("AddToFavorites")
-    }
-    
-    /*
-     If currency pair is favorite:
-     * Button action is to remove from favorites
-     else:
-     * Button action is to add to favorites
-     */
-    private func favoriteAction(_ favoriteCurrencyPairs: [String]) {
-        if favoriteCurrencyPairs.contains(currencyPair) {
-            removeFromFavorites()
-        } else {
-            addToFavorites()
-        }
-        
-        simpleSuccess()
-    }
-    
-    /*
-     if currency pair is favorite:
-     * Return "star.fill" symbol
-     else:
-     * Return "star"
-     */
-    private func generateStar(_ favoriteCurrencyPairs: [String]) -> String {
-        if favoriteCurrencyPairs.contains(currencyPair) {
-            return "star.fill"
-        } else {
-            return "star"
-        }
-    }
-    
-    /*
-     * Get first favorite core data object that matches the specified currency pair
-     * Delete it
-     */
-    private func removeFromFavorites() {
-        withAnimation {
-            let favoriteObject = favorites.first(where: { $0.currencyPair == currencyPair })
-            viewContext.delete(favoriteObject ?? Favorite())
-            
-            do {
-                try viewContext.save()
-            } catch {
-                let nsError = error as NSError
-                fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
-            }
-        }
-    }
-    
-    /*
-     * Create a favorite core data object
-     * Save it
-     */
-    private func addToFavorites() {
-        withAnimation {
-            let favorite = Favorite(context: viewContext)
-            favorite.currencyPair = currencyPair
-            
-            do {
-                try viewContext.save()
-            } catch {
-                let nsError = error as NSError
-                fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
-            }
-        }
-    }
-}
-
-struct FavoriteButton_Previews: PreviewProvider {
-    static var previews: some View {
-        FavoriteButton(currencyPair: "USD/GBP")
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/FileHelper.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,36 @@
+//
+//  File.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/8/21.
+//
+
+import Foundation
+
+
+func readJson<T: Decodable>(from filename: String) throws -> T {
+    let data: Data
+    
+    guard let file = Bundle.main.url(forResource: filename, withExtension: nil)
+    else {
+        throw ErrorHandling.Json.fileMissing
+    }
+    
+    do {
+        data = try Data(contentsOf: file)
+    } catch {
+        throw ErrorHandling.Json.loadFailed(cause: error.localizedDescription)
+    }
+    
+    do {
+        let decoder = JSONDecoder()
+        return try decoder.decode(T.self, from: data)
+    } catch {
+        throw ErrorHandling.Json.parseFailed(cause: error.localizedDescription)
+    }
+}
+
+func readConfig(withKey: String) -> String? {
+    return (Bundle.main.infoDictionary?[withKey] as? String)?
+        .replacingOccurrences(of: "\\", with: "")
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/HapticsHelper.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,17 @@
+//
+//  SimpleSuccess.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 20/07/2021.
+//
+
+import SwiftUI
+
+class HapticsHelper {
+    
+    // MARK: - Simple success
+    func simpleSuccess() {
+        let generator = UINotificationFeedbackGenerator()
+        generator.notificationOccurred(.success)
+    }
+}
--- a/Simoleon/Helpers/ListModifier.swift	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon/Helpers/ListModifier.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -11,11 +11,12 @@
     func body(content: Content) -> some View {
             content
                 .id(UUID())
-                .listStyle(PlainListStyle())
-                .gesture(DragGesture()
+                .listStyle(InsetGroupedListStyle())
+                .gesture(
+                    DragGesture()
                             .onChanged({ _ in
                                 UIApplication.shared.dismissKeyboard()
-                            })
+                        })
                 )
         }
 }
--- a/Simoleon/Helpers/LockedCurrencyPicker.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-//
-//  LockedCurrencyPicker.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 22/07/2021.
-//
-
-import SwiftUI
-
-struct LockedCurrencyPicker: View {
-    @Environment(\.managedObjectContext) private var viewContext
-    @FetchRequest(sortDescriptors: []) private var defaultCurrency: FetchedResults<DefaultCurrency>
-    
-    var body: some View {
-        HStack {
-            Text("Default currency")
-            Spacer()
-            Text(defaultCurrency.first?.pair ?? "USD/GBP")
-                .foregroundColor(.secondary)
-            
-            Image(systemName: "lock")
-                .foregroundColor(.secondary)
-        }
-    }
-}
-
-struct LockedCurrencyPicker_Previews: PreviewProvider {
-    static var previews: some View {
-        LockedCurrencyPicker()
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/NetworkHelper.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,35 @@
+//
+//  Request.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 20/07/2021.
+//
+
+import Foundation
+
+class NetworkHelper {
+    func httpRequest<T: Decodable>(url: String, model: T.Type, completion: @escaping (_ result: T) -> Void) throws {
+        // We take some model data T.Type
+        guard let url = URL(string: url) else { throw ErrorHandling.Networking.invalidURL }
+        
+        let request = URLRequest(url: url)
+        URLSession.shared.dataTask(with: request) { data, response, error in
+            if let data = data {
+                do {
+                    // Decode response with the model passed
+                    let decodedResponse = try JSONDecoder().decode(model, from: data)
+                    DispatchQueue.main.async {
+                        completion(decodedResponse)
+                    }
+                    return
+                } catch {
+                    // Return error regarding the escaping code
+                    print(error)
+                }
+            }
+            // Error with the request
+            print("Fetch failed: \(error?.localizedDescription ?? "Unknown error")")
+        }
+        .resume()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/Persistence.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,66 @@
+//
+//  Persistence.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 08/07/2021.
+//
+
+import CoreData
+
+struct PersistenceController {
+    static let shared = PersistenceController()
+    
+    static var preview: PersistenceController = {
+        let result = PersistenceController(inMemory: true)
+        let viewContext = result.container.viewContext
+        
+        for _ in 0..<10 {
+            let favoritePair = FavoritePair(context: viewContext)
+            favoritePair.baseSymbol = "USD"
+            favoritePair.quoteSymbol = "EUR"
+        }
+        
+        do {
+            try viewContext.save()
+        } catch {
+            /*
+             Replace this implementation with code to handle the error appropriately.
+             fatalError() causes the application to generate a crash log and terminate.
+             You should not use this function in a shipping application, although it may be useful during development.
+             */
+            let nsError = error as NSError
+            fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
+        }
+        return result
+    }()
+    
+    let container: NSPersistentCloudKitContainer
+    
+    init(inMemory: Bool = false) {
+        container = NSPersistentCloudKitContainer(name: "Simoleon")
+        container.viewContext.automaticallyMergesChangesFromParent = true
+        container.viewContext.mergePolicy = NSMergeByPropertyStoreTrumpMergePolicy
+        if inMemory {
+            container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null")
+        }
+        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
+            if let error = error as NSError? {
+                /*
+                 Replace this implementation with code to handle the error appropriately.
+                 fatalError() causes the application to generate a crash log and terminate.
+                 You should not use this function in a shipping application, although it may be useful during development.
+                 */
+                
+                /*
+                 Typical reasons for an error here include:
+                 * The parent directory does not exist, cannot be created, or disallows writing.
+                 * The persistent store is not accessible, due to permissions or data protection when the device is locked.
+                 * The device is out of space.
+                 * The store could not be migrated to the current model version.
+                 Check the error message to determine what the actual problem was.
+                 */
+                fatalError("Unresolved error \(error), \(error.userInfo)")
+            }
+        })
+    }
+}
--- a/Simoleon/Helpers/RestoreButton.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-//
-//  RestoreButton.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 22/07/2021.
-//
-
-import SwiftUI
-import Purchases
-
-struct RestoreButton: View {
-    @Binding var showingSubscriptionPaywall: Bool
-    
-    @State private var alertTitle: LocalizedStringKey = ""
-    @State private var alertMessage: LocalizedStringKey = ""
-    @State private var restoringPurchases = false
-    @State private var showingAlert = false
-    
-    var body: some View {
-        Button(action: restorePurchases) {
-            if restoringPurchases {
-                ProgressView()
-            } else {
-                Text("Restore purchases")
-            }
-        }
-        .alert(isPresented: $showingAlert) {
-            Alert(title: Text(alertTitle), message: Text(alertMessage), dismissButton: .default(Text("Ok")))
-        }
-    }
-    
-    private func restorePurchases() {
-        restoringPurchases = true
-        
-        Purchases.shared.restoreTransactions { purchaserInfo, error in
-            if purchaserInfo?.entitlements["all"]?.isActive == true {
-                showingSubscriptionPaywall = false
-            } else {
-                alertTitle = LocalizedStringKey("No subscriptions found")
-                alertMessage = LocalizedStringKey("You are not subscripted to Simoleon yet.")
-                restoringPurchases = false
-                showingAlert = true
-            }
-            
-            if let error = error as NSError? {
-                alertTitle = LocalizedStringKey(error.localizedDescription)
-                alertMessage = LocalizedStringKey(error.localizedFailureReason ?? "")
-                showingAlert = true
-            }
-        }
-    }
-}
-
-struct RestoreButton_Previews: PreviewProvider {
-    static var previews: some View {
-        RestoreButton(showingSubscriptionPaywall: .constant(true))
-    }
-}
--- a/Simoleon/Helpers/SearchBar.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-//
-//  SearchBar.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 27/07/2021.
-//
-
-import SwiftUI
-
-struct SearchBar: View {
-    var placeholder: LocalizedStringKey
-    
-    @Binding var text: String
-    
-    var body: some View {
-        TextField(placeholder, text: $text)
-            .disableAutocorrection(true)
-            .padding(10)
-            .background(
-                RoundedRectangle(cornerRadius: 15)
-                    .foregroundColor(Color(.tertiarySystemFill))
-            )
-    }
-}
-
-struct SearchBar_Previews: PreviewProvider {
-    static var previews: some View {
-        SearchBar(placeholder: "Search ...", text: .constant(""))
-    }
-}
--- a/Simoleon/Helpers/Sidebar.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-//
-//  Sidebar.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 18/07/2021.
-//
-
-import SwiftUI
-
-struct Sidebar: View {
-    @Environment(\.managedObjectContext) private var viewContext
-    @FetchRequest(sortDescriptors: []) private var defaultCurrency: FetchedResults<DefaultCurrency>
-    
-    var body: some View {
-        List {
-            NavigationLink(destination: Conversion(currencyPair: defaultCurrency.first?.pair ?? "USD/GBP")) {
-                Label("Convert", systemImage: "arrow.counterclockwise.circle")
-            }
-            .accessibilityIdentifier("NavigateToConversion")
-            
-            NavigationLink(destination: Favorites()) {
-                Label("Favorites", systemImage: "star")
-            }
-            .accessibilityIdentifier("NavigateToFavorites")
-            
-            NavigationLink(destination: Settings()) {
-                Label("Settings", systemImage: "gear")
-            }
-            .accessibilityIdentifier("NavigateToSettings")
-        }
-        .listStyle(SidebarListStyle())
-        .navigationTitle("Categories")
-        .accessibilityIdentifier("Sidebar")
-    }
-}
-
-struct Sidebar_Previews: PreviewProvider {
-    static var previews: some View {
-        NavigationView {
-            Sidebar()
-        }
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/SnapshotHelper.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,309 @@
+//
+//  SnapshotHelper.swift
+//  Example
+//
+//  Created by Felix Krause on 10/8/15.
+//
+
+// -----------------------------------------------------
+// IMPORTANT: When modifying this file, make sure to
+//            increment the version number at the very
+//            bottom of the file to notify users about
+//            the new SnapshotHelper.swift
+// -----------------------------------------------------
+
+import Foundation
+import XCTest
+
+var deviceLanguage = ""
+var locale = ""
+
+func setupSnapshot(_ app: XCUIApplication, waitForAnimations: Bool = true) {
+    Snapshot.setupSnapshot(app, waitForAnimations: waitForAnimations)
+}
+
+func snapshot(_ name: String, waitForLoadingIndicator: Bool) {
+    if waitForLoadingIndicator {
+        Snapshot.snapshot(name)
+    } else {
+        Snapshot.snapshot(name, timeWaitingForIdle: 0)
+    }
+}
+
+/// - Parameters:
+///   - name: The name of the snapshot
+///   - timeout: Amount of seconds to wait until the network loading indicator disappears. Pass `0` if you don't want to wait.
+func snapshot(_ name: String, timeWaitingForIdle timeout: TimeInterval = 20) {
+    Snapshot.snapshot(name, timeWaitingForIdle: timeout)
+}
+
+enum SnapshotError: Error, CustomDebugStringConvertible {
+    case cannotFindSimulatorHomeDirectory
+    case cannotRunOnPhysicalDevice
+
+    var debugDescription: String {
+        switch self {
+        case .cannotFindSimulatorHomeDirectory:
+            return "Couldn't find simulator home location. Please, check SIMULATOR_HOST_HOME env variable."
+        case .cannotRunOnPhysicalDevice:
+            return "Can't use Snapshot on a physical device."
+        }
+    }
+}
+
+@objcMembers
+open class Snapshot: NSObject {
+    static var app: XCUIApplication?
+    static var waitForAnimations = true
+    static var cacheDirectory: URL?
+    static var screenshotsDirectory: URL? {
+        return cacheDirectory?.appendingPathComponent("screenshots", isDirectory: true)
+    }
+
+    open class func setupSnapshot(_ app: XCUIApplication, waitForAnimations: Bool = true) {
+
+        Snapshot.app = app
+        Snapshot.waitForAnimations = waitForAnimations
+
+        do {
+            let cacheDir = try getCacheDirectory()
+            Snapshot.cacheDirectory = cacheDir
+            setLanguage(app)
+            setLocale(app)
+            setLaunchArguments(app)
+        } catch let error {
+            NSLog(error.localizedDescription)
+        }
+    }
+
+    class func setLanguage(_ app: XCUIApplication) {
+        guard let cacheDirectory = self.cacheDirectory else {
+            NSLog("CacheDirectory is not set - probably running on a physical device?")
+            return
+        }
+
+        let path = cacheDirectory.appendingPathComponent("language.txt")
+
+        do {
+            let trimCharacterSet = CharacterSet.whitespacesAndNewlines
+            deviceLanguage = try String(contentsOf: path, encoding: .utf8).trimmingCharacters(in: trimCharacterSet)
+            app.launchArguments += ["-AppleLanguages", "(\(deviceLanguage))"]
+        } catch {
+            NSLog("Couldn't detect/set language...")
+        }
+    }
+
+    class func setLocale(_ app: XCUIApplication) {
+        guard let cacheDirectory = self.cacheDirectory else {
+            NSLog("CacheDirectory is not set - probably running on a physical device?")
+            return
+        }
+
+        let path = cacheDirectory.appendingPathComponent("locale.txt")
+
+        do {
+            let trimCharacterSet = CharacterSet.whitespacesAndNewlines
+            locale = try String(contentsOf: path, encoding: .utf8).trimmingCharacters(in: trimCharacterSet)
+        } catch {
+            NSLog("Couldn't detect/set locale...")
+        }
+
+        if locale.isEmpty && !deviceLanguage.isEmpty {
+            locale = Locale(identifier: deviceLanguage).identifier
+        }
+
+        if !locale.isEmpty {
+            app.launchArguments += ["-AppleLocale", "\"\(locale)\""]
+        }
+    }
+
+    class func setLaunchArguments(_ app: XCUIApplication) {
+        guard let cacheDirectory = self.cacheDirectory else {
+            NSLog("CacheDirectory is not set - probably running on a physical device?")
+            return
+        }
+
+        let path = cacheDirectory.appendingPathComponent("snapshot-launch_arguments.txt")
+        app.launchArguments += ["-FASTLANE_SNAPSHOT", "YES", "-ui_testing"]
+
+        do {
+            let launchArguments = try String(contentsOf: path, encoding: String.Encoding.utf8)
+            let regex = try NSRegularExpression(pattern: "(\\\".+?\\\"|\\S+)", options: [])
+            let matches = regex.matches(in: launchArguments, options: [], range: NSRange(location: 0, length: launchArguments.count))
+            let results = matches.map { result -> String in
+                (launchArguments as NSString).substring(with: result.range)
+            }
+            app.launchArguments += results
+        } catch {
+            NSLog("Couldn't detect/set launch_arguments...")
+        }
+    }
+
+    open class func snapshot(_ name: String, timeWaitingForIdle timeout: TimeInterval = 20) {
+        if timeout > 0 {
+            waitForLoadingIndicatorToDisappear(within: timeout)
+        }
+
+        NSLog("snapshot: \(name)") // more information about this, check out https://docs.fastlane.tools/actions/snapshot/#how-does-it-work
+
+        if Snapshot.waitForAnimations {
+            sleep(1) // Waiting for the animation to be finished (kind of)
+        }
+
+        #if os(OSX)
+            guard let app = self.app else {
+                NSLog("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
+                return
+            }
+
+            app.typeKey(XCUIKeyboardKeySecondaryFn, modifierFlags: [])
+        #else
+
+            guard self.app != nil else {
+                NSLog("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
+                return
+            }
+
+            let screenshot = XCUIScreen.main.screenshot()
+            #if os(iOS)
+            let image = XCUIDevice.shared.orientation.isLandscape ?  fixLandscapeOrientation(image: screenshot.image) : screenshot.image
+            #else
+            let image = screenshot.image
+            #endif
+
+            guard var simulator = ProcessInfo().environment["SIMULATOR_DEVICE_NAME"], let screenshotsDir = screenshotsDirectory else { return }
+
+            do {
+                // The simulator name contains "Clone X of " inside the screenshot file when running parallelized UI Tests on concurrent devices
+                let regex = try NSRegularExpression(pattern: "Clone [0-9]+ of ")
+                let range = NSRange(location: 0, length: simulator.count)
+                simulator = regex.stringByReplacingMatches(in: simulator, range: range, withTemplate: "")
+
+                let path = screenshotsDir.appendingPathComponent("\(simulator)-\(name).png")
+                #if swift(<5.0)
+                    UIImagePNGRepresentation(image)?.write(to: path, options: .atomic)
+                #else
+                    try image.pngData()?.write(to: path, options: .atomic)
+                #endif
+            } catch let error {
+                NSLog("Problem writing screenshot: \(name) to \(screenshotsDir)/\(simulator)-\(name).png")
+                NSLog(error.localizedDescription)
+            }
+        #endif
+    }
+
+    class func fixLandscapeOrientation(image: UIImage) -> UIImage {
+        #if os(watchOS)
+            return image
+        #else
+            if #available(iOS 10.0, *) {
+                let format = UIGraphicsImageRendererFormat()
+                format.scale = image.scale
+                let renderer = UIGraphicsImageRenderer(size: image.size, format: format)
+                return renderer.image { context in
+                    image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
+                }
+            } else {
+                return image
+            }
+        #endif
+    }
+
+    class func waitForLoadingIndicatorToDisappear(within timeout: TimeInterval) {
+        #if os(tvOS)
+            return
+        #endif
+
+        guard let app = self.app else {
+            NSLog("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
+            return
+        }
+
+        let networkLoadingIndicator = app.otherElements.deviceStatusBars.networkLoadingIndicators.element
+        let networkLoadingIndicatorDisappeared = XCTNSPredicateExpectation(predicate: NSPredicate(format: "exists == false"), object: networkLoadingIndicator)
+        _ = XCTWaiter.wait(for: [networkLoadingIndicatorDisappeared], timeout: timeout)
+    }
+
+    class func getCacheDirectory() throws -> URL {
+        let cachePath = "Library/Caches/tools.fastlane"
+        // on OSX config is stored in /Users/<username>/Library
+        // and on iOS/tvOS/WatchOS it's in simulator's home dir
+        #if os(OSX)
+            let homeDir = URL(fileURLWithPath: NSHomeDirectory())
+            return homeDir.appendingPathComponent(cachePath)
+        #elseif arch(i386) || arch(x86_64) || arch(arm64)
+            guard let simulatorHostHome = ProcessInfo().environment["SIMULATOR_HOST_HOME"] else {
+                throw SnapshotError.cannotFindSimulatorHomeDirectory
+            }
+            let homeDir = URL(fileURLWithPath: simulatorHostHome)
+            return homeDir.appendingPathComponent(cachePath)
+        #else
+            throw SnapshotError.cannotRunOnPhysicalDevice
+        #endif
+    }
+}
+
+private extension XCUIElementAttributes {
+    var isNetworkLoadingIndicator: Bool {
+        if hasAllowListedIdentifier { return false }
+
+        let hasOldLoadingIndicatorSize = frame.size == CGSize(width: 10, height: 20)
+        let hasNewLoadingIndicatorSize = frame.size.width.isBetween(46, and: 47) && frame.size.height.isBetween(2, and: 3)
+
+        return hasOldLoadingIndicatorSize || hasNewLoadingIndicatorSize
+    }
+
+    var hasAllowListedIdentifier: Bool {
+        let allowListedIdentifiers = ["GeofenceLocationTrackingOn", "StandardLocationTrackingOn"]
+
+        return allowListedIdentifiers.contains(identifier)
+    }
+
+    func isStatusBar(_ deviceWidth: CGFloat) -> Bool {
+        if elementType == .statusBar { return true }
+        guard frame.origin == .zero else { return false }
+
+        let oldStatusBarSize = CGSize(width: deviceWidth, height: 20)
+        let newStatusBarSize = CGSize(width: deviceWidth, height: 44)
+
+        return [oldStatusBarSize, newStatusBarSize].contains(frame.size)
+    }
+}
+
+private extension XCUIElementQuery {
+    var networkLoadingIndicators: XCUIElementQuery {
+        let isNetworkLoadingIndicator = NSPredicate { (evaluatedObject, _) in
+            guard let element = evaluatedObject as? XCUIElementAttributes else { return false }
+
+            return element.isNetworkLoadingIndicator
+        }
+
+        return self.containing(isNetworkLoadingIndicator)
+    }
+
+    var deviceStatusBars: XCUIElementQuery {
+        guard let app = Snapshot.app else {
+            fatalError("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
+        }
+
+        let deviceWidth = app.windows.firstMatch.frame.width
+
+        let isStatusBar = NSPredicate { (evaluatedObject, _) in
+            guard let element = evaluatedObject as? XCUIElementAttributes else { return false }
+
+            return element.isStatusBar(deviceWidth)
+        }
+
+        return self.containing(isStatusBar)
+    }
+}
+
+private extension CGFloat {
+    func isBetween(_ numberA: CGFloat, and numberB: CGFloat) -> Bool {
+        return numberA...numberB ~= self
+    }
+}
+
+// Please don't remove the lines below
+// They are used to detect outdated configuration files
+// SnapshotHelperVersion [1.27]
--- a/Simoleon/Helpers/SubscribeButton.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-//
-//  SubscribeButton.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 22/07/2021.
-//
-
-import SwiftUI
-import Purchases
-
-struct SubscribeButton: View {
-    @Binding var showingSubscriptionPaywall: Bool
-    
-    @State private var price = ""
-    @State private var alertTitle = ""
-    @State private var alertMessage = ""
-    @State private var showingAlert = false
-    @State private var showingPrice = false
-    
-    var body: some View {
-        Button(action: purchaseMonthlySubscription) {
-            RoundedRectangle(cornerRadius: 15)
-                .frame(height: 60)
-                .overlay(
-                    VStack {
-                        if showingPrice {
-                            Text("Subscribe for \(price) / month")
-                                .foregroundColor(.white)
-                                .fontWeight(.semibold)
-                        } else {
-                            ProgressView()
-                        }
-                    }
-                )
-        }
-        .onAppear(perform: fetchMonthlySubscription)
-        .alert(isPresented: $showingAlert) {
-            Alert(title: Text(alertTitle), message: Text(alertMessage), dismissButton: .default(Text("Ok")))
-        }
-    }
-    
-    private func fetchMonthlySubscription() {
-        Purchases.shared.offerings { (offerings, error) in
-            if let product = offerings?.current?.monthly?.product {
-                price = formatCurrency(product.priceLocale, product.price)
-                showingPrice = true
-            }
-            
-            if let error = error as NSError? {
-                alertTitle = error.localizedDescription
-                alertMessage = error.localizedFailureReason ?? ""
-                price = "-"
-                showingPrice = true
-                showingAlert = true
-            }
-        }
-    }
-    
-    private func purchaseMonthlySubscription() {
-        showingPrice = false
-        
-        Purchases.shared.offerings { (offerings, error) in
-            if let package = offerings?.current?.monthly {
-                
-                Purchases.shared.purchasePackage(package) { (transaction, purchaserInfo, error, userCancelled) in
-                    if purchaserInfo?.entitlements["all"]?.isActive == true {
-                        showingPrice = true
-                        showingSubscriptionPaywall = false
-                    }
-                    
-                    if let error = error as NSError? {
-                        alertTitle = error.localizedDescription
-                        alertMessage = error.localizedFailureReason ?? ""
-                        showingPrice = true
-                        showingAlert = true
-                    }
-                }
-                
-                if let error = error as NSError? {
-                    alertTitle = error.localizedDescription
-                    alertMessage = error.localizedFailureReason ?? ""
-                    showingPrice = true
-                    showingAlert = true
-                }
-            }
-        }
-    }
-    
-    private func formatCurrency(_ locale: Locale, _ amount: NSDecimalNumber) -> String {
-        let formatter = NumberFormatter()
-        formatter.locale = locale
-        formatter.numberStyle = .currency
-        
-        // It won't fail. Check unit test
-        let formattedAmount = formatter.string(from: amount as NSNumber)!
-        
-        return formattedAmount
-    }
-}
-
-struct SubscribeButton_Previews: PreviewProvider {
-    static var previews: some View {
-        SubscribeButton(showingSubscriptionPaywall: .constant(true))
-    }
-}
--- a/Simoleon/Helpers/SubscriptionFeature.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-//
-//  SubscriptionFeature.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 26/07/2021.
-//
-
-import SwiftUI
-
-struct SubscriptionFeature: View {
-    var symbol: String
-    var colour: Color
-    var title: LocalizedStringKey
-    var description: LocalizedStringKey
-    
-    var body: some View {
-        HStack(alignment:.top) {
-            Image(systemName: symbol)
-                .foregroundColor(colour)
-                .font(.title)
-            
-            VStack(alignment: .leading) {
-                Text(title)
-                    .font(.headline)
-                
-                Text(description)
-            }
-        }
-    }
-}
-
-struct SubscriptionFeature_Previews: PreviewProvider {
-    static var previews: some View {
-        SubscriptionFeature(
-            symbol: "star.circle.fill",
-            colour: Color(.systemYellow),
-            title: "Favorite Currencies",
-            description: "Save your favorite currencies to access them quickly."
-        )
-    }
-}
--- a/Simoleon/Info.plist	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon/Info.plist	Tue Oct 12 16:17:35 2021 +0200
@@ -4,8 +4,6 @@
 <dict>
 	<key>API_KEY</key>
 	<string>$(API_KEY)</string>
-	<key>API_URL</key>
-	<string>$(API_URL)</string>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>$(DEVELOPMENT_LANGUAGE)</string>
 	<key>CFBundleDisplayName</key>
@@ -26,8 +24,6 @@
 	<string>1</string>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>
-	<key>PURCHASES_KEY</key>
-	<string>$(PURCHASES_KEY)</string>
 	<key>UIApplicationSceneManifest</key>
 	<dict>
 		<key>UIApplicationSupportsMultipleScenes</key>
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/de.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/en-GB.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/en.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/es.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/fr.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/it.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/nl.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/pt-PT.lproj/Localizable.strings has changed
Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/ru.lproj/Localizable.strings has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Models/CurrencyConversion.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,47 @@
+//
+//  CurrencyConversion.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/8/21.
+//
+
+import Foundation
+
+class CurrencyConversion: ObservableObject {
+    // Forex pair -> XXX/YYY where XXX = base symbol, YYY = quote symbol
+    
+    @Published var baseSymbol = "USD" {
+        didSet {
+            getQuote()
+        }
+    }
+    @Published var quoteSymbol = "EUR" {
+        didSet {
+            getQuote()
+        }
+    }
+    @Published var quote = CurrencyQuoteModel()
+    @Published var isShowing = false
+    @Published var showingAlert = false
+    
+    let networkHelper = NetworkHelper()
+    
+    init() {
+        getQuote()
+    }
+    
+    func getQuote() {
+        self.isShowing = false
+        let pair = "\(baseSymbol)/\(quoteSymbol)"
+        let apiKey = readConfig(withKey: "API_KEY")!
+        let url = "https://api.1forge.com/quotes?pairs=\(pair)&api_key=\(apiKey)"
+        
+        try? networkHelper.httpRequest(url: url, model: [CurrencyQuoteModel].self) { response in
+            if let quote = response.first {
+                self.quote = quote
+            }
+            
+            self.isShowing = true
+        }
+    }
+}
--- a/Simoleon/Models/CurrencyMetadataModel.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-//
-//  CurrencyMetadataModel.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 15/07/2021.
-//
-
-import SwiftUI
-
-struct CurrencyMetadataModel: Codable {
-    var name: String
-    var flag: String
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Models/CurrencyModel.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,15 @@
+//
+//  CurrencyDetailsModel.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 23/8/21.
+//
+
+import Foundation
+
+struct CurrencyModel: Codable {
+    var symbol: String
+    var name: String
+    var flag: String
+    var isCrypto: Bool
+}
--- a/Simoleon/Models/CurrencyPairModel.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-//
-//  CurrencyPairModel.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 30/7/21.
-//
-
-import SwiftUI
-
-struct CurrencyPairModel: Codable, Hashable {
-    var name: String
-    var isLocked: Bool
-}
--- a/Simoleon/Models/CurrencyQuoteModel.swift	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon/Models/CurrencyQuoteModel.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -5,17 +5,17 @@
 //  Created by Dennis Concepción Martín on 15/07/2021.
 //
 
-import SwiftUI
+import Foundation
 
 struct CurrencyQuoteModel: Codable, Hashable {
-    var symbol: String?
+    var pair: String?
     var price: Double?
     var bid: Double?
     var ask: Double?
     var timeStamp: Int?
     
     private enum CodingKeys: String, CodingKey {
-        case symbol = "s"
+        case pair = "s"
         case price = "p"
         case bid = "b"
         case ask = "a"
--- a/Simoleon/Models/DefaultCurrency+CoreDataClass.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-//
-//  DefaultCurrency+CoreDataClass.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 21/07/2021.
-//
-//
-
-import Foundation
-import CoreData
-
-@objc(DefaultCurrency)
-public class DefaultCurrency: NSManagedObject {
-    
-}
--- a/Simoleon/Models/DefaultCurrency+CoreDataProperties.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-//
-//  DefaultCurrency+CoreDataProperties.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 21/07/2021.
-//
-//
-
-import Foundation
-import CoreData
-
-
-extension DefaultCurrency {
-    
-    @nonobjc public class func fetchRequest() -> NSFetchRequest<DefaultCurrency> {
-        return NSFetchRequest<DefaultCurrency>(entityName: "DefaultCurrency")
-    }
-    
-    @NSManaged public var pair: String?
-    
-}
--- a/Simoleon/Models/Favorite+CoreDataClass.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-//
-//  Favorite+CoreDataClass.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 19/07/2021.
-//
-//
-
-import Foundation
-import CoreData
-
-@objc(Favorite)
-public class Favorite: NSManagedObject {
-    
-}
--- a/Simoleon/Models/Favorite+CoreDataProperties.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-//
-//  Favorite+CoreDataProperties.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 19/07/2021.
-//
-//
-
-import Foundation
-import CoreData
-
-
-extension Favorite {
-    
-    @nonobjc public class func fetchRequest() -> NSFetchRequest<Favorite> {
-        return NSFetchRequest<Favorite>(entityName: "Favorite")
-    }
-    
-    @NSManaged public var currencyPair: String
-    
-}
-
-extension Favorite : Identifiable {
-    
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Models/FavoritePair+CoreDataClass.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,15 @@
+//
+//  FavoritePair+CoreDataClass.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 28/8/21.
+//
+//
+
+import Foundation
+import CoreData
+
+@objc(FavoritePair)
+public class FavoritePair: NSManagedObject {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Models/FavoritePair+CoreDataProperties.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,26 @@
+//
+//  FavoritePair+CoreDataProperties.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 28/8/21.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension FavoritePair {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<FavoritePair> {
+        return NSFetchRequest<FavoritePair>(entityName: "FavoritePair")
+    }
+
+    @NSManaged public var baseSymbol: String
+    @NSManaged public var quoteSymbol: String
+
+}
+
+extension FavoritePair : Identifiable {
+
+}
--- a/Simoleon/Persistence.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-//
-//  Persistence.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 08/07/2021.
-//
-
-import CoreData
-
-struct PersistenceController {
-    static let shared = PersistenceController()
-    
-    static var preview: PersistenceController = {
-        let result = PersistenceController(inMemory: true)
-        let viewContext = result.container.viewContext
-        
-        for _ in 0..<10 {
-            let favorite = Favorite(context: viewContext)
-            favorite.currencyPair = "USD/GBP"
-        }
-        do {
-            try viewContext.save()
-        } catch {
-            /*
-             Replace this implementation with code to handle the error appropriately.
-             fatalError() causes the application to generate a crash log and terminate.
-             You should not use this function in a shipping application, although it may be useful during development.
-             */
-            let nsError = error as NSError
-            fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
-        }
-        return result
-    }()
-    
-    let container: NSPersistentCloudKitContainer
-    
-    init(inMemory: Bool = false) {
-        container = NSPersistentCloudKitContainer(name: "Simoleon")
-        container.viewContext.automaticallyMergesChangesFromParent = true
-        container.viewContext.mergePolicy = NSMergeByPropertyStoreTrumpMergePolicy
-        if inMemory {
-            container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null")
-        }
-        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
-            if let error = error as NSError? {
-                /*
-                 Replace this implementation with code to handle the error appropriately.
-                 fatalError() causes the application to generate a crash log and terminate.
-                 You should not use this function in a shipping application, although it may be useful during development.
-                 */
-                
-                /*
-                 Typical reasons for an error here include:
-                 * The parent directory does not exist, cannot be created, or disallows writing.
-                 * The persistent store is not accessible, due to permissions or data protection when the device is locked.
-                 * The device is out of space.
-                 * The store could not be migrated to the current model version.
-                 Check the error message to determine what the actual problem was.
-                 */
-                fatalError("Unresolved error \(error), \(error.userInfo)")
-            }
-        })
-    }
-}
--- a/Simoleon/Resources/Base.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "United Arab Emirates Dirham",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afghan Afghani",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Albanian Lek",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Armenian Dram",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Netherlands Antillean Guilder",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angolan Kwanza",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Argentine Peso",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "Australian Dollar",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Australian Nugget",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Aruban Florin",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Bosnia And Herzegovina Convertible Mark",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "Barbados Dollar",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladeshi Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Bulgarian Lev",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Bahraini Dinar",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Burundian Franc",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "Bermudian Dollar",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "Brunei Dollar",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Boliviano",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Britannia",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Brazilian Real",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "Bahamian Dollar",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Bhutanese Ngultrum",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pula",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Belarusian Ruble",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "Belize Dollar",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Canadian Dollar",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Congolese Franc",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Swiss Franc",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Chilean Unit Of Account",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Chilean Peso",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Colombian Peso",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Costa Rican Colon",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Cuban Peso",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Cape Verde Escudo",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Cypriot Pound",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Czech Koruna",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Djiboutian Franc",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Danish Krone",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "Double Eagle",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Dominican Peso",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Algerian Dinar",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Egyptian Pound",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Ethiopian Birr",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "Fiji Dollar",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "French Napoleon",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Pound Sterling",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Georgian Lari",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Ghanaian Cedi",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Gambian Dalasi",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Guinean Franc",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Guatemalan Quetzal",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "Guyanese Dollar",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Hong Kong Dollar",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Honduran Lempira",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Croatian Kuna",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Haitian Gourde",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Hungarian Forint",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Indonesian Rupiah",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Israeli New Shekel",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Indian Rupee",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Iraqi Dinar",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Iranian Rial",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Icelandic Kr\u00f3na",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "Jamaican Dollar",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Jordanian Dinar",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Japanese Yen",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Kenyan Shilling",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Cambodian Riel",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Comoro Franc",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "South African Krugerrand",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "South Korean Won",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Kuwaiti Dinar",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "Cayman Islands Dollar",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Kazakhstani Tenge",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Lebanese Pound",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Khazanah Sukuk",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Sri Lankan Rupee",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "Liberian Dollar",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesotho Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Lithuanian Litas",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Libyan Dinar",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "Mexican 50 Peso",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Moroccan Dirham",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Maple Leaf",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Moldovan Leu",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Malagasy Ariary",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Macedonian Denar",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Myanma Kyat",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Macanese Pataca",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Mauritanian Ouguiya",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Maltese Lira",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Mauritian Rupee",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Maldivian Rufiyaa",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Malawian Kwacha",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Mexican Peso",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Malaysian Ringgit",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Mozambican Metical",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "Namibian Dollar",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Isle Of Man Noble",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Nigerian Naira",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Nicaraguan C\u00f3rdoba",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Norwegian Krone",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Nepalese Rupee",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "New Sovereign",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "New Zealand Dollar",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Omani Rial",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Old Sovereign",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Panamanian Balboa",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Peruvian Nuevo Sol",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papua New Guinean Kina",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Philippine Peso",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Pakistani Rupee",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Polish Z\u0142oty",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Paraguayan Guaran\u00ed",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Qatari Riyal",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Romanian New Leu",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Serbian Dinar",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Russian Rouble",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Rwandan Franc",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Saudi Riyal",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "Solomon Islands Dollar",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Seychelles Rupee",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Sudanese Pound",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Swedish Krona",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Singapore Dollar",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Saint Helena Pound",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Sierra Leonean Leone",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Somali Shilling",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "Surinamese Dollar",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Sao Tomean Dobra",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Salvadoran Col\u00f3n",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Thai Baht",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tajikistani Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Turkmenistani Manat",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Tunisian Dinar",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tongan Pa\u02bbAnga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Turkish Lira",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "Trinidad And Tobago Dollar",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "New Taiwan Dollar",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Tanzanian Shilling",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Ukrainian Hryvnia",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Ugandan Shilling",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "United States Dollar",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Uruguayan Peso",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Uzbekistan Som",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Venezuelan Bolivar Soberano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Vietnamese Dong",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Silver (One Troy Ounce)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Silver (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Gold (One Troy Ounce)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Gold (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "East Caribbean Dollar",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladium (One Troy Ounce)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Palladium (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Cfp Franc",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platinum (One Troy Ounce)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platinum (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Yemeni Rial",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "South African Rand",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Zambian Kwacha",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "Zimbabwe Dollar",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash Cryptocurrency",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash Cryptocurrency",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Cash",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Xrp Cryptocurrency",
-        "flag": "XRP"
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Resources/Currencies.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,1374 @@
+{
+    "AED":
+    {
+        "symbol": "AED",
+        "name": "United Arab Emirates Dirham",
+        "flag": "AE",
+        "isCrypto": false
+    },
+    "AFN":
+    {
+        "symbol": "AFN",
+        "name": "Afghan Afghani",
+        "flag": "AF",
+        "isCrypto": false
+    },
+    "ALL":
+    {
+        "symbol": "ALL",
+        "name": "Albanian Lek",
+        "flag": "AL",
+        "isCrypto": false
+    },
+    "AMD":
+    {
+        "symbol": "AMD",
+        "name": "Armenian Dram",
+        "flag": "AM",
+        "isCrypto": false
+    },
+    "ANG":
+    {
+        "symbol": "ANG",
+        "name": "Netherlands Antillean Guilder",
+        "flag": "CW",
+        "isCrypto": false
+    },
+    "AOA":
+    {
+        "symbol": "AOA",
+        "name": "Angolan Kwanza",
+        "flag": "AO",
+        "isCrypto": false
+    },
+    "ARE":
+    {
+        "symbol": "ARE",
+        "name": "Areg",
+        "flag": "AR",
+        "isCrypto": false
+    },
+    "ARS":
+    {
+        "symbol": "ARS",
+        "name": "Argentine Peso",
+        "flag": "AR",
+        "isCrypto": false
+    },
+    "AUD":
+    {
+        "symbol": "AUD",
+        "name": "Australian Dollar",
+        "flag": "AU",
+        "isCrypto": false
+    },
+    "AUN":
+    {
+        "symbol": "AUN",
+        "name": "Australian Nugget",
+        "flag": "AU",
+        "isCrypto": false
+    },
+    "AWG":
+    {
+        "symbol": "AWG",
+        "name": "Aruban Florin",
+        "flag": "AW",
+        "isCrypto": false
+    },
+    "BAM":
+    {
+        "symbol": "BAM",
+        "name": "Bosnia And Herzegovina Convertible Mark",
+        "flag": "BA",
+        "isCrypto": false
+    },
+    "BBD":
+    {
+        "symbol": "BBD",
+        "name": "Barbados Dollar",
+        "flag": "BB",
+        "isCrypto": false
+    },
+    "BDT":
+    {
+        "symbol": "BDT",
+        "name": "Bangladeshi Taka",
+        "flag": "BD",
+        "isCrypto": false
+    },
+    "BGN":
+    {
+        "symbol": "BGN",
+        "name": "Bulgarian Lev",
+        "flag": "BG",
+        "isCrypto": false
+    },
+    "BHD":
+    {
+        "symbol": "BHD",
+        "name": "Bahraini Dinar",
+        "flag": "BH",
+        "isCrypto": false
+    },
+    "BIF":
+    {
+        "symbol": "BIF",
+        "name": "Burundian Franc",
+        "flag": "BI",
+        "isCrypto": false
+    },
+    "BMD":
+    {
+        "symbol": "BMD",
+        "name": "Bermudian Dollar",
+        "flag": "BM",
+        "isCrypto": false
+    },
+    "BND":
+    {
+        "symbol": "BND",
+        "name": "Brunei Dollar",
+        "flag": "BN",
+        "isCrypto": false
+    },
+    "BOB":
+    {
+        "symbol": "BOB",
+        "name": "Boliviano",
+        "flag": "BO",
+        "isCrypto": false
+    },
+    "BRI":
+    {
+        "symbol": "BRI",
+        "name": "Britannia",
+        "flag": "BR",
+        "isCrypto": false
+    },
+    "BRL":
+    {
+        "symbol": "BRL",
+        "name": "Brazilian Real",
+        "flag": "BR",
+        "isCrypto": false
+    },
+    "BSD":
+    {
+        "symbol": "BSD",
+        "name": "Bahamian Dollar",
+        "flag": "BS",
+        "isCrypto": false
+    },
+    "BTN":
+    {
+        "symbol": "BTN",
+        "name": "Bhutanese Ngultrum",
+        "flag": "BT",
+        "isCrypto": false
+    },
+    "BWP":
+    {
+        "symbol": "BWP",
+        "name": "Botswana Pula",
+        "flag": "BW",
+        "isCrypto": false
+    },
+    "BYN":
+    {
+        "symbol": "BYN",
+        "name": "Belarusian Ruble",
+        "flag": "BY",
+        "isCrypto": false
+    },
+    "BZD":
+    {
+        "symbol": "BZD",
+        "name": "Belize Dollar",
+        "flag": "BZ",
+        "isCrypto": false
+    },
+    "CAD":
+    {
+        "symbol": "CAD",
+        "name": "Canadian Dollar",
+        "flag": "CA",
+        "isCrypto": false
+    },
+    "CDF":
+    {
+        "symbol": "CDF",
+        "name": "Congolese Franc",
+        "flag": "CD",
+        "isCrypto": false
+    },
+    "CHF":
+    {
+        "symbol": "CHF",
+        "name": "Swiss Franc",
+        "flag": "CH",
+        "isCrypto": false
+    },
+    "CLF":
+    {
+        "symbol": "CLF",
+        "name": "Chilean Unit Of Account",
+        "flag": "CL",
+        "isCrypto": false
+    },
+    "CLP":
+    {
+        "symbol": "CLP",
+        "name": "Chilean Peso",
+        "flag": "CL",
+        "isCrypto": false
+    },
+    "CNH":
+    {
+        "symbol": "CNH",
+        "name": "Chinese Yuan",
+        "flag": "CN",
+        "isCrypto": false
+    },
+    "CNY":
+    {
+        "symbol": "CNY",
+        "name": "Chinese Yuan",
+        "flag": "CN",
+        "isCrypto": false
+    },
+    "COP":
+    {
+        "symbol": "COP",
+        "name": "Colombian Peso",
+        "flag": "CO",
+        "isCrypto": false
+    },
+    "CRC":
+    {
+        "symbol": "CRC",
+        "name": "Costa Rican Colon",
+        "flag": "CR",
+        "isCrypto": false
+    },
+    "CUP":
+    {
+        "symbol": "CUP",
+        "name": "Cuban Peso",
+        "flag": "CU",
+        "isCrypto": false
+    },
+    "CVE":
+    {
+        "symbol": "CVE",
+        "name": "Cape Verde Escudo",
+        "flag": "CV",
+        "isCrypto": false
+    },
+    "CYP":
+    {
+        "symbol": "CYP",
+        "name": "Cypriot Pound",
+        "flag": "CY",
+        "isCrypto": false
+    },
+    "CZK":
+    {
+        "symbol": "CZK",
+        "name": "Czech Koruna",
+        "flag": "CZ",
+        "isCrypto": false
+    },
+    "DJF":
+    {
+        "symbol": "DJF",
+        "name": "Djiboutian Franc",
+        "flag": "DJ",
+        "isCrypto": false
+    },
+    "DKK":
+    {
+        "symbol": "DKK",
+        "name": "Danish Krone",
+        "flag": "DK",
+        "isCrypto": false
+    },
+    "DOE":
+    {
+        "symbol": "DOE",
+        "name": "Double Eagle",
+        "flag": "DO",
+        "isCrypto": false
+    },
+    "DOP":
+    {
+        "symbol": "DOP",
+        "name": "Dominican Peso",
+        "flag": "DO",
+        "isCrypto": false
+    },
+    "DZD":
+    {
+        "symbol": "DZD",
+        "name": "Algerian Dinar",
+        "flag": "DZ",
+        "isCrypto": false
+    },
+    "EGP":
+    {
+        "symbol": "EGP",
+        "name": "Egyptian Pound",
+        "flag": "EG",
+        "isCrypto": false
+    },
+    "ETB":
+    {
+        "symbol": "ETB",
+        "name": "Ethiopian Birr",
+        "flag": "ET",
+        "isCrypto": false
+    },
+    "EUR":
+    {
+        "symbol": "EUR",
+        "name": "Euro",
+        "flag": "EU",
+        "isCrypto": false
+    },
+    "FJD":
+    {
+        "symbol": "FJD",
+        "name": "Fiji Dollar",
+        "flag": "FJ",
+        "isCrypto": false
+    },
+    "FRN":
+    {
+        "symbol": "FRN",
+        "name": "French Napoleon",
+        "flag": "FR",
+        "isCrypto": false
+    },
+    "GBP":
+    {
+        "symbol": "GBP",
+        "name": "Pound Sterling",
+        "flag": "GB",
+        "isCrypto": false
+    },
+    "GEL":
+    {
+        "symbol": "GEL",
+        "name": "Georgian Lari",
+        "flag": "GE",
+        "isCrypto": false
+    },
+    "GHS":
+    {
+        "symbol": "GHS",
+        "name": "Ghanaian Cedi",
+        "flag": "GH",
+        "isCrypto": false
+    },
+    "GMD":
+    {
+        "symbol": "GMD",
+        "name": "Gambian Dalasi",
+        "flag": "GM",
+        "isCrypto": false
+    },
+    "GNF":
+    {
+        "symbol": "GNF",
+        "name": "Guinean Franc",
+        "flag": "GN",
+        "isCrypto": false
+    },
+    "GTQ":
+    {
+        "symbol": "GTQ",
+        "name": "Guatemalan Quetzal",
+        "flag": "GT",
+        "isCrypto": false
+    },
+    "GYD":
+    {
+        "symbol": "GYD",
+        "name": "Guyanese Dollar",
+        "flag": "GY",
+        "isCrypto": false
+    },
+    "HKD":
+    {
+        "symbol": "HKD",
+        "name": "Hong Kong Dollar",
+        "flag": "HK",
+        "isCrypto": false
+    },
+    "HNL":
+    {
+        "symbol": "HNL",
+        "name": "Honduran Lempira",
+        "flag": "HN",
+        "isCrypto": false
+    },
+    "HRK":
+    {
+        "symbol": "HRK",
+        "name": "Croatian Kuna",
+        "flag": "HR",
+        "isCrypto": false
+    },
+    "HTG":
+    {
+        "symbol": "HTG",
+        "name": "Haitian Gourde",
+        "flag": "HT",
+        "isCrypto": false
+    },
+    "HUF":
+    {
+        "symbol": "HUF",
+        "name": "Hungarian Forint",
+        "flag": "HU",
+        "isCrypto": false
+    },
+    "IDR":
+    {
+        "symbol": "IDR",
+        "name": "Indonesian Rupiah",
+        "flag": "ID",
+        "isCrypto": false
+    },
+    "ILS":
+    {
+        "symbol": "ILS",
+        "name": "Israeli New Shekel",
+        "flag": "IL",
+        "isCrypto": false
+    },
+    "INR":
+    {
+        "symbol": "INR",
+        "name": "Indian Rupee",
+        "flag": "IN",
+        "isCrypto": false
+    },
+    "IQD":
+    {
+        "symbol": "IQD",
+        "name": "Iraqi Dinar",
+        "flag": "IQ",
+        "isCrypto": false
+    },
+    "IRR":
+    {
+        "symbol": "IRR",
+        "name": "Iranian Rial",
+        "flag": "IR",
+        "isCrypto": false
+    },
+    "ISK":
+    {
+        "symbol": "ISK",
+        "name": "Icelandic Króna",
+        "flag": "IS",
+        "isCrypto": false
+    },
+    "JMD":
+    {
+        "symbol": "JMD",
+        "name": "Jamaican Dollar",
+        "flag": "JM",
+        "isCrypto": false
+    },
+    "JOD":
+    {
+        "symbol": "JOD",
+        "name": "Jordanian Dinar",
+        "flag": "JO",
+        "isCrypto": false
+    },
+    "JPY":
+    {
+        "symbol": "JPY",
+        "name": "Japanese Yen",
+        "flag": "JP",
+        "isCrypto": false
+    },
+    "KES":
+    {
+        "symbol": "KES",
+        "name": "Kenyan Shilling",
+        "flag": "KE",
+        "isCrypto": false
+    },
+    "KHR":
+    {
+        "symbol": "KHR",
+        "name": "Cambodian Riel",
+        "flag": "KH",
+        "isCrypto": false
+    },
+    "KMF":
+    {
+        "symbol": "KMF",
+        "name": "Comoro Franc",
+        "flag": "KM",
+        "isCrypto": false
+    },
+    "KRU":
+    {
+        "symbol": "KRU",
+        "name": "South African Krugerrand",
+        "flag": "KR",
+        "isCrypto": false
+    },
+    "KRW":
+    {
+        "symbol": "KRW",
+        "name": "South Korean Won",
+        "flag": "KR",
+        "isCrypto": false
+    },
+    "KWD":
+    {
+        "symbol": "KWD",
+        "name": "Kuwaiti Dinar",
+        "flag": "KW",
+        "isCrypto": false
+    },
+    "KYD":
+    {
+        "symbol": "KYD",
+        "name": "Cayman Islands Dollar",
+        "flag": "KY",
+        "isCrypto": false
+    },
+    "KZT":
+    {
+        "symbol": "KZT",
+        "name": "Kazakhstani Tenge",
+        "flag": "KZ",
+        "isCrypto": false
+    },
+    "LAK":
+    {
+        "symbol": "LAK",
+        "name": "Lao Kip",
+        "flag": "LA",
+        "isCrypto": false
+    },
+    "LBP":
+    {
+        "symbol": "LBP",
+        "name": "Lebanese Pound",
+        "flag": "LB",
+        "isCrypto": false
+    },
+    "LFX":
+    {
+        "symbol": "LFX",
+        "name": "Khazanah Sukuk",
+        "flag": "MY",
+        "isCrypto": false
+    },
+    "LKR":
+    {
+        "symbol": "LKR",
+        "name": "Sri Lankan Rupee",
+        "flag": "LK",
+        "isCrypto": false
+    },
+    "LRD":
+    {
+        "symbol": "LRD",
+        "name": "Liberian Dollar",
+        "flag": "LR",
+        "isCrypto": false
+    },
+    "LSL":
+    {
+        "symbol": "LSL",
+        "name": "Lesotho Loti",
+        "flag": "LS",
+        "isCrypto": false
+    },
+    "LTL":
+    {
+        "symbol": "LTL",
+        "name": "Lithuanian Litas",
+        "flag": "LT",
+        "isCrypto": false
+    },
+    "LYD":
+    {
+        "symbol": "LYD",
+        "name": "Libyan Dinar",
+        "flag": "LY",
+        "isCrypto": false
+    },
+    "M5P":
+    {
+        "symbol": "M5P",
+        "name": "Mexican 50 Peso",
+        "flag": "MX",
+        "isCrypto": false
+    },
+    "MAD":
+    {
+        "symbol": "MAD",
+        "name": "Moroccan Dirham",
+        "flag": "MA",
+        "isCrypto": false
+    },
+    "MAL":
+    {
+        "symbol": "MAL",
+        "name": "Maple Leaf",
+        "flag": "MA",
+        "isCrypto": false
+    },
+    "MDL":
+    {
+        "symbol": "MDL",
+        "name": "Moldovan Leu",
+        "flag": "MD",
+        "isCrypto": false
+    },
+    "MGA":
+    {
+        "symbol": "MGA",
+        "name": "Malagasy Ariary",
+        "flag": "MG",
+        "isCrypto": false
+    },
+    "MKD":
+    {
+        "symbol": "MKD",
+        "name": "Macedonian Denar",
+        "flag": "MK",
+        "isCrypto": false
+    },
+    "MMK":
+    {
+        "symbol": "MMK",
+        "name": "Myanma Kyat",
+        "flag": "MM",
+        "isCrypto": false
+    },
+    "MOP":
+    {
+        "symbol": "MOP",
+        "name": "Macanese Pataca",
+        "flag": "MO",
+        "isCrypto": false
+    },
+    "MRU":
+    {
+        "symbol": "MRU",
+        "name": "Mauritanian Ouguiya",
+        "flag": "MR",
+        "isCrypto": false
+    },
+    "MTL":
+    {
+        "symbol": "MTL",
+        "name": "Maltese Lira",
+        "flag": "MT",
+        "isCrypto": false
+    },
+    "MUR":
+    {
+        "symbol": "MUR",
+        "name": "Mauritian Rupee",
+        "flag": "MU",
+        "isCrypto": false
+    },
+    "MVR":
+    {
+        "symbol": "MVR",
+        "name": "Maldivian Rufiyaa",
+        "flag": "MV",
+        "isCrypto": false
+    },
+    "MWK":
+    {
+        "symbol": "MWK",
+        "name": "Malawian Kwacha",
+        "flag": "MW",
+        "isCrypto": false
+    },
+    "MXN":
+    {
+        "symbol": "MXN",
+        "name": "Mexican Peso",
+        "flag": "MX",
+        "isCrypto": false
+    },
+    "MYR":
+    {
+        "symbol": "MYR",
+        "name": "Malaysian Ringgit",
+        "flag": "MY",
+        "isCrypto": false
+    },
+    "MZN":
+    {
+        "symbol": "MZN",
+        "name": "Mozambican Metical",
+        "flag": "MZ",
+        "isCrypto": false
+    },
+    "NAD":
+    {
+        "symbol": "NAD",
+        "name": "Namibian Dollar",
+        "flag": "NA",
+        "isCrypto": false
+    },
+    "NBL":
+    {
+        "symbol": "NBL",
+        "name": "Isle Of Man Noble",
+        "flag": "IM",
+        "isCrypto": false
+    },
+    "NGN":
+    {
+        "symbol": "NGN",
+        "name": "Nigerian Naira",
+        "flag": "NG",
+        "isCrypto": false
+    },
+    "NIO":
+    {
+        "symbol": "NIO",
+        "name": "Nicaraguan Córdoba",
+        "flag": "NI",
+        "isCrypto": false
+    },
+    "NOK":
+    {
+        "symbol": "NOK",
+        "name": "Norwegian Krone",
+        "flag": "NO",
+        "isCrypto": false
+    },
+    "NPR":
+    {
+        "symbol": "NPR",
+        "name": "Nepalese Rupee",
+        "flag": "NP",
+        "isCrypto": false
+    },
+    "NSO":
+    {
+        "symbol": "NSO",
+        "name": "New Sovereign",
+        "flag": "GB",
+        "isCrypto": false
+    },
+    "NZD":
+    {
+        "symbol": "NZD",
+        "name": "New Zealand Dollar",
+        "flag": "NZ",
+        "isCrypto": false
+    },
+    "OMR":
+    {
+        "symbol": "OMR",
+        "name": "Omani Rial",
+        "flag": "OM",
+        "isCrypto": false
+    },
+    "OSO":
+    {
+        "symbol": "OSO",
+        "name": "Old Sovereign",
+        "flag": "GB",
+        "isCrypto": false
+    },
+    "PAB":
+    {
+        "symbol": "PAB",
+        "name": "Panamanian Balboa",
+        "flag": "PA",
+        "isCrypto": false
+    },
+    "PEN":
+    {
+        "symbol": "PEN",
+        "name": "Peruvian Nuevo Sol",
+        "flag": "PE",
+        "isCrypto": false
+    },
+    "PGK":
+    {
+        "symbol": "PGK",
+        "name": "Papua New Guinean Kina",
+        "flag": "PG",
+        "isCrypto": false
+    },
+    "PHP":
+    {
+        "symbol": "PHP",
+        "name": "Philippine Peso",
+        "flag": "PH",
+        "isCrypto": false
+    },
+    "PKR":
+    {
+        "symbol": "PKR",
+        "name": "Pakistani Rupee",
+        "flag": "PK",
+        "isCrypto": false
+    },
+    "PLN":
+    {
+        "symbol": "PLN",
+        "name": "Polish Zloty",
+        "flag": "PL",
+        "isCrypto": false
+    },
+    "PYG":
+    {
+        "symbol": "PYG",
+        "name": "Paraguayan Guaraní",
+        "flag": "PY",
+        "isCrypto": false
+    },
+    "QAR":
+    {
+        "symbol": "QAR",
+        "name": "Qatari Riyal",
+        "flag": "QA",
+        "isCrypto": false
+    },
+    "RON":
+    {
+        "symbol": "RON",
+        "name": "Romanian New Leu",
+        "flag": "RO",
+        "isCrypto": false
+    },
+    "RSD":
+    {
+        "symbol": "RSD",
+        "name": "Serbian Dinar",
+        "flag": "RS",
+        "isCrypto": false
+    },
+    "RUB":
+    {
+        "symbol": "RUB",
+        "name": "Russian Rouble",
+        "flag": "RU",
+        "isCrypto": false
+    },
+    "RWF":
+    {
+        "symbol": "RWF",
+        "name": "Rwandan Franc",
+        "flag": "RW",
+        "isCrypto": false
+    },
+    "SAR":
+    {
+        "symbol": "SAR",
+        "name": "Saudi Riyal",
+        "flag": "SA",
+        "isCrypto": false
+    },
+    "SBD":
+    {
+        "symbol": "SBD",
+        "name": "Solomon Islands Dollar",
+        "flag": "SB",
+        "isCrypto": false
+    },
+    "SCR":
+    {
+        "symbol": "SCR",
+        "name": "Seychelles Rupee",
+        "flag": "SC",
+        "isCrypto": false
+    },
+    "SDG":
+    {
+        "symbol": "SDG",
+        "name": "Sudanese Pound",
+        "flag": "SD",
+        "isCrypto": false
+    },
+    "SEK":
+    {
+        "symbol": "SEK",
+        "name": "Swedish Krona",
+        "flag": "SE",
+        "isCrypto": false
+    },
+    "SGD":
+    {
+        "symbol": "SGD",
+        "name": "Singapore Dollar",
+        "flag": "SG",
+        "isCrypto": false
+    },
+    "SHP":
+    {
+        "symbol": "SHP",
+        "name": "Saint Helena Pound",
+        "flag": "SH",
+        "isCrypto": false
+    },
+    "SLL":
+    {
+        "symbol": "SLL",
+        "name": "Sierra Leonean Leone",
+        "flag": "SL",
+        "isCrypto": false
+    },
+    "SOS":
+    {
+        "symbol": "SOS",
+        "name": "Somali Shilling",
+        "flag": "SO",
+        "isCrypto": false
+    },
+    "SRD":
+    {
+        "symbol": "SRD",
+        "name": "Surinamese Dollar",
+        "flag": "SR",
+        "isCrypto": false
+    },
+    "STN":
+    {
+        "symbol": "STN",
+        "name": "Sao Tomean Dobra",
+        "flag": "ST",
+        "isCrypto": false
+    },
+    "SVC":
+    {
+        "symbol": "SVC",
+        "name": "Salvadoran Colón",
+        "flag": "SV",
+        "isCrypto": false
+    },
+    "SZL":
+    {
+        "symbol": "SZL",
+        "name": "Swazi Lilangeni",
+        "flag": "SZ",
+        "isCrypto": false
+    },
+    "THB":
+    {
+        "symbol": "THB",
+        "name": "Thai Baht",
+        "flag": "TH",
+        "isCrypto": false
+    },
+    "TJS":
+    {
+        "symbol": "TJS",
+        "name": "Tajikistani Somoni",
+        "flag": "TJ",
+        "isCrypto": false
+    },
+    "TMT":
+    {
+        "symbol": "TMT",
+        "name": "Turkmenistani Manat",
+        "flag": "TM",
+        "isCrypto": false
+    },
+    "TND":
+    {
+        "symbol": "TND",
+        "name": "Tunisian Dinar",
+        "flag": "TN",
+        "isCrypto": false
+    },
+    "TOP":
+    {
+        "symbol": "TOP",
+        "name": "Tongan PaʻAnga",
+        "flag": "TO",
+        "isCrypto": false
+    },
+    "TRY":
+    {
+        "symbol": "TRY",
+        "name": "Turkish Lira",
+        "flag": "TR",
+        "isCrypto": false
+    },
+    "TTD":
+    {
+        "symbol": "TTD",
+        "name": "Trinidad And Tobago Dollar",
+        "flag": "TT",
+        "isCrypto": false
+    },
+    "TWD":
+    {
+        "symbol": "TWD",
+        "name": "New Taiwan Dollar",
+        "flag": "TW",
+        "isCrypto": false
+    },
+    "TZS":
+    {
+        "symbol": "TZS",
+        "name": "Tanzanian Shilling",
+        "flag": "TZ",
+        "isCrypto": false
+    },
+    "UAH":
+    {
+        "symbol": "UAH",
+        "name": "Ukrainian Hryvnia",
+        "flag": "UA",
+        "isCrypto": false
+    },
+    "UGX":
+    {
+        "symbol": "UGX",
+        "name": "Ugandan Shilling",
+        "flag": "UG",
+        "isCrypto": false
+    },
+    "USD":
+    {
+        "symbol": "USD",
+        "name": "United States Dollar",
+        "flag": "US",
+        "isCrypto": false
+    },
+    "UYU":
+    {
+        "symbol": "UYU",
+        "name": "Uruguayan Peso",
+        "flag": "UY",
+        "isCrypto": false
+    },
+    "UZS":
+    {
+        "symbol": "UZS",
+        "name": "Uzbekistan Som",
+        "flag": "UZ",
+        "isCrypto": false
+    },
+    "VES":
+    {
+        "symbol": "VES",
+        "name": "Venezuelan Bolivar Soberano",
+        "flag": "VE",
+        "isCrypto": false
+    },
+    "VND":
+    {
+        "symbol": "VND",
+        "name": "Vietnamese Dong",
+        "flag": "VN",
+        "isCrypto": false
+    },
+    "VRL":
+    {
+        "symbol": "VRL",
+        "name": "Vreneli 10F.",
+        "flag": "CH",
+        "isCrypto": false
+    },
+    "VRN":
+    {
+        "symbol": "VRN",
+        "name": "Vreneli 20F",
+        "flag": "CH",
+        "isCrypto": false
+    },
+    "XAG":
+    {
+        "symbol": "XAG",
+        "name": "Silver (One Troy Ounce)",
+        "flag": "XAG",
+        "isCrypto": false
+    },
+    "XAGK":
+    {
+        "symbol": "XAGK",
+        "name": "Silver (Kg)",
+        "flag": "XAG",
+        "isCrypto": false
+    },
+    "XAU":
+    {
+        "symbol": "XAU",
+        "name": "Gold (One Troy Ounce)",
+        "flag": "XAU",
+        "isCrypto": false
+    },
+    "XAUK":
+    {
+        "symbol": "XAUK",
+        "name": "Gold (Kg)",
+        "flag": "XAU",
+        "isCrypto": false
+    },
+    "XCD":
+    {
+        "symbol": "XCD",
+        "name": "East Caribbean Dollar",
+        "flag": "AI",
+        "isCrypto": false
+    },
+    "XOF":
+    {
+        "symbol": "XOF",
+        "name": "Cfa Franc Bceao",
+        "flag": "SN",
+        "isCrypto": false
+    },
+    "XPD":
+    {
+        "symbol": "XPD",
+        "name": "Palladium (One Troy Ounce)",
+        "flag": "XPD",
+        "isCrypto": false
+    },
+    "XPDK":
+    {
+        "symbol": "XPDK",
+        "name": "Palladium (Kg)",
+        "flag": "XPD",
+        "isCrypto": false
+    },
+    "XPF":
+    {
+        "symbol": "XPF",
+        "name": "Cfp Franc",
+        "flag": "PF",
+        "isCrypto": false
+    },
+    "XPT":
+    {
+        "symbol": "XPT",
+        "name": "Platinum (One Troy Ounce)",
+        "flag": "XPT",
+        "isCrypto": false
+    },
+    "XPTK":
+    {
+        "symbol": "XPTK",
+        "name": "Platinum (Kg)",
+        "flag": "XPT",
+        "isCrypto": false
+    },
+    "YER":
+    {
+        "symbol": "YER",
+        "name": "Yemeni Rial",
+        "flag": "YE",
+        "isCrypto": false
+    },
+    "ZAR":
+    {
+        "symbol": "ZAR",
+        "name": "South African Rand",
+        "flag": "ZA",
+        "isCrypto": false
+    },
+    "ZMW":
+    {
+        "symbol": "ZMW",
+        "name": "Zambian Kwacha",
+        "flag": "ZM",
+        "isCrypto": false
+    },
+    "ZWD":
+    {
+        "symbol": "ZWD",
+        "name": "Zimbabwe Dollar",
+        "flag": "ZW",
+        "isCrypto": false
+    },
+    "DASH":
+    {
+        "symbol": "DASH",
+        "name": "Dash",
+        "flag": "DASH",
+        "isCrypto": true
+    },
+    "BTC":
+    {
+        "symbol": "BTC",
+        "name": "Bitcoin",
+        "flag": "BTC",
+        "isCrypto": true
+    },
+    "DSH":
+    {
+        "symbol": "DSH",
+        "name": "Dash Coin",
+        "flag": "DASH",
+        "isCrypto": true
+    },
+    "LTC":
+    {
+        "symbol": "LTC",
+        "name": "Litecoin",
+        "flag": "LTC",
+        "isCrypto": true
+    },
+    "ETH":
+    {
+        "symbol": "ETH",
+        "name": "Ethereum",
+        "flag": "ETH",
+        "isCrypto": true
+    },
+    "BCH":
+    {
+        "symbol": "BCH",
+        "name": "Bitcoin Cash",
+        "flag": "BTC",
+        "isCrypto": true
+    },
+    "XRP":
+    {
+        "symbol": "XRP",
+        "name": "Xrp Cryptocurrency",
+        "flag": "XRP",
+        "isCrypto": true
+    },
+    "XLM":
+    {
+        "symbol": "XLM",
+        "name": "Stellar",
+        "flag": "XLM",
+        "isCrypto": true
+    },
+    "ADA":
+    {
+        "symbol": "ADA",
+        "name": "Cardano",
+        "flag": "ADA",
+        "isCrypto": true
+    },
+    "UKO":
+    {
+        "symbol": "UKO",
+        "name": "Brent Crude Oil",
+        "flag": "UKO",
+        "isCrypto": false
+    },
+    "AAVE":
+    {
+        "symbol": "AAVE",
+        "name": "Aave Token",
+        "flag": "AAVE",
+        "isCrypto": true
+    },
+    "UNI":
+    {
+        "symbol": "UNI",
+        "name": "Uniswap",
+        "flag": "UNI",
+        "isCrypto": true
+    },
+    "LUNA":
+    {
+        "symbol": "LUNA",
+        "name": "Terra",
+        "flag": "LUNA",
+        "isCrypto": true
+    },
+    "XMR":
+    {
+        "symbol": "XMR",
+        "name": "Monero",
+        "flag": "XMR",
+        "isCrypto": true
+    },
+    "XDR":
+    {
+        "symbol": "XDR",
+        "name": "Special Drawing Rights",
+        "flag": "XDR",
+        "isCrypto": false
+    },
+    "SOL":
+    {
+        "symbol": "SOL",
+        "name": "Solana",
+        "flag": "SOL",
+        "isCrypto": true
+    },
+    "DOGE":
+    {
+        "symbol": "DOGE",
+        "name": "Dogecoin",
+        "flag": "DOGE",
+        "isCrypto": true
+    },
+    "VET":
+    {
+        "symbol": "VET",
+        "name": "VeChain",
+        "flag": "VET",
+        "isCrypto": true
+    },
+    "DOT":
+    {
+        "symbol": "DOT",
+        "name": "Polkadot",
+        "flag": "DOT",
+        "isCrypto": true
+    },
+    "USDC":
+    {
+        "symbol": "USDC",
+        "name": "USD Coin",
+        "flag": "USDC",
+        "isCrypto": true
+    },
+    "FIL":
+    {
+        "symbol": "FIL",
+        "name": "File Coin",
+        "flag": "FIL",
+        "isCrypto": true
+    },
+    "LINK":
+    {
+        "symbol": "LINK",
+        "name": "Chainlink",
+        "flag": "LINK",
+        "isCrypto": true
+    },
+    "MATIC":
+    {
+        "symbol": "MATIC",
+        "name": "Polygon",
+        "flag": "MATIC",
+        "isCrypto": true
+    },
+    "THETA":
+    {
+        "symbol": "THETA",
+        "name": "Theta",
+        "flag": "THETA",
+        "isCrypto": true
+    },
+    "BNB":
+    {
+        "symbol": "BNB",
+        "name": "Binance Coin",
+        "flag": "BNB",
+        "isCrypto": true
+    }
+}
--- a/Simoleon/Resources/CurrencyPairs.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8494 +0,0 @@
-[
-    {
-        "name": "EUR/USD",
-        "isLocked": false
-    },
-    {
-        "name": "HUF/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "GNF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "NPR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/GTQ",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/COP",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CLF",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SOS",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "GTQ/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/AOA",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SBD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/PGK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/KHR",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/HTG",
-        "isLocked": true
-    },
-    {
-        "name": "VES/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "COP/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CDF",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BWP",
-        "isLocked": true
-    },
-    {
-        "name": "VND/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BWP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ANG/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/IQD",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/BMD",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/FJD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/HNL",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BTN",
-        "isLocked": true
-    },
-    {
-        "name": "INR/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/USD",
-        "isLocked": false
-    },
-    {
-        "name": "DKK/COP",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/HRK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MMK",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/PAB",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/YER",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BZD",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/NAD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "ARE/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NGN",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SDG",
-        "isLocked": true
-    },
-    {
-        "name": "DOE/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "THB/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/COP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/AFN",
-        "isLocked": true
-    },
-    {
-        "name": "INR/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/LAK",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LSL",
-        "isLocked": true
-    },
-    {
-        "name": "ETB/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "ZMW/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "UAH/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "THB/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "COP/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/VND",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "TOP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GHS/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "QAR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KYD",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "GNF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BBD",
-        "isLocked": true
-    },
-    {
-        "name": "INR/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CUP",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "NPR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/GHS",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "KRU/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "UAH/USD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "TZS/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "AED/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/QAR",
-        "isLocked": true
-    },
-    {
-        "name": "IDR/INR",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BSD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "COP/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/INR",
-        "isLocked": true
-    },
-    {
-        "name": "OMR/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "THB/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "ANG/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SLL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/VES",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "MGA/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/THB",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/UYU",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "MAL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/LKR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "INR/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "GYD/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/RON",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/TND",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/AED",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "KES/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "BDT/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BMD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "AMD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "NSO/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KES",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/PYG",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "HRK/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "MAD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ALL",
-        "isLocked": true
-    },
-    {
-        "name": "AED/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BAM",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/LBP",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/INR",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "JOD/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "DOP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AED/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "TOP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "QAR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "NGN/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/EGP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BGN",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/INR",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/HKD",
-        "isLocked": false
-    },
-    {
-        "name": "SGD/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/AOA",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MTL",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KHR",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/UAH",
-        "isLocked": true
-    },
-    {
-        "name": "TTD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/HTG",
-        "isLocked": true
-    },
-    {
-        "name": "TZS/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MAD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "M5P/USD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "VND/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "CRC/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/SZL",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/VND",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BND",
-        "isLocked": true
-    },
-    {
-        "name": "USD/IQD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "VRN/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MGA",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "MUR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "NGN/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "SLL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/UAH",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/RWF",
-        "isLocked": true
-    },
-    {
-        "name": "VRL/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EGP/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/PAB",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "MGA/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/YER",
-        "isLocked": true
-    },
-    {
-        "name": "VND/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MOP",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ETB",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/COP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/OMR",
-        "isLocked": true
-    },
-    {
-        "name": "HRK/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NAD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "DJF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MWK",
-        "isLocked": true
-    },
-    {
-        "name": "BDT/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BIF",
-        "isLocked": true
-    },
-    {
-        "name": "COP/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "ZMW/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/AFN",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/AED",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/GEL",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/JOD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/LSL",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ZMW",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/JMD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "AED/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/INR",
-        "isLocked": true
-    },
-    {
-        "name": "MAD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/THB",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/DZD",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/THB",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BZD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/BHD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/XOF",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/BGN",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "AFN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "BIF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "THB/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "LFX/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BBD",
-        "isLocked": true
-    },
-    {
-        "name": "DOP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CUP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/GHS",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/NPR",
-        "isLocked": true
-    },
-    {
-        "name": "XCD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "THB/USD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "SZL/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "TMT/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "TTD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/INR",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LYD",
-        "isLocked": true
-    },
-    {
-        "name": "MKD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "RSD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "MZN/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "CRC/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/INR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "FRN/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/UGX",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/XPF",
-        "isLocked": true
-    },
-    {
-        "name": "LYD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/KYD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MKD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TND",
-        "isLocked": true
-    },
-    {
-        "name": "USD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/INR",
-        "isLocked": true
-    },
-    {
-        "name": "VND/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/TZS",
-        "isLocked": true
-    },
-    {
-        "name": "AED/BHD",
-        "isLocked": true
-    },
-    {
-        "name": "COP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "NBL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/BGN",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ANG",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MUR",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/AED",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/PGK",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BYN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CDF",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ALL",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BAM",
-        "isLocked": true
-    },
-    {
-        "name": "BND/USD",
-        "isLocked": true
-    },
-    {
-        "name": "INR/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SCR",
-        "isLocked": true
-    },
-    {
-        "name": "OMR/AED",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/FJD",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "INR/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "AFN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/DJF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KMF",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/INR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MDL",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "MUR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BGN",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MVR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CRC",
-        "isLocked": true
-    },
-    {
-        "name": "THB/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "AWG/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "MUR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LAK",
-        "isLocked": true
-    },
-    {
-        "name": "PGK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "NGN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/AED",
-        "isLocked": true
-    },
-    {
-        "name": "THB/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "BWP/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "MKD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "INR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "TOP/FJD",
-        "isLocked": true
-    },
-    {
-        "name": "LKR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SOS",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/AWG",
-        "isLocked": true
-    },
-    {
-        "name": "USD/RWF",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/AED",
-        "isLocked": true
-    },
-    {
-        "name": "MDL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BOB",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "BBD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/JPY",
-        "isLocked": false
-    },
-    {
-        "name": "LYD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/OMR",
-        "isLocked": true
-    },
-    {
-        "name": "BSD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BWP",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/NGN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LFX",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MWK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "MDL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BIF",
-        "isLocked": true
-    },
-    {
-        "name": "BBD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ZMW",
-        "isLocked": true
-    },
-    {
-        "name": "USD/JMD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "XPTK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BTN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MMK",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "BND/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/GYD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LKR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/GNF",
-        "isLocked": true
-    },
-    {
-        "name": "UGX/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/DOP",
-        "isLocked": true
-    },
-    {
-        "name": "BGN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "TOP/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NPR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/COP",
-        "isLocked": true
-    },
-    {
-        "name": "PAB/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/TOP",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "LRD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CYP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/IRR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BDT",
-        "isLocked": true
-    },
-    {
-        "name": "OMR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "MZN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AUN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "TOP/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "SCR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "USD/LYD",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/THB",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/AED",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BMD",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "MUR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "PGK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BHD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/AMD",
-        "isLocked": true
-    },
-    {
-        "name": "NGN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "USD/UGX",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/HRK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "UYU/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "COP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/QAR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TZS",
-        "isLocked": true
-    },
-    {
-        "name": "BAM/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BRI/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AED/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/KES",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/EGP",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/USD",
-        "isLocked": false
-    },
-    {
-        "name": "BSD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BSD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/GMD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "AED/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "UYU/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/RSD",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BYN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MAD",
-        "isLocked": true
-    },
-    {
-        "name": "JOD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "INR/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "MDL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "BBD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/LBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/UYU",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/INR",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SZL",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/XCD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/VND",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/GBP",
-        "isLocked": false
-    },
-    {
-        "name": "IDR/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MRU",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/RON",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "XPT/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EGP/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LRD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "VND/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "INR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/THB",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/PYG",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/THB",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "BMD/KYD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/KHR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SLL",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "MAD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SHP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SVC",
-        "isLocked": true
-    },
-    {
-        "name": "BGN/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/KZT",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "RON/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "XPT/USD",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "LRD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "INR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "KRU/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "LKR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/LFX",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/JOD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SCR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/THB",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "EGP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SOS",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BHD",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/INR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/NAD",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/NIO",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BWP",
-        "isLocked": true
-    },
-    {
-        "name": "KHR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "XPD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/BGN",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "BAM/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "MAL/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BND",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "LTL/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "UYU/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/RON",
-        "isLocked": true
-    },
-    {
-        "name": "OSO/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MGA",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/LSL",
-        "isLocked": true
-    },
-    {
-        "name": "XPF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "KYD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/TOP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "USD/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BTN",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/AED",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MZN",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/UAH",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MMK",
-        "isLocked": true
-    },
-    {
-        "name": "XPD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/THB",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MOP",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ETB",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "UGX/USD",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/THB",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "TJS/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/TTD",
-        "isLocked": true
-    },
-    {
-        "name": "AED/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "KYD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/GHS",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "OMR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/COP",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/GEL",
-        "isLocked": true
-    },
-    {
-        "name": "MWK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MUR",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/DZD",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/INR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TMT",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/INR",
-        "isLocked": true
-    },
-    {
-        "name": "GYD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "XPT/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "INR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "INR/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/BWP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "LKR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CVE",
-        "isLocked": true
-    },
-    {
-        "name": "USD/AMD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SBD",
-        "isLocked": true
-    },
-    {
-        "name": "M5P/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "INR/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "MMK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/QAR",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/GTQ",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/TND",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/AED",
-        "isLocked": true
-    },
-    {
-        "name": "THB/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/JOD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BSD",
-        "isLocked": true
-    },
-    {
-        "name": "KHR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/RSD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "TND/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/VES",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/UYU",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/INR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "XPF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "KMF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CNY",
-        "isLocked": false
-    },
-    {
-        "name": "JPY/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "XPD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MRU",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/HNL",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MKD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/UZS",
-        "isLocked": true
-    },
-    {
-        "name": "USD/RON",
-        "isLocked": true
-    },
-    {
-        "name": "AED/INR",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KRW",
-        "isLocked": false
-    },
-    {
-        "name": "ZAR/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "XAUK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "UGX/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/COP",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/RON",
-        "isLocked": true
-    },
-    {
-        "name": "USD/PYG",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/THB",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BZD",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "KYD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EGP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "RON/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/PGK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CDF",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "PYG/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/NGN",
-        "isLocked": true
-    },
-    {
-        "name": "BMD/BBD",
-        "isLocked": true
-    },
-    {
-        "name": "OMR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SCR",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "EGP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/FJD",
-        "isLocked": true
-    },
-    {
-        "name": "GYD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "KES/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/DJF",
-        "isLocked": true
-    },
-    {
-        "name": "THB/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MDL",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/RWF",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "ANG/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "FJD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/KYD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/OMR",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MVR",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "MMK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CRC",
-        "isLocked": true
-    },
-    {
-        "name": "BGN/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MWK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/AED",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "PGK/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LAK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/RON",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BND",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/USD",
-        "isLocked": true
-    },
-    {
-        "name": "NIO/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MGA",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/ZMW",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MZN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/UAH",
-        "isLocked": true
-    },
-    {
-        "name": "NBL/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BOB",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MOP",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/PGK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ETB",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CYP",
-        "isLocked": true
-    },
-    {
-        "name": "KMF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "JOD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "QAR/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LFX",
-        "isLocked": true
-    },
-    {
-        "name": "COP/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/COP",
-        "isLocked": true
-    },
-    {
-        "name": "MWK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/NPR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/FJD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "USD/GEL",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "RON/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/KES",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "AED/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "USD/DZD",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ALL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "ARE/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "DOE/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LBP",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/GYD",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "YER/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LKR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/UGX",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/GNF",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "BGN/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/DOP",
-        "isLocked": true
-    },
-    {
-        "name": "DZD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ALL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "FJD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/TZS",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "TND/USD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "BOB/USD",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BDT",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "AED/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/COP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/KHR",
-        "isLocked": true
-    },
-    {
-        "name": "DZD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "UAH/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/HTG",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/INR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BMD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CLP",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "HTG/USD",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "INR/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XPF",
-        "isLocked": true
-    },
-    {
-        "name": "NIO/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/HRK",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/LFX",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/TJS",
-        "isLocked": true
-    },
-    {
-        "name": "AED/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/IQD",
-        "isLocked": true
-    },
-    {
-        "name": "BTN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MKD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/UZS",
-        "isLocked": true
-    },
-    {
-        "name": "AWG/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SZL/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/PAB",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/EGP",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "MVR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/YER",
-        "isLocked": true
-    },
-    {
-        "name": "PYG/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "KES/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "HNL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "IQD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/PGK",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MAD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CDF",
-        "isLocked": true
-    },
-    {
-        "name": "MWK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SCR",
-        "isLocked": true
-    },
-    {
-        "name": "SVC/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SZL",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "KES/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/VND",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/AFN",
-        "isLocked": true
-    },
-    {
-        "name": "XCD/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "NSO/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/FJD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LSL",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/TOP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CAD",
-        "isLocked": false
-    },
-    {
-        "name": "TTD/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LRD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MDL",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "INR/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/INR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "YER/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "AUN/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/RON",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/INR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SLL",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BBD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "KYD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "RWF/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "LBP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SVC",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/CUP",
-        "isLocked": true
-    },
-    {
-        "name": "LSL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "ALL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/BWP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/KZT",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MVR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/GHS",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CRC",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "INR/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/HRK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "TND/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BYN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BOB/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "XPDK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/LAK",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/JOD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/USD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/BTN",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/THB",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/AED",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/INR",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MMK",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BHD",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "BRI/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "HTG/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BOB",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/MAD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/NIO",
-        "isLocked": true
-    },
-    {
-        "name": "BTN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "BHD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "AWG/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/TND",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/AED",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/COP",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "HNL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "IQD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ANG",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "BWP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/STN",
-        "isLocked": true
-    },
-    {
-        "name": "BHD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "JMD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "THB/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/INR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "SOS/USD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ALL",
-        "isLocked": true
-    },
-    {
-        "name": "SVC/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/BGN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BAM",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/INR",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/GYD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/TTD",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/THB",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "XAGK/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/LKR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "USD/GNF",
-        "isLocked": true
-    },
-    {
-        "name": "JMD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/DOP",
-        "isLocked": true
-    },
-    {
-        "name": "UZS/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "INR/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/QAR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TOP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/KMF",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "QAR/AED",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/THB",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BDT",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BGN",
-        "isLocked": true
-    },
-    {
-        "name": "LSL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SZL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MTL",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "BYN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "BMD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ETB/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/UYU",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/LFX",
-        "isLocked": true
-    },
-    {
-        "name": "MOP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/HRK",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/INR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TJS",
-        "isLocked": true
-    },
-    {
-        "name": "HRK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "SZL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GHS/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/GTQ",
-        "isLocked": true
-    },
-    {
-        "name": "KYD/BMD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/RON",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/ARS",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "LAK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/AWG",
-        "isLocked": true
-    },
-    {
-        "name": "CUP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/RWF",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "OSO/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "USD/EGP",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/PYG",
-        "isLocked": true
-    },
-    {
-        "name": "USD/CHF",
-        "isLocked": false
-    },
-    {
-        "name": "GBP/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/OMR",
-        "isLocked": true
-    },
-    {
-        "name": "KZT/USD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "HRK/USD",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MAD",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/AED",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/MWK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BIF",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "INR/THB",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SZL",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XCD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/VND",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/HNL",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ZMW",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/JMD",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/THB",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "THB/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "SOS/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/AED",
-        "isLocked": true
-    },
-    {
-        "name": "USD/LRD",
-        "isLocked": true
-    },
-    {
-        "name": "RWF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BZD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/INR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "AED/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SLL",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/LTL",
-        "isLocked": true
-    },
-    {
-        "name": "CDF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "JMD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SVC",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/NGN",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KZT",
-        "isLocked": true
-    },
-    {
-        "name": "AED/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/NPR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "ISK/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/JOD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/COP",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MGA",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/THB",
-        "isLocked": true
-    },
-    {
-        "name": "VES/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/MZN",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BHD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XOF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "BWP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LYD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/KYD",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/ETB",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/THB",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/CZK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "GTQ/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BBD/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "AED/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NIO",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "SZL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/UGX",
-        "isLocked": true
-    },
-    {
-        "name": "QAR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/SZL",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "VES/USD",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SRD",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "LAK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ZWD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BWP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BMD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/THB",
-        "isLocked": true
-    },
-    {
-        "name": "XOF/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/TZS",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "TZS/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "KZT/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "FJD/TOP",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "BDT/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BYN",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/ISK",
-        "isLocked": true
-    },
-    {
-        "name": "RON/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/VES",
-        "isLocked": true
-    },
-    {
-        "name": "IDR/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/TTD",
-        "isLocked": true
-    },
-    {
-        "name": "AED/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "CZK/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "MGA/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "RWF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "COP/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/INR",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "GHS/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/KES",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/THB",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MUR",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/LFX",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "CDF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "PEN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "ETB/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "BGN/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/PKR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LBP",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "GHS/USD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/HUF",
-        "isLocked": true
-    },
-    {
-        "name": "MAD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "MTL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/USD",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/DASH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "DASH/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "USD/DASH",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/DASH",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "DASH/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "DASH/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "DASH/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "DASH/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/ZWD",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ZWD",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "XPT/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "XPD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "XPD/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/XPT",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "XPT/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/XPD",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "ETH/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "NZD/XPD",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "XAU/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/XPT",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "XRP/MXN",
-        "isLocked": true
-    },
-    {
-        "name": "DSH/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "NOK/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/PLN",
-        "isLocked": true
-    },
-    {
-        "name": "XAG/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "LTC/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "COP/PEN",
-        "isLocked": true
-    },
-    {
-        "name": "CLF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "AOA/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "PGK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "KHR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "HTG/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CDF/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/VND",
-        "isLocked": true
-    },
-    {
-        "name": "IQD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "FJD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/INR",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "PAB/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "YER/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "NAD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/PHP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/ARE",
-        "isLocked": true
-    },
-    {
-        "name": "SDG/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/DOE",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/CNY",
-        "isLocked": true
-    },
-    {
-        "name": "COP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "AFN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "LAK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "LSL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "CUP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/KRU",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "INR/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/OMR",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/HKD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/MAL",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/GYD",
-        "isLocked": true
-    },
-    {
-        "name": "TND/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/KES",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/NSO",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "PYG/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "BAM/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/NGN",
-        "isLocked": true
-    },
-    {
-        "name": "BGN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "AOA/USD",
-        "isLocked": true
-    },
-    {
-        "name": "MTL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/M5P",
-        "isLocked": true
-    },
-    {
-        "name": "CLP/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "VND/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/VRN",
-        "isLocked": true
-    },
-    {
-        "name": "UAH/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "RWF/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/VRL",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/EGP",
-        "isLocked": true
-    },
-    {
-        "name": "MOP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "OMR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "NAD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "MWK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BIF/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GEL/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "JOD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ZMW/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "DZD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "BHD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/LFX",
-        "isLocked": true
-    },
-    {
-        "name": "NPR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "LYD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/FRN",
-        "isLocked": true
-    },
-    {
-        "name": "UGX/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "IDR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "TZS/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BHD/AED",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NBL",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "BYN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "AED/OMR",
-        "isLocked": true
-    },
-    {
-        "name": "MVR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "IDR/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/AWG",
-        "isLocked": true
-    },
-    {
-        "name": "SOS/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "LFX/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/XPTK",
-        "isLocked": true
-    },
-    {
-        "name": "BTN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "MMK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/AED",
-        "isLocked": true
-    },
-    {
-        "name": "COP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "IRR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/AUN",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/BHD",
-        "isLocked": true
-    },
-    {
-        "name": "AMD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "HRK/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "IDR/USD",
-        "isLocked": true
-    },
-    {
-        "name": "MXN/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "QAR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/BRI",
-        "isLocked": true
-    },
-    {
-        "name": "EGP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BSD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GMD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/AED",
-        "isLocked": true
-    },
-    {
-        "name": "AED/JOD",
-        "isLocked": true
-    },
-    {
-        "name": "LBP/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "MRU/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "RON/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/XPT",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/EGP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "PYG/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/SEK",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "THB/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "KHR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/SHP",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XPT",
-        "isLocked": true
-    },
-    {
-        "name": "AED/KWD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/KRU",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "LFX/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "JOD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "THB/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "BHD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "NAD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/XPD",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/MAL",
-        "isLocked": true
-    },
-    {
-        "name": "BND/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "RON/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/OSO",
-        "isLocked": true
-    },
-    {
-        "name": "MGA/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "LSL/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "MZN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XPD",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "MOP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ETB/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/AED",
-        "isLocked": true
-    },
-    {
-        "name": "ARS/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "GEL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "INR/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "ILS/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/XPT",
-        "isLocked": true
-    },
-    {
-        "name": "CVE/USD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/M5P",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "RSD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "INR/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/SAR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/XPD",
-        "isLocked": true
-    },
-    {
-        "name": "MRU/USD",
-        "isLocked": true
-    },
-    {
-        "name": "MKD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "UZS/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "INR/AED",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/XAUK",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "RON/JPY",
-        "isLocked": true
-    },
-    {
-        "name": "BZD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "PGK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CDF/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BBD/BMD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "SCR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "FJD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "DJF/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/ANG",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "BRL/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "MVR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CRC/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "LAK/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/NBL",
-        "isLocked": true
-    },
-    {
-        "name": "BOB/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/QAR",
-        "isLocked": true
-    },
-    {
-        "name": "LFX/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "NPR/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "FJD/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "GEL/USD",
-        "isLocked": true
-    },
-    {
-        "name": "KES/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/MYR",
-        "isLocked": true
-    },
-    {
-        "name": "HKD/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "USD/ARE",
-        "isLocked": true
-    },
-    {
-        "name": "USD/DOE",
-        "isLocked": true
-    },
-    {
-        "name": "LBP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "GYD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SEK/KRW",
-        "isLocked": true
-    },
-    {
-        "name": "LKR/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GNF/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "DOP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "BDT/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "DKK/RUB",
-        "isLocked": true
-    },
-    {
-        "name": "SAR/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "LFX/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "TJS/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "PAB/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "MAD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/XCD",
-        "isLocked": true
-    },
-    {
-        "name": "USD/NSO",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/TTD",
-        "isLocked": true
-    },
-    {
-        "name": "LRD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "INR/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/AUN",
-        "isLocked": true
-    },
-    {
-        "name": "RON/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "INR/DKK",
-        "isLocked": true
-    },
-    {
-        "name": "SLL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "SVC/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CUP/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "KZT/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/XPDK",
-        "isLocked": true
-    },
-    {
-        "name": "JOD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BTN/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "MMK/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/BRI",
-        "isLocked": true
-    },
-    {
-        "name": "KWD/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "NIO/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "STN/USD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/THB",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "USD/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "TTD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/XAGK",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "AED/QAR",
-        "isLocked": true
-    },
-    {
-        "name": "BGN/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "UYU/ZAR",
-        "isLocked": true
-    },
-    {
-        "name": "LFX/CHF",
-        "isLocked": true
-    },
-    {
-        "name": "INR/NOK",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "TWD/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "GTQ/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/OSO",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "CNH/NZD",
-        "isLocked": true
-    },
-    {
-        "name": "BIF/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "XCD/USD",
-        "isLocked": true
-    },
-    {
-        "name": "HNL/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "ZMW/GBP",
-        "isLocked": true
-    },
-    {
-        "name": "AED/ILS",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "CNY/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "BZD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "KRW/XAG",
-        "isLocked": true
-    },
-    {
-        "name": "NGN/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "HUF/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "IDR/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/VES",
-        "isLocked": true
-    },
-    {
-        "name": "XOF/USD",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/BBD",
-        "isLocked": true
-    },
-    {
-        "name": "SRD/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ZWD",
-        "isLocked": true
-    },
-    {
-        "name": "PHP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/BDT",
-        "isLocked": true
-    },
-    {
-        "name": "VES/BRL",
-        "isLocked": true
-    },
-    {
-        "name": "MYR/IDR",
-        "isLocked": true
-    },
-    {
-        "name": "IDR/SGD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/TWD",
-        "isLocked": true
-    },
-    {
-        "name": "LFX/CAD",
-        "isLocked": true
-    },
-    {
-        "name": "PKR/AUD",
-        "isLocked": true
-    },
-    {
-        "name": "LBP/EUR",
-        "isLocked": true
-    },
-    {
-        "name": "BTC/DSH",
-        "isLocked": true
-    },
-    {
-        "name": "DASH/USD",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/TRY",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/BTC",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "SGD/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "ZAR/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "PLN/ETH",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/LTC",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "JPY/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "CAD/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/XRP",
-        "isLocked": true
-    },
-    {
-        "name": "EUR/DASH",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/DASH",
-        "isLocked": true
-    },
-    {
-        "name": "BCH/DASH",
-        "isLocked": true
-    },
-    {
-        "name": "GBP/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "RUB/BCH",
-        "isLocked": true
-    },
-    {
-        "name": "CHF/XAU",
-        "isLocked": true
-    },
-    {
-        "name": "TRY/CNH",
-        "isLocked": true
-    },
-    {
-        "name": "AUD/BTC",
-        "isLocked": true
-    }
-]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Resources/CurrencyPairsSupported.json	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,2160 @@
+[
+    "UKO/USD",
+    "EUR/USD",
+    "HUF/CHF",
+    "TWD/SEK",
+    "GNF/USD",
+    "DKK/EUR",
+    "GBP/SGD",
+    "NPR/USD",
+    "USD/GTQ",
+    "PEN/COP",
+    "AUD/PHP",
+    "CHF/ISK",
+    "USD/CLF",
+    "GBP/SOS",
+    "ARS/CHF",
+    "GTQ/GBP",
+    "CNH/USD",
+    "EUR/HKD",
+    "CZK/MXN",
+    "ILS/NOK",
+    "TWD/DKK",
+    "EUR/AOA",
+    "AUD/SEK",
+    "DKK/USD",
+    "SBD/USD",
+    "ISK/EUR",
+    "ZAR/PGK",
+    "EUR/KHR",
+    "TWD/MYR",
+    "EUR/HTG",
+    "VES/GBP",
+    "COP/DKK",
+    "ZAR/CDF",
+    "GBP/BWP",
+    "VND/JPY",
+    "GBP/EUR",
+    "BWP/GBP",
+    "EUR/CLP",
+    "NZD/ZAR",
+    "ANG/USD",
+    "USD/TRY",
+    "EUR/SAR",
+    "SEK/NZD",
+    "AUD/DKK",
+    "EUR/IQD",
+    "ISK/USD",
+    "CAD/BMD",
+    "CLP/ZAR",
+    "ZAR/FJD",
+    "TRY/CAD",
+    "AUD/MYR",
+    "USD/HNL",
+    "JPY/TRY",
+    "GBP/RUB",
+    "ZAR/CAD",
+    "GBP/BTN",
+    "INR/PKR",
+    "XAU/CAD",
+    "GBP/USD",
+    "DKK/COP",
+    "MYR/CNY",
+    "CAD/HRK",
+    "GBP/MMK",
+    "NZD/NOK",
+    "KRW/SGD",
+    "EUR/PAB",
+    "CZK/SEK",
+    "EUR/YER",
+    "CHF/ILS",
+    "SEK/AUD",
+    "USD/BZD",
+    "MYR/KRW",
+    "EUR/NAD",
+    "GBP/KWD",
+    "PHP/JPY",
+    "HKD/TRY",
+    "EUR/ARS",
+    "ARE/CHF",
+    "USD/NGN",
+    "USD/SDG",
+    "DOE/CHF",
+    "CNY/SRD",
+    "CAD/CHF",
+    "SGD/EUR",
+    "TWD/HKD",
+    "CZK/DKK",
+    "THB/TWD",
+    "GBP/COP",
+    "EUR/AFN",
+    "INR/SEK",
+    "ZAR/LAK",
+    "KRW/EUR",
+    "PEN/GBP",
+    "EUR/LSL",
+    "ETB/GBP",
+    "EUR/CNH",
+    "ZMW/ZAR",
+    "UAH/EUR",
+    "THB/JPY",
+    "COP/CLP",
+    "CAD/VND",
+    "SGD/USD",
+    "TOP/USD",
+    "AUD/HKD",
+    "USD/MXN",
+    "RUB/EUR",
+    "GHS/GBP",
+    "QAR/USD",
+    "USD/KYD",
+    "KRW/RUB",
+    "GNF/GBP",
+    "KRW/USD",
+    "USD/PKR",
+    "NOK/SGD",
+    "XAG/CAD",
+    "PHP/ZAR",
+    "EUR/BBD",
+    "INR/MYR",
+    "JPY/MXN",
+    "EUR/CUP",
+    "AUD/CLP",
+    "TRY/NZD",
+    "NPR/GBP",
+    "EUR/GHS",
+    "CHF/TRY",
+    "KRU/USD",
+    "CNY/DKK",
+    "ZAR/NZD",
+    "UAH/USD",
+    "JPY/PKR",
+    "TZS/USD",
+    "USD/SRD",
+    "CNY/MYR",
+    "DKK/CZK",
+    "AED/CAD",
+    "RUB/USD",
+    "GBP/QAR",
+    "IDR/INR",
+    "MXN/TRY",
+    "DKK/GBP",
+    "USD/PHP",
+    "HKD/MXN",
+    "TRY/AUD",
+    "DKK/CNY",
+    "GBP/BSD",
+    "ZAR/AUD",
+    "COP/ARS",
+    "XAU/AUD",
+    "EUR/INR",
+    "OMR/PKR",
+    "NOK/EUR",
+    "CNH/KRW",
+    "HKD/PKR",
+    "CZK/HKD",
+    "THB/ZAR",
+    "USD/SEK",
+    "ANG/GBP",
+    "SLL/USD",
+    "GBP/VES",
+    "SEK/CHF",
+    "AUD/ARS",
+    "JPY/SEK",
+    "MGA/USD",
+    "CAD/THB",
+    "GBP/CZK",
+    "GBP/UYU",
+    "ISK/GBP",
+    "USD/PEN",
+    "MAL/USD",
+    "ZAR/LKR",
+    "NOK/RUB",
+    "NOK/USD",
+    "ILS/EUR",
+    "USD/DKK",
+    "GBP/CNY",
+    "INR/HKD",
+    "PLN/CAD",
+    "GYD/SRD",
+    "GBP/RON",
+    "EUR/TND",
+    "DKK/PLN",
+    "EUR/AED",
+    "USD/MYR",
+    "KES/CHF",
+    "NZD/SGD",
+    "HKD/SEK",
+    "BDT/USD",
+    "BMD/CAD",
+    "AMD/USD",
+    "NSO/CHF",
+    "JPY/DKK",
+    "GBP/KRW",
+    "USD/KES",
+    "AUD/CNH",
+    "CNY/HKD",
+    "JPY/MYR",
+    "GBP/PYG",
+    "CHF/MXN",
+    "HRK/CAD",
+    "ILS/USD",
+    "CHF/PKR",
+    "MAD/USD",
+    "CNY/CLP",
+    "EUR/ALL",
+    "AED/NZD",
+    "EUR/BAM",
+    "CAD/ISK",
+    "USD/LBP",
+    "HKD/DKK",
+    "XAG/AUD",
+    "GBP/PLN",
+    "HKD/MYR",
+    "TWD/INR",
+    "NZD/EUR",
+    "SGD/CZK",
+    "JOD/ILS",
+    "SAR/PKR",
+    "DOP/USD",
+    "AED/AUD",
+    "SGD/GBP",
+    "TOP/GBP",
+    "SGD/CNY",
+    "DKK/HUF",
+    "QAR/GBP",
+    "CLP/EUR",
+    "NGN/JPY",
+    "EUR/BRL",
+    "BRL/CAD",
+    "TRY/CHF",
+    "KRW/CNY",
+    "ZAR/EGP",
+    "CHF/SEK",
+    "EUR/BGN",
+    "AUD/INR",
+    "NZD/USD",
+    "USD/HKD",
+    "SGD/KRW",
+    "ZAR/CHF",
+    "USD/AOA",
+    "EUR/MTL",
+    "USD/KHR",
+    "DKK/UAH",
+    "TTD/USD",
+    "USD/HTG",
+    "TZS/GBP",
+    "ZAR/MAD",
+    "PLN/NZD",
+    "MXN/SEK",
+    "JPY/HKD",
+    "M5P/USD",
+    "RUB/GBP",
+    "USD/CLP",
+    "CLP/USD",
+    "VND/EUR",
+    "CHF/DKK",
+    "CAD/ILS",
+    "CRC/USD",
+    "ZAR/SZL",
+    "GBP/HUF",
+    "USD/SAR",
+    "JPY/CLP",
+    "MXN/PEN",
+    "ZAR/VND",
+    "RUB/KRW",
+    "CHF/MYR",
+    "SGD/PLN",
+    "GBP/BND",
+    "USD/IQD",
+    "EUR/TWD",
+    "VRN/CHF",
+    "PLN/AUD",
+    "AUD/AED",
+    "GBP/MGA",
+    "MXN/DKK",
+    "JPY/SAR",
+    "MUR/ZAR",
+    "NGN/ZAR",
+    "SLL/GBP",
+    "GBP/UAH",
+    "EUR/RWF",
+    "VRL/CHF",
+    "EGP/PKR",
+    "USD/PAB",
+    "NOK/CZK",
+    "MGA/GBP",
+    "USD/YER",
+    "VND/USD",
+    "GBP/MOP",
+    "SEK/ISK",
+    "GBP/ETB",
+    "EUR/JPY",
+    "CLP/COP",
+    "EUR/OMR",
+    "HRK/AUD",
+    "USD/NAD",
+    "RUB/PLN",
+    "NOK/GBP",
+    "USD/ARS",
+    "DJF/GBP",
+    "THB/SGD",
+    "EUR/MWK",
+    "BDT/GBP",
+    "HUF/MXN",
+    "JPY/ARS",
+    "EUR/BIF",
+    "COP/BRL",
+    "BRL/NZD",
+    "ZMW/USD",
+    "USD/AFN",
+    "CZK/AED",
+    "GBP/GEL",
+    "ZAR/JOD",
+    "SGD/HUF",
+    "USD/LSL",
+    "EUR/ZMW",
+    "EUR/JMD",
+    "USD/CNH",
+    "AED/CHF",
+    "CNY/INR",
+    "MAD/GBP",
+    "CAD/TRY",
+    "AUD/BRL",
+    "ARS/MXN",
+    "ZAR/THB",
+    "GBP/DZD",
+    "XAU/THB",
+    "CHF/HKD",
+    "PHP/USD",
+    "BZD/USD",
+    "HKD/ARS",
+    "ZAR/BHD",
+    "ZAR/XOF",
+    "MYR/CAD",
+    "AUD/BGN",
+    "BRL/AUD",
+    "AFN/USD",
+    "NOK/PLN",
+    "BIF/USD",
+    "EUR/ZAR",
+    "THB/EUR",
+    "CHF/CLP",
+    "MXN/HKD",
+    "LFX/JPY",
+    "SEK/ILS",
+    "USD/BBD",
+    "DOP/GBP",
+    "USD/CUP",
+    "USD/GHS",
+    "HUF/SEK",
+    "NZD/CZK",
+    "MXN/CLP",
+    "EUR/NPR",
+    "XCD/GBP",
+    "TWD/JPY",
+    "NZD/GBP",
+    "ILS/PLN",
+    "THB/USD",
+    "NZD/CNY",
+    "AUD/TWD",
+    "EUR/NOK",
+    "SZL/CHF",
+    "TMT/USD",
+    "PLN/CHF",
+    "TTD/GBP",
+    "PEN/CAD",
+    "USD/INR",
+    "NZD/KRW",
+    "HUF/DKK",
+    "EUR/LYD",
+    "MKD/USD",
+    "RSD/EUR",
+    "CLP/GBP",
+    "CLP/CNY",
+    "AUD/JPY",
+    "CHF/ARS",
+    "MZN/ZAR",
+    "ARS/PEN",
+    "CRC/GBP",
+    "JPY/INR",
+    "NOK/HUF",
+    "FRN/CHF",
+    "EUR/UGX",
+    "GBP/XPF",
+    "LYD/USD",
+    "EUR/IDR",
+    "CAD/MXN",
+    "MXN/ARS",
+    "CAD/KYD",
+    "NZD/PLN",
+    "CAD/PKR",
+    "TWD/ZAR",
+    "SEK/TRY",
+    "MYR/NZD",
+    "GBP/MKD",
+    "USD/TND",
+    "USD/AED",
+    "HKD/INR",
+    "VND/GBP",
+    "CHF/CNH",
+    "EUR/TZS",
+    "AED/BHD",
+    "COP/ZAR",
+    "NBL/USD",
+    "CNY/BGN",
+    "USD/ANG",
+    "ZAR/MUR",
+    "KWD/PKR",
+    "JPY/AED",
+    "DKK/CAD",
+    "GBP/PGK",
+    "CZK/JPY",
+    "EUR/BYN",
+    "ZAR/ILS",
+    "MYR/AUD",
+    "PKR/JPY",
+    "GBP/CDF",
+    "BRL/CHF",
+    "AUD/ZAR",
+    "USD/ALL",
+    "USD/BAM",
+    "BND/USD",
+    "INR/TWD",
+    "GBP/SCR",
+    "OMR/AED",
+    "CAD/SEK",
+    "HKD/AED",
+    "HUF/HKD",
+    "ISK/CAD",
+    "CNY/TWD",
+    "GBP/FJD",
+    "PHP/GBP",
+    "NZD/HUF",
+    "INR/JPY",
+    "GBP/CAD",
+    "CAD/PEN",
+    "AFN/GBP",
+    "GBP/DJF",
+    "USD/KMF",
+    "AUD/NOK",
+    "USD/BRL",
+    "ARS/HKD",
+    "CHF/INR",
+    "GBP/MDL",
+    "CAD/DKK",
+    "CNY/JPY",
+    "MUR/EUR",
+    "USD/BGN",
+    "CAD/MYR",
+    "CZK/ZAR",
+    "JPY/BRL",
+    "ARS/CLP",
+    "PKR/ZAR",
+    "SEK/MXN",
+    "GBP/MVR",
+    "GBP/CRC",
+    "THB/CNY",
+    "ZAR/TRY",
+    "AUD/IDR",
+    "XAU/TRY",
+    "AWG/SRD",
+    "MUR/USD",
+    "GBP/LAK",
+    "PGK/USD",
+    "EUR/SGD",
+    "NGN/USD",
+    "HKD/BRL",
+    "DKK/NZD",
+    "CHF/AED",
+    "THB/KRW",
+    "BWP/CHF",
+    "USD/TWD",
+    "CZK/NOK",
+    "MKD/GBP",
+    "INR/ZAR",
+    "TOP/FJD",
+    "LKR/ZAR",
+    "EUR/SOS",
+    "SGD/CAD",
+    "USD/AWG",
+    "USD/RWF",
+    "MXN/AED",
+    "MDL/EUR",
+    "GBP/BOB",
+    "JPY/TWD",
+    "CNY/ZAR",
+    "BBD/EUR",
+    "DKK/AUD",
+    "KRW/CAD",
+    "USD/JPY",
+    "LYD/GBP",
+    "USD/OMR",
+    "BSD/USD",
+    "MYR/CHF",
+    "EUR/BWP",
+    "ZAR/NGN",
+    "GBP/NZD",
+    "GBP/LFX",
+    "CAD/HKD",
+    "USD/MWK",
+    "HKD/TWD",
+    "RUB/CAD",
+    "MDL/USD",
+    "USD/BIF",
+    "BBD/USD",
+    "CAD/CLP",
+    "SEK/DKK",
+    "USD/ZMW",
+    "USD/JMD",
+    "CHF/BRL",
+    "XPTK/CHF",
+    "EUR/RUB",
+    "EUR/BTN",
+    "GBP/AUD",
+    "HKD/JPY",
+    "XAG/TRY",
+    "PLN/ILS",
+    "EUR/MMK",
+    "TRY/MXN",
+    "CAD/SAR",
+    "BND/GBP",
+    "ZAR/MXN",
+    "TWD/SGD",
+    "XAU/MXN",
+    "MXN/BRL",
+    "USD/ZAR",
+    "EUR/KWD",
+    "ZAR/PKR",
+    "AED/TRY",
+    "GBP/GYD",
+    "GBP/LKR",
+    "NOK/CAD",
+    "JPY/ZAR",
+    "GBP/GNF",
+    "UGX/ZAR",
+    "GBP/DOP",
+    "BGN/USD",
+    "SGD/NZD",
+    "TOP/NZD",
+    "USD/NPR",
+    "EUR/COP",
+    "PAB/USD",
+    "AUD/SGD",
+    "GBP/TOP",
+    "CAD/ARS",
+    "CHF/TWD",
+    "LRD/USD",
+    "CYP/ZAR",
+    "KRW/NZD",
+    "USD/IRR",
+    "ZAR/PHP",
+    "USD/NOK",
+    "TWD/EUR",
+    "GBP/BDT",
+    "OMR/ZAR",
+    "HKD/ZAR",
+    "MZN/USD",
+    "AUN/USD",
+    "TRY/SEK",
+    "ILS/CAD",
+    "ZAR/SEK",
+    "SGD/AUD",
+    "TOP/AUD",
+    "JPY/NOK",
+    "SCR/USD",
+    "CHF/JPY",
+    "USD/LYD",
+    "MYR/THB",
+    "HUF/AED",
+    "SEK/HKD",
+    "GBP/BMD",
+    "DKK/CHF",
+    "KRW/AUD",
+    "CAD/CNH",
+    "BRL/ILS",
+    "MUR/GBP",
+    "PGK/GBP",
+    "BHD/PKR",
+    "EUR/AMD",
+    "NGN/GBP",
+    "PLN/TRY",
+    "TWD/USD",
+    "AUD/EUR",
+    "MXN/JPY",
+    "USD/UGX",
+    "GBP/HRK",
+    "USD/IDR",
+    "UYU/EUR",
+    "TRY/DKK",
+    "XAG/MXN",
+    "SAR/JPY",
+    "HKD/NOK",
+    "COP/USD",
+    "CZK/SGD",
+    "ZAR/DKK",
+    "RUB/AUD",
+    "EUR/QAR",
+    "ZAR/MYR",
+    "ISK/CHF",
+    "USD/TZS",
+    "BAM/USD",
+    "BRI/USD",
+    "AED/MXN",
+    "ZAR/KES",
+    "GBP/EGP",
+    "AUD/RUB",
+    "NZD/CAD",
+    "AUD/USD",
+    "BSD/GBP",
+    "EUR/BSD",
+    "USD/GMD",
+    "GBP/CHF",
+    "AED/PKR",
+    "UYU/USD",
+    "EUR/RSD",
+    "NOK/NZD",
+    "CHF/ZAR",
+    "USD/BYN",
+    "GBP/MAD",
+    "JOD/AED",
+    "INR/SGD",
+    "MDL/GBP",
+    "CZK/EUR",
+    "CLP/CAD",
+    "BBD/GBP",
+    "ZAR/LBP",
+    "EUR/CZK",
+    "EUR/UYU",
+    "CAD/INR",
+    "PKR/EUR",
+    "MXN/ZAR",
+    "GBP/SZL",
+    "GBP/XCD",
+    "CNY/SGD",
+    "GBP/VND",
+    "NOK/AUD",
+    "EUR/GBP",
+    "IDR/KRW",
+    "EUR/CNY",
+    "EUR/MRU",
+    "EUR/RON",
+    "ARS/BRL",
+    "CHF/NOK",
+    "XPT/EUR",
+    "AED/SEK",
+    "CZK/USD",
+    "EGP/JPY",
+    "EUR/KRW",
+    "PLN/MXN",
+    "GBP/LRD",
+    "PKR/USD",
+    "TRY/HKD",
+    "VND/CAD",
+    "INR/EUR",
+    "CNH/THB",
+    "EUR/PYG",
+    "SEK/CNH",
+    "ZAR/HKD",
+    "XAU/HKD",
+    "MXN/NOK",
+    "DKK/THB",
+    "CAD/AED",
+    "ILS/AUD",
+    "BMD/KYD",
+    "ZAR/KHR",
+    "GBP/SLL",
+    "SGD/CHF",
+    "MAD/AUD",
+    "CNY/EUR",
+    "SHP/USD",
+    "GBP/SVC",
+    "BGN/CNY",
+    "GBP/KZT",
+    "ZAR/CLP",
+    "RON/ZAR",
+    "AED/DKK",
+    "KRW/CHF",
+    "XPT/USD",
+    "KWD/AED",
+    "LRD/GBP",
+    "EUR/PLN",
+    "INR/USD",
+    "KRU/CHF",
+    "ZAR/SAR",
+    "LKR/USD",
+    "HUF/JPY",
+    "XAU/SAR",
+    "NZD/LFX",
+    "USD/SGD",
+    "GBP/JOD",
+    "RUB/CHF",
+    "CNY/USD",
+    "SCR/GBP",
+    "GBP/THB",
+    "PLN/SEK",
+    "JPY/SGD",
+    "EGP/ZAR",
+    "USD/SOS",
+    "GBP/BHD",
+    "ARS/JPY",
+    "NZD/AUD",
+    "DKK/ISK",
+    "TWD/CNY",
+    "SEK/INR",
+    "ZAR/NAD",
+    "BRL/MXN",
+    "GBP/NIO",
+    "ZAR/ARS",
+    "CAD/BRL",
+    "XAU/ARS",
+    "USD/BWP",
+    "KHR/USD",
+    "USD/EUR",
+    "HKD/SGD",
+    "TWD/KRW",
+    "PLN/DKK",
+    "CLP/AUD",
+    "AUD/CZK",
+    "XPD/EUR",
+    "CAD/BGN",
+    "XAG/HKD",
+    "BAM/GBP",
+    "MAL/CHF",
+    "EUR/HUF",
+    "JPY/EUR",
+    "HUF/ZAR",
+    "AUD/GBP",
+    "THB/CAD",
+    "AUD/CNY",
+    "NOK/CHF",
+    "EUR/BND",
+    "BRL/SRD",
+    "LTL/AUD",
+    "UYU/GBP",
+    "AUD/RON",
+    "OSO/USD",
+    "EUR/MGA",
+    "ZAR/LSL",
+    "XPF/USD",
+    "KYD/EUR",
+    "AED/HKD",
+    "NZD/TOP",
+    "GBP/ISK",
+    "ZAR/CNH",
+    "USD/RUB",
+    "USD/BTN",
+    "SEK/AED",
+    "AUD/KRW",
+    "EUR/MZN",
+    "EUR/UAH",
+    "USD/MMK",
+    "XPD/USD",
+    "XAG/SAR",
+    "ARS/ZAR",
+    "SGD/THB",
+    "EUR/MOP",
+    "HKD/EUR",
+    "EUR/ETB",
+    "JPY/RUB",
+    "JPY/USD",
+    "CAD/TWD",
+    "BRL/SEK",
+    "UGX/USD",
+    "KRW/THB",
+    "USD/KWD",
+    "ILS/CHF",
+    "TJS/USD",
+    "GBP/TTD",
+    "AED/SAR",
+    "KYD/USD",
+    "ZAR/GHS",
+    "BRL/PEN",
+    "PHP/NZD",
+    "AUD/PLN",
+    "CZK/GBP",
+    "CHF/SGD",
+    "CAD/JPY",
+    "OMR/USD",
+    "PKR/GBP",
+    "HKD/USD",
+    "USD/COP",
+    "XAG/ARS",
+    "EUR/GEL",
+    "MWK/ZAR",
+    "GBP/MUR",
+    "PLN/HKD",
+    "MXN/SGD",
+    "EUR/DZD",
+    "PHP/AUD",
+    "ZAR/INR",
+    "USD/TMT",
+    "XAU/INR",
+    "GYD/USD",
+    "GBP/ILS",
+    "XPT/GBP",
+    "NZD/CHF",
+    "INR/GBP",
+    "INR/CNY",
+    "CHF/BWP",
+    "THB/NZD",
+    "LKR/GBP",
+    "CHF/EUR",
+    "USD/CVE",
+    "USD/AMD",
+    "USD/SBD",
+    "M5P/CHF",
+    "CZK/PLN",
+    "CNY/GBP",
+    "MYR/PKR",
+    "INR/KRW",
+    "CLP/CHF",
+    "CAD/ZAR",
+    "MXN/EUR",
+    "AUD/HUF",
+    "MMK/USD",
+    "USD/QAR",
+    "DKK/TRY",
+    "GBP/GTQ",
+    "ZAR/TND",
+    "ZAR/AED",
+    "THB/AUD",
+    "SAR/EUR",
+    "CNY/KRW",
+    "CHF/RUB",
+    "CHF/USD",
+    "ILS/JOD",
+    "USD/BSD",
+    "KHR/GBP",
+    "USD/RSD",
+    "MXN/RUB",
+    "TND/ZAR",
+    "MXN/USD",
+    "PEN/MXN",
+    "BRL/HKD",
+    "CAD/NOK",
+    "USD/VES",
+    "SAR/USD",
+    "SEK/JPY",
+    "USD/CZK",
+    "USD/UYU",
+    "XAG/INR",
+    "GBP/TRY",
+    "BRL/CLP",
+    "XPF/GBP",
+    "KMF/USD",
+    "NOK/ISK",
+    "CZK/HUF",
+    "USD/GBP",
+    "USD/CNY",
+    "JPY/CZK",
+    "SAR/KWD",
+    "XPD/GBP",
+    "USD/MRU",
+    "GBP/HNL",
+    "EUR/MKD",
+    "EUR/UZS",
+    "USD/RON",
+    "AED/INR",
+    "TRY/BRL",
+    "MYR/DKK",
+    "JPY/GBP",
+    "USD/KRW",
+    "ZAR/BRL",
+    "JPY/CNY",
+    "XAUK/CHF",
+    "UGX/GBP",
+    "MXN/COP",
+    "XAU/BRL",
+    "JPY/RON",
+    "USD/PYG",
+    "NZD/THB",
+    "GBP/BZD",
+    "HUF/SGD",
+    "KYD/GBP",
+    "EGP/EUR",
+    "RON/USD",
+    "EUR/PGK",
+    "HKD/CZK",
+    "JPY/KRW",
+    "EUR/CDF",
+    "DKK/MXN",
+    "PYG/ZAR",
+    "GBP/NGN",
+    "BMD/BBD",
+    "OMR/GBP",
+    "HKD/GBP",
+    "SEK/ZAR",
+    "HKD/CNY",
+    "BRL/ARS",
+    "DKK/PKR",
+    "EUR/SCR",
+    "ARS/SGD",
+    "USD/PLN",
+    "EGP/USD",
+    "SGD/TRY",
+    "HKD/KRW",
+    "EUR/FJD",
+    "GYD/GBP",
+    "NOK/ILS",
+    "JPY/PLN",
+    "ZAR/TWD",
+    "EUR/CAD",
+    "HUF/EUR",
+    "KES/ZAR",
+    "CNH/PHP",
+    "EUR/DJF",
+    "THB/CHF",
+    "EUR/MDL",
+    "ZAR/RWF",
+    "SEK/NOK",
+    "DKK/PHP",
+    "GBP/MXN",
+    "TRY/JPY",
+    "ANG/SRD",
+    "FJD/USD",
+    "GBP/KYD",
+    "ZAR/JPY",
+    "GBP/PKR",
+    "XAU/JPY",
+    "ZAR/OMR",
+    "ARS/EUR",
+    "DKK/SEK",
+    "HKD/PLN",
+    "MYR/HKD",
+    "CHF/CZK",
+    "XAG/BRL",
+    "EUR/MVR",
+    "HUF/USD",
+    "MMK/GBP",
+    "EUR/CRC",
+    "ISK/XDR",
+    "BGN/CAD",
+    "ZAR/MWK",
+    "GBP/SRD",
+    "CHF/GBP",
+    "PLN/AED",
+    "CHF/CNY",
+    "PGK/AUD",
+    "EUR/LAK",
+    "USD/HUF",
+    "MXN/CZK",
+    "CHF/RON",
+    "USD/BND",
+    "GBP/PHP",
+    "ARS/USD",
+    "NIO/USD",
+    "ISK/SEK",
+    "USD/MGA",
+    "ZAR/ZMW",
+    "CHF/KRW",
+    "MXN/GBP",
+    "JPY/HUF",
+    "DKK/MYR",
+    "USD/MZN",
+    "GBP/SEK",
+    "USD/UAH",
+    "NBL/CHF",
+    "CAD/SGD",
+    "EUR/BOB",
+    "TRY/ZAR",
+    "USD/MOP",
+    "NOK/TRY",
+    "AUD/PGK",
+    "USD/ETB",
+    "ZAR/CYP",
+    "KMF/GBP",
+    "SGD/MXN",
+    "XAU/ZAR",
+    "TWD/CAD",
+    "GBP/PEN",
+    "ISK/DKK",
+    "HKD/HUF",
+    "JOD/USD",
+    "SGD/PKR",
+    "PEN/CLP",
+    "EUR/NZD",
+    "CHF/PLN",
+    "QAR/PKR",
+    "EUR/LFX",
+    "COP/CAD",
+    "GBP/DKK",
+    "ARS/COP",
+    "MWK/USD",
+    "XAG/JPY",
+    "ZAR/NPR",
+    "GBP/MYR",
+    "AUD/FJD",
+    "TRY/NOK",
+    "MXN/PLN",
+    "USD/GEL",
+    "CAD/EUR",
+    "RON/GBP",
+    "RUB/MXN",
+    "GBP/KES",
+    "ZAR/NOK",
+    "AUD/CAD",
+    "EUR/AUD",
+    "AED/JPY",
+    "USD/DZD",
+    "KWD/EUR",
+    "ALL/EUR",
+    "MYR/CNH",
+    "CNH/HKD",
+    "ARE/USD",
+    "SGD/SEK",
+    "DKK/HKD",
+    "DOE/USD",
+    "GBP/LBP",
+    "CAD/RUB",
+    "CAD/USD",
+    "EUR/GYD",
+    "PEN/ARS",
+    "KRW/SEK",
+    "YER/USD",
+    "EUR/LKR",
+    "ZAR/UGX",
+    "EUR/GNF",
+    "CHF/HUF",
+    "BGN/AUD",
+    "KWD/USD",
+    "EUR/DOP",
+    "DZD/EUR",
+    "NZD/TRY",
+    "XAG/ZAR",
+    "ALL/USD",
+    "CAD/KWD",
+    "NOK/MXN",
+    "SGD/DKK",
+    "RUB/SEK",
+    "CZK/CAD",
+    "FJD/GBP",
+    "SEK/SGD",
+    "ZAR/TZS",
+    "HUF/CZK",
+    "SGD/MYR",
+    "TND/USD",
+    "MXN/HUF",
+    "BOB/USD",
+    "TWD/NZD",
+    "EUR/BDT",
+    "GBP/HKD",
+    "AED/ZAR",
+    "PLN/JPY",
+    "KRW/MYR",
+    "HUF/GBP",
+    "CAD/COP",
+    "GBP/KHR",
+    "DZD/USD",
+    "UAH/DKK",
+    "GBP/HTG",
+    "MYR/INR",
+    "EUR/BMD",
+    "GBP/CLP",
+    "RUB/DKK",
+    "HTG/USD",
+    "TWD/AUD",
+    "INR/CAD",
+    "ARS/GBP",
+    "AUD/NZD",
+    "USD/XPF",
+    "NIO/GBP",
+    "EUR/HRK",
+    "SEK/EUR",
+    "GBP/SAR",
+    "AUD/LFX",
+    "EUR/TJS",
+    "AED/NOK",
+    "GBP/IQD",
+    "BTN/USD",
+    "NOK/SEK",
+    "CNY/CAD",
+    "USD/MKD",
+    "USD/UZS",
+    "AWG/USD",
+    "SZL/ZAR",
+    "GBP/PAB",
+    "EUR/EGP",
+    "HUF/PLN",
+    "MVR/USD",
+    "GBP/YER",
+    "PYG/USD",
+    "PLN/ZAR",
+    "KES/EUR",
+    "HNL/USD",
+    "EUR/CHF",
+    "SEK/RUB",
+    "SEK/USD",
+    "IQD/USD",
+    "USD/PGK",
+    "SGD/HKD",
+    "NZD/MXN",
+    "NOK/DKK",
+    "GBP/ARS",
+    "EUR/MAD",
+    "USD/CDF",
+    "MWK/GBP",
+    "ILS/SEK",
+    "BRL/JPY",
+    "NZD/PKR",
+    "KRW/HKD",
+    "CZK/NZD",
+    "USD/SCR",
+    "SVC/USD",
+    "EUR/SZL",
+    "TRY/SGD",
+    "CLP/MXN",
+    "KES/USD",
+    "EUR/VND",
+    "GBP/AFN",
+    "XCD/SRD",
+    "ZAR/SGD",
+    "PLN/NOK",
+    "NSO/USD",
+    "USD/FJD",
+    "GBP/LSL",
+    "AUD/TOP",
+    "GBP/CNH",
+    "CAD/CZK",
+    "USD/CAD",
+    "TTD/SRD",
+    "CZK/AUD",
+    "NZD/PHP",
+    "EUR/LRD",
+    "USD/MDL",
+    "CAD/GBP",
+    "INR/NZD",
+    "CAD/CNY",
+    "CNH/INR",
+    "JPY/CAD",
+    "YER/GBP",
+    "AUN/CHF",
+    "CAD/RON",
+    "NZD/SEK",
+    "DKK/INR",
+    "EUR/SLL",
+    "GBP/BBD",
+    "TRY/EUR",
+    "KYD/CAD",
+    "RWF/ZAR",
+    "LBP/USD",
+    "KWD/GBP",
+    "EUR/SVC",
+    "CAD/KRW",
+    "GBP/CUP",
+    "LSL/USD",
+    "CNY/NZD",
+    "ALL/GBP",
+    "BRL/ZAR",
+    "ZAR/BWP",
+    "EUR/KZT",
+    "USD/MVR",
+    "ZAR/EUR",
+    "GBP/GHS",
+    "XAU/EUR",
+    "USD/CRC",
+    "SGD/ARS",
+    "INR/AUD",
+    "TWD/CHF",
+    "AUD/HRK",
+    "HKD/CAD",
+    "TND/GBP",
+    "BYN/USD",
+    "BOB/GBP",
+    "XPDK/CHF",
+    "USD/LAK",
+    "NOK/HKD",
+    "EUR/JOD",
+    "NZD/DKK",
+    "CNY/AUD",
+    "TRY/USD",
+    "NZD/MYR",
+    "CLP/PEN",
+    "ZAR/RUB",
+    "ZAR/BTN",
+    "EUR/THB",
+    "CAD/PLN",
+    "XAU/RUB",
+    "DKK/AED",
+    "ZAR/USD",
+    "GBP/INR",
+    "XAU/USD",
+    "PEN/BRL",
+    "ZAR/MMK",
+    "SGD/CNH",
+    "EUR/BHD",
+    "MYR/TWD",
+    "BRI/CHF",
+    "HTG/GBP",
+    "USD/BOB",
+    "AUD/CHF",
+    "ZAR/KWD",
+    "AUD/MAD",
+    "EUR/NIO",
+    "BTN/GBP",
+    "MYR/JPY",
+    "BHD/EUR",
+    "AED/SGD",
+    "USD/NZD",
+    "SEK/CZK",
+    "AWG/GBP",
+    "GBP/TND",
+    "GBP/AED",
+    "ZAR/COP",
+    "JPY/NZD",
+    "HNL/GBP",
+    "CHF/CAD",
+    "SEK/GBP",
+    "IQD/GBP",
+    "XAG/EUR",
+    "GBP/ANG",
+    "EUR/ISK",
+    "BWP/ZAR",
+    "USD/AUD",
+    "USD/STN",
+    "BHD/USD",
+    "CZK/CHF",
+    "CAD/HUF",
+    "JMD/EUR",
+    "MXN/CAD",
+    "THB/PKR",
+    "SGD/INR",
+    "AED/EUR",
+    "NZD/HKD",
+    "SOS/USD",
+    "JPY/AUD",
+    "HKD/NZD",
+    "GBP/ALL",
+    "SVC/GBP",
+    "DKK/BGN",
+    "GBP/BAM",
+    "KRW/INR",
+    "XAG/RUB",
+    "XAG/USD",
+    "USD/GYD",
+    "EUR/TTD",
+    "TWD/THB",
+    "MYR/ZAR",
+    "PLN/SGD",
+    "XAGK/CHF",
+    "USD/LKR",
+    "NOK/CNH",
+    "USD/GNF",
+    "JMD/USD",
+    "USD/DOP",
+    "UZS/USD",
+    "PHP/DKK",
+    "INR/CHF",
+    "HKD/AUD",
+    "SEK/PLN",
+    "ZAR/QAR",
+    "AED/USD",
+    "USD/TOP",
+    "GBP/KMF",
+    "GBP/BRL",
+    "CNH/TWD",
+    "SGD/AED",
+    "EUR/MUR",
+    "CNY/CHF",
+    "QAR/AED",
+    "AUD/THB",
+    "DKK/TWD",
+    "USD/BDT",
+    "GBP/BGN",
+    "LSL/GBP",
+    "SZL/EUR",
+    "EUR/ILS",
+    "GBP/MTL",
+    "PLN/EUR",
+    "CNH/JPY",
+    "BYN/GBP",
+    "TRY/CZK",
+    "DKK/JPY",
+    "BMD/EUR",
+    "ETB/ZAR",
+    "CHF/NZD",
+    "ZAR/CZK",
+    "ZAR/UYU",
+    "CHF/LFX",
+    "MOP/USD",
+    "USD/HRK",
+    "TRY/GBP",
+    "THB/MYR",
+    "NOK/INR",
+    "ZAR/GBP",
+    "USD/TJS",
+    "HRK/EUR",
+    "XAU/GBP",
+    "ZAR/CNY",
+    "SZL/USD",
+    "GHS/ZAR",
+    "XAU/CNY",
+    "MXN/NZD",
+    "GBP/TWD",
+    "EUR/GTQ",
+    "KYD/BMD",
+    "PLN/USD",
+    "ZAR/RON",
+    "CLP/ARS",
+    "BRL/SGD",
+    "SEK/HUF",
+    "CHF/AUD",
+    "LAK/USD",
+    "ISK/JPY",
+    "GBP/AWG",
+    "CUP/USD",
+    "GBP/RWF",
+    "ZAR/KRW",
+    "OSO/CHF",
+    "XAU/KRW",
+    "USD/EGP",
+    "NZD/CNH",
+    "SGD/BRL",
+    "ZAR/PYG",
+    "USD/CHF",
+    "GBP/JPY",
+    "GBP/OMR",
+    "KZT/USD",
+    "MXN/AUD",
+    "HRK/USD",
+    "KRW/BRL",
+    "USD/MAD",
+    "HUF/CAD",
+    "JPY/CHF",
+    "NOK/AED",
+    "DKK/ZAR",
+    "TRY/PLN",
+    "GBP/MWK",
+    "EUR/TRY",
+    "BRL/EUR",
+    "GBP/BIF",
+    "ZAR/PLN",
+    "INR/THB",
+    "USD/SZL",
+    "USD/XCD",
+    "USD/VND",
+    "ARS/CAD",
+    "EUR/HNL",
+    "GBP/ZMW",
+    "GBP/JMD",
+    "CNY/THB",
+    "HKD/CHF",
+    "THB/HKD",
+    "SOS/GBP",
+    "SGD/TWD",
+    "ILS/AED",
+    "USD/LRD",
+    "RWF/USD",
+    "DKK/NOK",
+    "BRL/RUB",
+    "XAG/GBP",
+    "BRL/USD",
+    "XAG/CNY",
+    "KRW/TWD",
+    "EUR/BZD",
+    "NZD/INR",
+    "GBP/ZAR",
+    "AUD/ILS",
+    "AED/CZK",
+    "USD/SLL",
+    "AUD/LTL",
+    "CDF/USD",
+    "SGD/JPY",
+    "JMD/GBP",
+    "USD/SVC",
+    "XAG/KRW",
+    "EUR/NGN",
+    "USD/KZT",
+    "AED/GBP",
+    "KRW/JPY",
+    "TRY/HUF",
+    "GBP/NPR",
+    "CNH/IDR",
+    "ISK/NOK",
+    "ZAR/HUF",
+    "USD/JOD",
+    "GBP/NOK",
+    "BRL/COP",
+    "ZAR/MGA",
+    "NZD/AED",
+    "RUB/JPY",
+    "HUF/NZD",
+    "USD/THB",
+    "VES/EUR",
+    "ZAR/MZN",
+    "USD/BHD",
+    "USD/XOF",
+    "EUR/MXN",
+    "BWP/EUR",
+    "GBP/LYD",
+    "EUR/KYD",
+    "ZAR/ETB",
+    "JPY/THB",
+    "PLN/CZK",
+    "EUR/PKR",
+    "GTQ/USD",
+    "BBD/SRD",
+    "AED/PLN",
+    "MXN/CHF",
+    "USD/NIO",
+    "SGD/ZAR",
+    "SZL/GBP",
+    "HUF/AUD",
+    "GBP/UGX",
+    "QAR/ZAR",
+    "PLN/GBP",
+    "CHF/SZL",
+    "KRW/ZAR",
+    "AUD/TRY",
+    "VES/USD",
+    "EUR/SRD",
+    "MYR/EUR",
+    "LAK/GBP",
+    "ZWD/GBP",
+    "BWP/USD",
+    "BMD/GBP",
+    "HKD/THB",
+    "XOF/ZAR",
+    "GBP/TZS",
+    "EUR/PHP",
+    "NOK/JPY",
+    "ARS/AUD",
+    "TZS/ZAR",
+    "KZT/GBP",
+    "USD/ISK",
+    "RUB/ZAR",
+    "FJD/TOP",
+    "SGD/NOK",
+    "NZD/BRL",
+    "EUR/SEK",
+    "BDT/JPY",
+    "GBP/BYN",
+    "MYR/USD",
+    "JPY/ISK",
+    "RON/CHF",
+    "EUR/PEN",
+    "ILS/JPY",
+    "CLP/BRL",
+    "BRL/VES",
+    "IDR/MYR",
+    "USD/TTD",
+    "AED/HUF",
+    "CZK/TRY",
+    "PEN/EUR",
+    "EUR/DKK",
+    "MGA/ZAR",
+    "SGD/IDR",
+    "EUR/MYR",
+    "RWF/GBP",
+    "TWD/PKR",
+    "COP/MXN",
+    "BRL/GBP",
+    "THB/INR",
+    "NOK/ZAR",
+    "DKK/SGD",
+    "GHS/EUR",
+    "EUR/KES",
+    "CAD/NZD",
+    "CHF/THB",
+    "NZD/TWD",
+    "USD/MUR",
+    "CAD/LFX",
+    "XDR/ISK",
+    "SEK/CAD",
+    "CDF/GBP",
+    "PEN/USD",
+    "BRL/KRW",
+    "ETB/USD",
+    "AUD/MXN",
+    "USD/ILS",
+    "BGN/DKK",
+    "NZD/JPY",
+    "AUD/PKR",
+    "EUR/LBP",
+    "CAD/AUD",
+    "GHS/USD",
+    "JPY/ILS",
+    "ILS/ZAR",
+    "PLN/HUF",
+    "MAD/ZAR",
+    "MTL/GBP",
+    "USD/BTC",
+    "BTC/USD",
+    "BTC/ETH",
+    "ETH/BTC",
+    "ETH/USD",
+    "USD/ETH",
+    "BTC/LTC",
+    "LTC/BTC",
+    "LTC/USD",
+    "USD/LTC",
+    "XRP/USD",
+    "USD/XRP",
+    "XRP/BTC",
+    "BTC/XRP",
+    "DSH/USD",
+    "USD/DSH",
+    "DSH/BTC",
+    "BTC/DASH",
+    "BCH/USD",
+    "USD/BCH",
+    "BCH/BTC",
+    "BTC/BCH",
+    "DASH/BTC",
+    "EUR/BTC",
+    "EUR/ETH",
+    "EUR/BCH",
+    "USD/DASH",
+    "TRY/RUB",
+    "TRY/BTC",
+    "BTC/EUR",
+    "BTC/JPY",
+    "BTC/GBP",
+    "BTC/SGD",
+    "BTC/RUB",
+    "BTC/TRY",
+    "BTC/ZAR",
+    "BTC/PLN",
+    "ETH/EUR",
+    "ETH/JPY",
+    "ETH/GBP",
+    "ETH/CAD",
+    "ETH/CHF",
+    "ETH/SGD",
+    "ETH/RUB",
+    "ETH/TRY",
+    "ETH/ZAR",
+    "ETH/PLN",
+    "ETH/LTC",
+    "ETH/XRP",
+    "ETH/DASH",
+    "ETH/BCH",
+    "LTC/EUR",
+    "LTC/GBP",
+    "LTC/RUB",
+    "LTC/ETH",
+    "LTC/BCH",
+    "XRP/EUR",
+    "XRP/JPY",
+    "XRP/GBP",
+    "XRP/CAD",
+    "XRP/RUB",
+    "XRP/TRY",
+    "XRP/ETH",
+    "XRP/BCH",
+    "DASH/EUR",
+    "DASH/RUB",
+    "DASH/ETH",
+    "DASH/BCH",
+    "BCH/EUR",
+    "BCH/GBP",
+    "BCH/RUB",
+    "BCH/ETH",
+    "XAU/CHF",
+    "CNH/TRY",
+    "BTC/AUD",
+    "MXN/XRP",
+    "BNB/XAG",
+    "MXN/BCH",
+    "BTC/NOK",
+    "DSH/RUB",
+    "DSH/AUD",
+    "LTC/ZAR",
+    "PLN/DSH",
+    "USD/ZWD",
+    "SGD/LTC",
+    "DOT/XAU",
+    "XRP/SGD",
+    "BTC/DKK",
+    "XAU/SEK",
+    "XMR/XAU",
+    "NZD/BCH",
+    "CAD/BCH",
+    "SEK/LTC",
+    "XRP/HKD",
+    "DKK/BTC",
+    "JPY/DSH",
+    "BTC/CNH",
+    "ETH/DKK",
+    "PLN/XAG",
+    "BCH/HKD",
+    "DSH/XRP",
+    "XAU/XAG",
+    "NOK/XAU",
+    "XPT/NZD",
+    "TRY/BCH",
+    "XRP/DKK",
+    "CNH/DKK",
+    "XAG/BTC",
+    "LTC/CNH",
+    "ETH/NZD",
+    "NZD/ETH",
+    "DSH/CAD",
+    "CAD/DSH",
+    "PLN/BCH",
+    "XAG/XAU",
+    "SEK/XAG",
+    "AUD/DSH",
+    "CNH/DSH",
+    "SEK/ETH",
+    "SOL/XAU",
+    "CNH/PLN",
+    "CHF/BTC",
+    "XAU/DKK",
+    "SGD/BCH",
+    "DSH/SEK",
+    "CNH/BCH",
+    "RUB/NZD",
+    "LTC/SGD",
+    "DSH/CHF",
+    "DKK/ETH",
+    "RUB/CNH",
+    "VET/XAU",
+    "NZD/XAG",
+    "BCH/NZD",
+    "NZD/XRP",
+    "DSH/DKK",
+    "SEK/XAU",
+    "XPD/AUD",
+    "LTC/NOK",
+    "XRP/LTC",
+    "LTC/NZD",
+    "RUB/DSH",
+    "XAU/PLN",
+    "HKD/BTC",
+    "XAG/SEK",
+    "TRY/DSH",
+    "DKK/CNH",
+    "BCH/TRY",
+    "LTC/MXN",
+    "ZAR/DSH",
+    "BTC/HKD",
+    "JPY/LTC",
+    "XRP/XAG",
+    "XPD/NZD",
+    "NZD/DSH",
+    "SEK/BTC",
+    "ZAR/BCH",
+    "BCH/ZAR",
+    "AAVE/XAU",
+    "NZD/LTC",
+    "ETH/XAU",
+    "CNH/XAG",
+    "LTC/XRP",
+    "LTC/DKK",
+    "UNI/XAU",
+    "XMR/XAG",
+    "HKD/ETH",
+    "DSH/TRY",
+    "BTC/NZD",
+    "BTC/XAG",
+    "DSH/NOK",
+    "NZD/XPT",
+    "ZAR/XRP",
+    "GBP/DSH",
+    "HKD/RUB",
+    "ILS/PLN",
+    "LTC/XAU",
+    "FIL/XAG",
+    "USDC/XAU",
+    "CHF/XAG",
+    "XPT/AUD",
+    "LUNA/XAG",
+    "FIL/XAU",
+    "SEK/DSH",
+    "XAU/LTC",
+    "SEK/BCH",
+    "NOK/LTC",
+    "ETH/SEK",
+    "ETH/NOK",
+    "XAG/XRP",
+    "LUNA/XAU",
+    "SEK/XRP",
+    "CHF/LTC",
+    "SGD/RUB",
+    "ETH/DSH",
+    "NOK/XAG",
+    "SGD/XRP",
+    "XRP/XAU",
+    "HKD/DSH",
+    "BCH/CAD",
+    "LTC/TRY",
+    "CNH/LTC",
+    "LTC/JPY",
+    "TRY/LTC",
+    "SGD/XAU",
+    "BCH/NOK",
+    "XAU/SGD",
+    "CAD/BTC",
+    "SGD/DSH",
+    "MXN/BTC",
+    "DSH/EUR",
+    "CNH/XRP",
+    "ADA/XAU",
+    "DSH/HKD",
+    "XAG/DSH",
+    "XAG/CNH",
+    "XAG/PLN",
+    "BCH/XAU",
+    "CHF/DSH",
+    "CNH/MXN",
+    "XAG/NOK",
+    "DKK/LTC",
+    "CHF/BCH",
+    "CNH/RUB",
+    "RUB/SGD",
+    "XAG/BCH",
+    "PLN/XRP",
+    "XAG/CHF",
+    "XAU/CNH",
+    "DSH/LTC",
+    "BTC/MXN",
+    "THETA/XAU",
+    "CAD/LTC",
+    "BCH/DSH",
+    "XRP/DSH",
+    "LTC/CHF",
+    "DKK/XAU",
+    "NZD/RUB",
+    "BNB/XAU",
+    "XAU/NZD",
+    "AUD/XPD",
+    "NZD/BTC",
+    "ETH/HKD",
+    "HKD/BCH",
+    "BTC/SEK",
+    "XAG/NZD",
+    "XRP/CNH",
+    "XRP/SEK",
+    "DSH/CNH",
+    "NOK/BTC",
+    "XRP/NZD",
+    "RUB/HKD",
+    "PLN/XAU",
+    "CHF/XRP",
+    "DOGE/XAU",
+    "LTC/XAG",
+    "DKK/XAG",
+    "CNH/ETH",
+    "BCH/XAG",
+    "XAU/ETH",
+    "ZAR/LTC",
+    "BCH/CHF",
+    "PLN/LTC",
+    "BTC/XAU",
+    "DSH/NZD",
+    "LTC/DSH",
+    "DSH/SGD",
+    "DSH/ETH",
+    "XAU/BTC",
+    "DSH/PLN",
+    "XRP/PLN",
+    "CNH/XAU",
+    "LTC/PLN",
+    "LTC/SEK",
+    "MATIC/XAU",
+    "DSH/JPY",
+    "NOK/DSH",
+    "DSH/BCH",
+    "BCH/MXN",
+    "XAU/NOK",
+    "DKK/XRP",
+    "BCH/DKK",
+    "XAG/LTC",
+    "BCH/JPY",
+    "MXN/LTC",
+    "AAVE/XAG",
+    "DSH/MXN",
+    "DSH/XAG",
+    "NZD/XAU",
+    "NZD/XPD",
+    "NOK/ETH",
+    "XAU/DSH",
+    "DKK/DSH",
+    "DKK/BCH",
+    "PLN/CNH",
+    "XRP/CHF",
+    "BCH/CNH",
+    "AUD/XPT",
+    "LTC/HKD",
+    "XRP/MXN",
+    "DSH/XAU",
+    "MXN/CNH",
+    "NOK/BCH",
+    "BCH/SEK",
+    "MXN/ETH",
+    "MXN/DSH",
+    "BCH/SGD",
+    "NOK/XRP",
+    "XAG/ETH",
+    "BCH/PLN",
+    "XAG/SGD",
+    "LTC/CAD",
+    "HKD/XRP",
+    "DSH/ZAR",
+    "XAU/XRP",
+    "XRP/NOK",
+    "HKD/LTC",
+    "XRP/ZAR",
+    "CNH/BTC",
+    "ETH/CNH",
+    "JPY/ZWD",
+    "DSH/GBP",
+    "DOGE/XAG",
+    "XLM/XAG",
+    "ADA/XAG",
+    "VET/XAG",
+    "SGD/XAG",
+    "EUR/DSH",
+    "JPY/BCH",
+    "ETH/MXN",
+    "XAG/DKK",
+    "ETH/XAG",
+    "LINK/XAU",
+    "XAU/BCH",
+    "MATIC/XAG",
+    "LINK/XAG",
+    "UNI/XAG",
+    "SOL/XAG",
+    "DOT/XAG",
+    "THETA/XAG",
+    "USDC/XAG",
+    "USD/UKO",
+    "SEK/TWD",
+    "COP/PEN",
+    "CLF/USD",
+    "AOA/EUR",
+    "PGK/ZAR",
+    "KHR/EUR",
+    "HTG/EUR",
+    "CDF/ZAR",
+    "JPY/VND",
+    "IQD/EUR",
+    "FJD/ZAR",
+    "PKR/INR",
+    "CAD/XAU",
+    "PAB/EUR",
+    "YER/EUR",
+    "NAD/EUR",
+    "JPY/PHP",
+    "CHF/ARE",
+    "SDG/USD",
+    "CHF/DOE",
+    "SRD/CNY",
+    "COP/GBP",
+    "AFN/EUR",
+    "LAK/ZAR",
+    "LSL/EUR",
+    "CNH/EUR",
+    "CAD/XAG",
+    "CUP/EUR",
+    "USD/KRU",
+    "SRD/USD",
+    "INR/IDR",
+    "AUD/XAU",
+    "PKR/OMR",
+    "KRW/CNH",
+    "PKR/HKD",
+    "USD/MAL",
+    "RUB/NOK",
+    "SRD/GYD",
+    "TND/EUR",
+    "CHF/KES",
+    "CHF/NSO",
+    "KRW/GBP",
+    "CNH/AUD",
+    "PYG/GBP",
+    "PKR/CHF",
+    "BAM/EUR",
+    "AUD/XAG",
+    "PKR/SAR",
+    "JPY/NGN",
+    "BGN/EUR",
+    "AOA/USD",
+    "MTL/EUR",
+    "USD/M5P",
+    "CLP/JPY",
+    "VND/ZAR",
+    "CHF/VRN",
+    "UAH/GBP",
+    "RWF/EUR",
+    "CHF/VRL",
+    "PKR/EGP",
+    "MOP/GBP",
+    "OMR/EUR",
+    "NAD/USD",
+    "PLN/RUB",
+    "MWK/EUR",
+    "BIF/EUR",
+    "GEL/GBP",
+    "JOD/ZAR",
+    "ZMW/EUR",
+    "DZD/GBP",
+    "THB/XAU",
+    "BHD/ZAR",
+    "JPY/LFX",
+    "NPR/EUR",
+    "LYD/EUR",
+    "HUF/NOK",
+    "CHF/FRN",
+    "UGX/EUR",
+    "IDR/EUR",
+    "PKR/CAD",
+    "CNH/CHF",
+    "TZS/EUR",
+    "BHD/AED",
+    "USD/NBL",
+    "PKR/KWD",
+    "BYN/EUR",
+    "AED/OMR",
+    "MVR/GBP",
+    "IDR/AUD",
+    "TRY/XAU",
+    "SRD/AWG",
+    "SOS/EUR",
+    "LFX/GBP",
+    "CHF/XPTK",
+    "BTN/EUR",
+    "TRY/XAG",
+    "MMK/EUR",
+    "SAR/CAD",
+    "MXN/XAU",
+    "TRY/AED",
+    "COP/EUR",
+    "IRR/USD",
+    "USD/AUN",
+    "CNH/CAD",
+    "ILS/BRL",
+    "PKR/BHD",
+    "AMD/EUR",
+    "HRK/GBP",
+    "IDR/USD",
+    "MXN/XAG",
+    "QAR/EUR",
+    "USD/BRI",
+    "EGP/GBP",
+    "BSD/EUR",
+    "GMD/USD",
+    "PKR/AED",
+    "AED/JOD",
+    "LBP/ZAR",
+    "KRW/IDR",
+    "MRU/EUR",
+    "RON/EUR",
+    "EUR/XPT",
+    "JPY/EGP",
+    "THB/CNH",
+    "PYG/EUR",
+    "CNH/SEK",
+    "HKD/XAU",
+    "THB/DKK",
+    "KHR/ZAR",
+    "USD/SHP",
+    "USD/XPT",
+    "AED/KWD",
+    "CHF/KRU",
+    "SAR/ZAR",
+    "SAR/XAU",
+    "LFX/NZD",
+    "JOD/GBP",
+    "THB/GBP",
+    "BHD/GBP",
+    "NAD/ZAR",
+    "ARS/XAU",
+    "EUR/XPD",
+    "HKD/XAG",
+    "CHF/MAL",
+    "BND/EUR",
+    "SRD/BRL",
+    "RON/AUD",
+    "USD/OSO",
+    "MGA/EUR",
+    "LSL/ZAR",
+    "CNH/ZAR",
+    "MZN/EUR",
+    "USD/XPD",
+    "SAR/XAG",
+    "MOP/EUR",
+    "ETB/EUR",
+    "SEK/BRL",
+    "SAR/AED",
+    "ARS/XAG",
+    "GEL/EUR",
+    "INR/XAU",
+    "ILS/GBP",
+    "GBP/XPT",
+    "CVE/USD",
+    "CHF/M5P",
+    "PKR/MYR",
+    "RSD/USD",
+    "INR/XAG",
+    "KWD/SAR",
+    "GBP/XPD",
+    "MRU/USD",
+    "MKD/EUR",
+    "UZS/EUR",
+    "INR/AED",
+    "BRL/TRY",
+    "CHF/XAUK",
+    "BRL/XAU",
+    "RON/JPY",
+    "BZD/GBP",
+    "PGK/EUR",
+    "CDF/EUR",
+    "BBD/BMD",
+    "PKR/DKK",
+    "SCR/EUR",
+    "FJD/EUR",
+    "PHP/CNH",
+    "DJF/EUR",
+    "SRD/ANG",
+    "JPY/XAU",
+    "BRL/XAG",
+    "MVR/EUR",
+    "CRC/EUR",
+    "SRD/GBP",
+    "LAK/EUR",
+    "CHF/NBL",
+    "BOB/EUR",
+    "ZAR/XAU",
+    "PKR/SGD",
+    "PKR/QAR",
+    "LFX/EUR",
+    "JPY/XAG",
+    "NPR/ZAR",
+    "MYR/GBP",
+    "FJD/AUD",
+    "GEL/USD",
+    "KES/GBP",
+    "CNH/MYR",
+    "HKD/CNH",
+    "USD/ARE",
+    "USD/DOE",
+    "LBP/GBP",
+    "GYD/EUR",
+    "SEK/KRW",
+    "LKR/EUR",
+    "GNF/EUR",
+    "DOP/EUR",
+    "ZAR/XAG",
+    "KWD/CAD",
+    "MYR/SGD",
+    "BDT/EUR",
+    "DKK/RUB",
+    "SAR/GBP",
+    "LFX/AUD",
+    "TJS/EUR",
+    "PAB/GBP",
+    "MAD/EUR",
+    "PKR/NZD",
+    "SRD/XCD",
+    "USD/NSO",
+    "CNH/GBP",
+    "SRD/TTD",
+    "LRD/EUR",
+    "INR/CNH",
+    "CHF/AUN",
+    "RON/CAD",
+    "INR/DKK",
+    "SLL/EUR",
+    "SVC/EUR",
+    "CUP/GBP",
+    "KZT/EUR",
+    "EUR/XAU",
+    "CHF/XPDK",
+    "JOD/EUR",
+    "BTN/ZAR",
+    "RUB/XAU",
+    "USD/XAU",
+    "MMK/ZAR",
+    "CNH/SGD",
+    "CHF/BRI",
+    "KWD/ZAR",
+    "NIO/EUR",
+    "EUR/XAG",
+    "STN/USD",
+    "PKR/THB",
+    "RUB/XAG",
+    "USD/XAG",
+    "TTD/EUR",
+    "CHF/XAGK",
+    "CNH/NOK",
+    "TWD/CNH",
+    "AED/QAR",
+    "BGN/GBP",
+    "JPY/CNH",
+    "UYU/ZAR",
+    "LFX/CHF",
+    "INR/NOK",
+    "GBP/XAU",
+    "CNY/XAU",
+    "TWD/GBP",
+    "GTQ/EUR",
+    "CHF/OSO",
+    "KRW/XAU",
+    "CNH/NZD",
+    "BIF/GBP",
+    "XCD/USD",
+    "HNL/EUR",
+    "ZMW/GBP",
+    "AED/ILS",
+    "RUB/BRL",
+    "GBP/XAG",
+    "CNY/XAG",
+    "BZD/EUR",
+    "KRW/XAG",
+    "NGN/EUR",
+    "HUF/TRY",
+    "IDR/CNH",
+    "EUR/VES",
+    "XOF/USD",
+    "SRD/BBD",
+    "SRD/EUR",
+    "GBP/ZWD",
+    "PHP/EUR",
+    "JPY/BDT",
+    "VES/BRL",
+    "MYR/IDR",
+    "IDR/SGD",
+    "PKR/TWD",
+    "LFX/CAD",
+    "PKR/AUD",
+    "LBP/EUR",
+    "BTC/DSH",
+    "DASH/USD",
+    "RUB/TRY",
+    "JPY/BTC",
+    "GBP/BTC",
+    "SGD/BTC",
+    "RUB/BTC",
+    "ZAR/BTC",
+    "PLN/BTC",
+    "JPY/ETH",
+    "GBP/ETH",
+    "CAD/ETH",
+    "CHF/ETH",
+    "SGD/ETH",
+    "RUB/ETH",
+    "TRY/ETH",
+    "ZAR/ETH",
+    "PLN/ETH",
+    "EUR/LTC",
+    "GBP/LTC",
+    "RUB/LTC",
+    "BCH/LTC",
+    "EUR/XRP",
+    "JPY/XRP",
+    "GBP/XRP",
+    "CAD/XRP",
+    "RUB/XRP",
+    "TRY/XRP",
+    "BCH/XRP",
+    "EUR/DASH",
+    "RUB/DASH",
+    "BCH/DASH",
+    "GBP/BCH",
+    "RUB/BCH",
+    "CHF/XAU",
+    "TRY/CNH",
+    "AUD/BTC"
+]
--- a/Simoleon/Resources/de.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "Dirham Der Vereinigten Arabischen Emirate",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afghanisch Afghanisch",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Albanisches Lek",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Armenisches Dram",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Niederl\u00e4ndischer Antillen-Gulden",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angolanisch Zuerst",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Argentinien Peso",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "Australischer Dollar",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Australisches Nugget",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Aruba-Florin",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Konvertible Mark F\u00fcr Bosnien Und Herzegowina",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "Barbados-Dollar",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladesch Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Bulgarischer Lev",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Bahrain-Dinar",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Burundischer Franken",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "Bermuda-Dollar",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "Brunei Dollar",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Bolivianisch",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Gro\u00dfbritannien",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Brasilianischer Real",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "Bahama-Dollar",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Bhutanesischer Ngultrum",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pula",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Wei\u00dfrussischer Rubel",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "Belize-Dollar",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Kanadischer Dollar",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Kongolesischer Franken",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Schweizerfranken",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Chilenische Rechnungseinheit",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Chilenischer Peso",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Chinesische Yuan",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Chinesische Yuan",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Kolumbianischer Peso",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Costa-Rica-Colon",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Kubanischer Peso",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Kapverdischer Schild",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Zypriotisches Pfund",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Tschechische Krone",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Dschibutisches Franken",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "D\u00e4nische Krone",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "Doppeladler",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Dominikanische Peso",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Algerischer Dinar",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "\u00c4gyptisches Pfund",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "\u00c4thiopischer Birr",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "Fidschi-Dollar",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "Franz\u00f6sischer Napoleon",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Pfund Sterling",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Georgischer Lauf",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Ghanaischer Cedi",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Gambischer Dalasi",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Guinea-Franc",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Guatemaltekischer Quetzal",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "Guyana-Dollar",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Hongkong Dollar",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Honduranisches Lempira",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Kroatische Kuna",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Haitianischer K\u00fcrbis",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Ungarischer Forint",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Indonesische Rupiah",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Israelischer Neuer Schekel",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Indische Rupie",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Irakischer Dinar",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Iranischer Rial",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Isl\u00e4ndische Krone",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "Jamaika-Dollar",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Jordanischer Dinar",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Japanische Yen",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Kenianischer Schilling",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Kambodschanische Riel",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Komoren Frankreich",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "S\u00fcdafrikanischer Kr\u00fcgerrand",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "S\u00fcdkoreanische Won",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Kuwait-Dinar",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "Kaimaninseln-Dollar",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Kasachstan Tenge",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Laotischer Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Libanesisches Pfund",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Sukuk-Sch\u00e4tze",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Sri-Lanka-Rupie",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "Liberianischer Dollar",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesotho Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Litauische Litas",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Libyscher Dinar",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "Mexikanische 50 Peso",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Marokkanischer Dirham",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Ahornblatt",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Moldauischer Leu",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Madagassischer Ariary",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Mazedonischer Denar",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Myanmar Kyat",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Macanesisches Pataca",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Mauretanischer Ouguiya",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Maltesische Lira",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Mauritius-Rupie",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Maledivische Rufiyaa",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Malawischer Kwacha",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Mexikanischer Peso",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Malaysische Ringgit",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Mosambikanische Metical",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "Namibischer Dollar",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Insel Man Noble",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Nigerianische Naira",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Nicaraguanisches Cordoba",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Norwegische Krone",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Nepalesische Rupie",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "Neuer Souver\u00e4n",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "Neuseeland Dollar",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Omanische Rial",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Alter Souver\u00e4n",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Panamaischer Balboa",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Peruanisches Neues Sol",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papua-Neuguinea China",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Philippinischer Peso",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Pakistanische Rupie",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Polnischer Zloty",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Paraguayischer Guaran\u00ed",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Katar-Riyal",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Rum\u00e4nischer Neuer Leu",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Serbischer Dinar",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Russischer Rubel",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Ruanda-Franken",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Saudi-Riyal",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "Salomonen-Dollar",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Seychellen-Rupie",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Sudanesisches Pfund",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Schwedische Krone",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Singapur-Dollar",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "St. Helena Pfund",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Sierra Leone Leone",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Somalischer Schilling",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "Surinamischer Dollar",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Sao Tomean Dobra",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Salvadorianischer Kolumbus",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi-Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Thail\u00e4ndischer Baht",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tadschikischer Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Turkmenistanischer Manat",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Tunesischer Dinar",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tongaische Pa\u02bbAnga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "T\u00fcrkische Lire",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "Trinidad Und Tobago-Dollar",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "Neuer Taiwan-Dollar",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Tansania-Schilling",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Ukrainische Griwna",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Uganda-Schilling",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "Us-Dollar",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Uruguayischer Peso",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Usbekistan Som",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Venezolanischer Bolivar Soberano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Vietnamesischer Dong",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Silber (Eine Feinunze)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Silber (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Gold (Eine Feinunze)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Gold (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "Ostkaribischer Dollar",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladium (Eine Feinunze)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Palladium (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Cfp-Franc",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platin (Eine Feinunze)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platin (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Jemenitischer Rial",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "S\u00fcdafrikanischer Rand",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Sambischer Kwacha",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "Simbabwe-Dollar",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash Kryptow\u00e4hrung",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash Kryptow\u00e4hrung",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "\u00c4ther",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin-Bargeld",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Xrp Kryptow\u00e4hrung",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/en-GB.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "United Arab Emirates Dirham",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afghan Afghani",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Albanian Lek",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Armenian Dram",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Netherlands Antillean Guilder",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angolan Kwanza",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Argentine Peso",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "Australian Dollar",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Australian Nugget",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Aruban Florin",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Bosnia And Herzegovina Convertible Mark",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "Barbados Dollar",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladeshi Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Bulgarian Lev",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Bahraini Dinar",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Burundian Franc",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "Bermudian Dollar",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "Brunei Dollar",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Boliviano",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Britannia",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Brazilian Real",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "Bahamian Dollar",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Bhutanese Ngultrum",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pula",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Belarusian Ruble",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "Belize Dollar",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Canadian Dollar",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Congolese Franc",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Swiss Franc",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Chilean Unit Of Account",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Chilean Peso",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Colombian Peso",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Costa Rican Colon",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Cuban Peso",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Cape Verde Escudo",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Cypriot Pound",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Czech Koruna",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Djiboutian Franc",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Danish Krone",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "Double Eagle",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Dominican Peso",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Algerian Dinar",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Egyptian Pound",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Ethiopian Birr",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "Fiji Dollar",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "French Napoleon",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Pound Sterling",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Georgian Lari",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Ghanaian Cedi",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Gambian Dalasi",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Guinean Franc",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Guatemalan Quetzal",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "Guyanese Dollar",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Hong Kong Dollar",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Honduran Lempira",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Croatian Kuna",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Haitian Gourde",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Hungarian Forint",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Indonesian Rupiah",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Israeli New Shekel",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Indian Rupee",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Iraqi Dinar",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Iranian Rial",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Icelandic Kr\u00f3na",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "Jamaican Dollar",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Jordanian Dinar",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Japanese Yen",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Kenyan Shilling",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Cambodian Riel",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Comoro Franc",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "South African Krugerrand",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "South Korean Won",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Kuwaiti Dinar",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "Cayman Islands Dollar",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Kazakhstani Tenge",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Lebanese Pound",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Khazanah Sukuk",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Sri Lankan Rupee",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "Liberian Dollar",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesotho Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Lithuanian Litas",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Libyan Dinar",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "Mexican 50 Peso",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Moroccan Dirham",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Maple Leaf",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Moldovan Leu",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Malagasy Ariary",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Macedonian Denar",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Myanma Kyat",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Macanese Pataca",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Mauritanian Ouguiya",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Maltese Lira",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Mauritian Rupee",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Maldivian Rufiyaa",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Malawian Kwacha",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Mexican Peso",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Malaysian Ringgit",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Mozambican Metical",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "Namibian Dollar",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Isle Of Man Noble",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Nigerian Naira",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Nicaraguan C\u00f3rdoba",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Norwegian Krone",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Nepalese Rupee",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "New Sovereign",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "New Zealand Dollar",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Omani Rial",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Old Sovereign",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Panamanian Balboa",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Peruvian Nuevo Sol",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papua New Guinean Kina",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Philippine Peso",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Pakistani Rupee",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Polish Z\u0142oty",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Paraguayan Guaran\u00ed",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Qatari Riyal",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Romanian New Leu",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Serbian Dinar",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Russian Rouble",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Rwandan Franc",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Saudi Riyal",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "Solomon Islands Dollar",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Seychelles Rupee",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Sudanese Pound",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Swedish Krona",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Singapore Dollar",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Saint Helena Pound",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Sierra Leonean Leone",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Somali Shilling",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "Surinamese Dollar",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Sao Tomean Dobra",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Salvadoran Col\u00f3n",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Thai Baht",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tajikistani Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Turkmenistani Manat",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Tunisian Dinar",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tongan Pa\u02bbAnga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Turkish Lira",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "Trinidad And Tobago Dollar",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "New Taiwan Dollar",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Tanzanian Shilling",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Ukrainian Hryvnia",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Ugandan Shilling",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "United States Dollar",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Uruguayan Peso",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Uzbekistan Som",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Venezuelan Bolivar Soberano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Vietnamese Dong",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Silver (One Troy Ounce)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Silver (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Gold (One Troy Ounce)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Gold (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "East Caribbean Dollar",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladium (One Troy Ounce)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Palladium (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Cfp Franc",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platinum (One Troy Ounce)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platinum (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Yemeni Rial",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "South African Rand",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Zambian Kwacha",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "Zimbabwe Dollar",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash Cryptocurrency",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash Cryptocurrency",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Cash",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Xrp Cryptocurrency",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/en.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "United Arab Emirates Dirham",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afghan Afghani",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Albanian Lek",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Armenian Dram",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Netherlands Antillean Guilder",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angolan Kwanza",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Argentine Peso",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "Australian Dollar",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Australian Nugget",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Aruban Florin",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Bosnia And Herzegovina Convertible Mark",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "Barbados Dollar",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladeshi Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Bulgarian Lev",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Bahraini Dinar",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Burundian Franc",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "Bermudian Dollar",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "Brunei Dollar",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Boliviano",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Britannia",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Brazilian Real",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "Bahamian Dollar",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Bhutanese Ngultrum",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pula",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Belarusian Ruble",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "Belize Dollar",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Canadian Dollar",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Congolese Franc",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Swiss Franc",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Chilean Unit Of Account",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Chilean Peso",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Colombian Peso",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Costa Rican Colon",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Cuban Peso",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Cape Verde Escudo",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Cypriot Pound",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Czech Koruna",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Djiboutian Franc",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Danish Krone",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "Double Eagle",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Dominican Peso",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Algerian Dinar",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Egyptian Pound",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Ethiopian Birr",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "Fiji Dollar",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "French Napoleon",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Pound Sterling",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Georgian Lari",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Ghanaian Cedi",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Gambian Dalasi",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Guinean Franc",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Guatemalan Quetzal",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "Guyanese Dollar",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Hong Kong Dollar",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Honduran Lempira",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Croatian Kuna",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Haitian Gourde",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Hungarian Forint",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Indonesian Rupiah",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Israeli New Shekel",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Indian Rupee",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Iraqi Dinar",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Iranian Rial",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Icelandic Kr\u00f3na",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "Jamaican Dollar",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Jordanian Dinar",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Japanese Yen",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Kenyan Shilling",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Cambodian Riel",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Comoro Franc",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "South African Krugerrand",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "South Korean Won",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Kuwaiti Dinar",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "Cayman Islands Dollar",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Kazakhstani Tenge",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Lebanese Pound",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Khazanah Sukuk",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Sri Lankan Rupee",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "Liberian Dollar",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesotho Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Lithuanian Litas",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Libyan Dinar",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "Mexican 50 Peso",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Moroccan Dirham",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Maple Leaf",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Moldovan Leu",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Malagasy Ariary",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Macedonian Denar",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Myanma Kyat",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Macanese Pataca",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Mauritanian Ouguiya",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Maltese Lira",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Mauritian Rupee",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Maldivian Rufiyaa",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Malawian Kwacha",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Mexican Peso",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Malaysian Ringgit",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Mozambican Metical",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "Namibian Dollar",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Isle Of Man Noble",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Nigerian Naira",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Nicaraguan C\u00f3rdoba",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Norwegian Krone",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Nepalese Rupee",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "New Sovereign",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "New Zealand Dollar",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Omani Rial",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Old Sovereign",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Panamanian Balboa",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Peruvian Nuevo Sol",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papua New Guinean Kina",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Philippine Peso",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Pakistani Rupee",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Polish Z\u0142oty",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Paraguayan Guaran\u00ed",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Qatari Riyal",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Romanian New Leu",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Serbian Dinar",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Russian Rouble",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Rwandan Franc",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Saudi Riyal",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "Solomon Islands Dollar",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Seychelles Rupee",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Sudanese Pound",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Swedish Krona",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Singapore Dollar",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Saint Helena Pound",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Sierra Leonean Leone",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Somali Shilling",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "Surinamese Dollar",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Sao Tomean Dobra",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Salvadoran Col\u00f3n",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Thai Baht",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tajikistani Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Turkmenistani Manat",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Tunisian Dinar",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tongan Pa\u02bbAnga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Turkish Lira",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "Trinidad And Tobago Dollar",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "New Taiwan Dollar",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Tanzanian Shilling",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Ukrainian Hryvnia",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Ugandan Shilling",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "United States Dollar",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Uruguayan Peso",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Uzbekistan Som",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Venezuelan Bolivar Soberano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Vietnamese Dong",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Silver (One Troy Ounce)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Silver (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Gold (One Troy Ounce)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Gold (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "East Caribbean Dollar",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladium (One Troy Ounce)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Palladium (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Cfp Franc",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platinum (One Troy Ounce)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platinum (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Yemeni Rial",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "South African Rand",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Zambian Kwacha",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "Zimbabwe Dollar",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash Cryptocurrency",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash Cryptocurrency",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Cash",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Xrp Cryptocurrency",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/es.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "D\u00edrham de los Emiratos \u00c1rabes Unidos",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afgani Afgano",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Lek Alban\u00e9s",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Dram Armenio",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Flor\u00edn de las Antillas Neerlandesas",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angole\u00f1o Primero",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Peso Argentino",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "D\u00f3lar Australiano",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Pepita Australiana",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Flor\u00edn de Aruba",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Marco Convertible de Bosnia y Herzegovina",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "D\u00f3lar de Barbados",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladesh Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Lev B\u00falgaro",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Dinar Bahrein\u00ed",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Franco Burund\u00e9s",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "D\u00f3lar de las Bermudas",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "D\u00f3lares de Brunei",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Boliviano",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Breta\u00f1a",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Real Brasile\u00f1o",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "D\u00f3lar de las Bahamas",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Ngultrum Butan\u00e9s",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pula",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Rublo Bielorruso",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "D\u00f3lar Belice\u00f1o",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Dolar Canadiense",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Franco Congole\u00f1o",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Franco Suizo",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Unidad de Cuenta Chilena",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Chilean Peso",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Yuan Chino",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Yuan Chino",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Colombian Peso",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Col\u00f3n Costarricense",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Cuban Peso",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Escudo de Cabo Verde",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Libra Chipriota",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Corona Checa",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Franco de Yibuti",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Corona Danesa",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "\u00c1guila Bic\u00e9fala",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Peso Dominicano",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Algerian Comida",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Libra Egipcia",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Birr Et\u00edope",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "D\u00f3lar de Fiji",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "Napole\u00f3n Franc\u00e9s",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Libra Esterlina",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Carrera Georgiana",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Cedi de Ghana",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Dalasi de Gambia",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Franco Guineano",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Quetzal Guatemalteco",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "D\u00f3lar de Guyana",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Dolar de Hong Kong",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Lempira Hondure\u00f1a",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Kuna Croata",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Calabaza Haitiana",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Flor\u00edn H\u00fangaro",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Rupia Indonesia",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Nuevo Shekel Israel\u00ed",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Rupia India",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Dinar Iraqu\u00ed",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Rial Iran\u00ed",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Corona Islandesa",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "D\u00f3lar Jamaiquino",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Dinar Jordano",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Yen Japon\u00e9s",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Chel\u00edn Keniano",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Riel Camboyano",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Franco de las Comoras",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "Krugerrand Sudafricano",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "Won Surcoreano",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Dinar Kuwait\u00ed",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "D\u00f3lar de las Islas Caim\u00e1n",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Tenge Kazajo",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Libra Libanesa",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Tesoros de Sukuk",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Rupia de Sri Lanka",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "D\u00f3lar Liberiano",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Loti de Lesoto",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Litas Lituana",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Dinar Libio",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "50 Pesos Mexicanos",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Dirham Marroqu\u00ed",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Hoja de Arce",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Leu Moldavo",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Ariary Malgache",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Denar Macedonio",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Kyat de Myanmar",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Pataca de Macao",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Ouguiya Mauritano",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Lira Maltesa",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Rupia de Mauricio",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Rufiyaa de Maldivas",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Kwacha Malau\u00ed",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Peso Mexicano",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Ringgit Malayo",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Metical Mozambique\u00f1o",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "D\u00f3lar de Namibia",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Isla de Man Noble",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Naira Nigeriana",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Nicaraguan C\u00f3rdoba",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Corona Noruega",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Rupia Nepal\u00ed",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "Nuevo Soberano",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "Dolar de Nueva Zelanda",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Rial Oman\u00ed",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Viejo Soberano",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Balboa Paname\u00f1o",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Peruvian Nuevo Sol",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papua Nueva Guinea China",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Peso Filipino",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Rupia Pakistan\u00ed",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Zloty Polaco",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Paraguayan Guaran\u00ed",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Riyal de Qatar",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Nuevo Leu Rumano",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Dinar Serbio",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Rublo Ruso",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Franco Ruand\u00e9s",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Riyal Saud\u00ed",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "D\u00f3lar de las Islas Salom\u00f3n",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Rupia de Seychelles",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Libra Sudanesa",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Corona Sueca",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Dolar de Singapur",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Libra de Santa Elena",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Sierra Leona Leona",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Chel\u00edn Somal\u00ed",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "D\u00f3lar Surinam\u00e9s",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Dobra de Santo Tom\u00e9",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Salvadoran Col\u00f3n",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Baht Tailand\u00e9s",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tayikist\u00e1n Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Manat de Turkmenist\u00e1n",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Tunisian Dinar",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tonga Pa\u02bbAnga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Lira Turca",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "D\u00f3lar de Trinidad y Tobago",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "Nuevo D\u00f3lar Taiwan\u00e9s",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Chel\u00edn de Tanzania",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Grivna Ucraniana",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Chel\u00edn Ugand\u00e9s",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "D\u00f3lar de los Estados Unidos",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Uruguayan Peso",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Uzbekist\u00e1n Som",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Venezuelan Bolivar Soberano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Dong Vietnamita",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Plata (Una Onza Troy)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Plata (Kilogramo)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Oro (Una Onza Troy)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Oro (Kilogramo)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "D\u00f3lar Del Caribe Oriental",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Paladio (Una Onza Troy)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Paladio (Kilogramo)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Franco Cfp",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platino (Una Onza Troy)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platino (Kilogramo)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Rial Yemen\u00ed",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "Rand Sudafricano",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Kwacha de Zambia",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "D\u00f3lar de Zimbabwe",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Criptomoneda Dash",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Criptomoneda Dash",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Efectivo",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Criptomoneda Xrp",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/fr.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "Dirham Des \u00c9mirats Arabes Unis",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afghan Afghan",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Lek Albanais",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Dram Arm\u00e9nien",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Florin Des Antilles N\u00e9erlandaises",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angolais D&#39;Abord",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Argentine Peso",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "Dollar Australien",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "P\u00e9pite Australienne",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Florin D&#39;Aruba",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Mark Convertible De Bosnie-Herz\u00e9govine",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "Dollar De La Barbade",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladesh Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Lev Bulgare",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Dinar Bahre\u00efni",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Franc Burundais",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "Dollar Bermudien",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "Dollars Du Brun\u00e9i",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Bolivien",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Grande-Bretagne",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Real Br\u00e9silien",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "Dollar Des Bahamas",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Ngultrum Bhoutanais",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Pula Botswanais",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Rouble Bi\u00e9lorusse",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "Dollar B\u00e9lizien",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Dollar Canadien",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Franc Congolais",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Franc Suisse",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Unit\u00e9 De Compte Chilienne",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Peso Chilien",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Le Yuan Chinois",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Le Yuan Chinois",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Peso Colombien",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Colon Costaricain",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Peso Cubain",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Bouclier Du Cap Vert",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Livre Chypriote",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Couronne Tch\u00e8que",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Franc Djiboutien",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Couronne Danoise",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "Double Aigle",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Peso Dominicain",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Dinar Alg\u00e9rien",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Livre \u00c9gyptienne",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Birr \u00c9thiopien",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "Dollar De Fidji",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "Napol\u00e9on Fran\u00e7ais",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Livre Sterling",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Course G\u00e9orgienne",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "C\u00e9di Ghan\u00e9en",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Dalasi Gambien",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Franc Guin\u00e9en",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Quetzal Guat\u00e9malt\u00e8que",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "Dollar Guyanais",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Dollar De Hong Kong",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Lempira Hondurien",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Kuna Croate",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Haitian Gourde",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Forint Hongrois",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Roupie Indon\u00e9sienne",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Nouveau Shekel Isra\u00e9lien",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Roupie Indienne",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Dinar Irakien",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Rial Iranien",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Couronne Islandaise",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "Dollar Jama\u00efcain",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Dinar Jordanien",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Yen Japonais",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Shilling Kenyan",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Riel Cambodgien",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Franc Comorien",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "Krugerrand Sud-Africain",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "Won Sud-Cor\u00e9en",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Dinar Kowe\u00eftien",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "Dollar Des \u00celes Ca\u00efmans",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Tenge Kazakh",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Livre Libanaise",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Tr\u00e9sors De Sukuk",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Roupie Sri Lankaise",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "Dollar Lib\u00e9rien",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesotho Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Litas Lituanien",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Dinar Libyen",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "50 Pesos Mexicains",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Dirham Marocain",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Feuille D&#39;\u00c9rable",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Leu Moldave",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Ariary Malgache",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Denar Mac\u00e9donien",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Kyat Birman",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Pataca Macanais",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Ouguiya Mauritanien",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Lire Maltaise",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Roupie Mauricienne",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Rufiyaa Maldivienne",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Kwacha Malawite",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Peso Mexicain",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Cloche Malaisienne",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Metical Mozambicain",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "Dollar Namibien",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "\u00cele De Man Noble",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Naira Nig\u00e9rian",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Cordoue Nicaraguayenne",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Couronne Norv\u00e9gienne",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Roupie N\u00e9palaise",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "Nouveau Souverain",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "Dollar N\u00e9o-Z\u00e9landais",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Rial Omanais",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Vieux Souverain",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Balboa Panam\u00e9en",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Nouveau Sol P\u00e9ruvien",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papouasie-Nouvelle-Guin\u00e9e Chine",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Peso Philippin",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Roupie Pakistanaise",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Zloty Polonais",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Guarani Paraguayen",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Riyal Qatari",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Nouveau Leu Roumain",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Dinar Serbe",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Rouble Russe",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Franc Rwandais",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Riyal Saoudien",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "Dollar Des \u00celes Salomon",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Roupie Des Seychelles",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Livre Soudanaise",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Couronne Su\u00e9doise",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Dollar De Singapour",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Livre De Sainte-H\u00e9l\u00e8ne",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Leone Sierra-L\u00e9onais",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Shilling Somalien",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "Dollar Du Suriname",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Dobra De S\u00e3o Tom\u00e9",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Colomb Salvadorien",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Lilangeni Swazi",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Baht Tha\u00eflandais",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tadjikistan Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Manat Turkm\u00e8ne",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Dinar Tunisien",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tonga Pa&#39;Anga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Lire Turque",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "Dollar De Trinit\u00e9-Et-Tobago",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "Nouveau Dollar De Ta\u00efwan",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Shilling Tanzanien",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Hryvnia Ukrainienne",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Shilling Ougandais",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "Dollar Am\u00e9ricain",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Peso Uruguayen",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Ouzb\u00e9kistan Som",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Bolivar Soberano V\u00e9n\u00e9zu\u00e9lien",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Dong Vietnamien",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Argent (Une Once Troy)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Argent (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Or (Une Once Troy)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Or (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "Dollar Des Cara\u00efbes Orientales",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladium (Une Once Troy)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Palladium (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Franc Cfp",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platine (Une Once Troy)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platine (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Rial Y\u00e9m\u00e9nite",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "Rand Sud-Africain",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Kwacha Zambien",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "Dollar Zimbabw\u00e9en",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash Crypto-Monnaie",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash Crypto-Monnaie",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Cash",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Crypto-Monnaie Xrp",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/it.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "Dirham Degli Emirati Arabi Uniti",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afgano Afghano",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Lek Albanese",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Dramma Armeno",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Fiorino Delle Antille Olandesi",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Prima Angola",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Peso Argentino",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "Dollaro Australiano",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Pepita Australiana",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Fiorino Di Aruba",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Marco Convertibile Della Bosnia-Erzegovina",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "Dollaro Delle Barbados",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladesh Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Lev Bulgaro",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Dinaro Del Bahrain",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Franco Del Burundi",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "Dollaro Delle Bermuda",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "Dollari Del Brunei",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Boliviano",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Gran Bretagna",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Real Brasiliano",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "Dollaro Delle Bahamas",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Ngultrum Bhutanese",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pola",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Rublo Bielorusso",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "Dollaro Del Belize",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Dollaro Canadese",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Congolese Franc",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Franco Svizzero",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Unit\u00e0 Di Conto Cilena",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Peso Cileno",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Yuan Cinese",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Yuan Cinese",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Peso Colombiano",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Colon Costaricano",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Peso Cubano",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Scudo Di Capo Verde",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Sterlina Cipriota",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Corona Ceca",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Franco Del Gibuti",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Corona Danese",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "Doppia Aquila",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Peso Dominicano",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Dinaro Algerino",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Sterlina Egiziana",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Birra Etiope",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "Dollaro Delle Fiji",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "Napoleone Francese",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Lira Sterlina",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Corsa Georgiana",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Cedi Ghanese",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Dalasi Gambiano",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Franco Guineano",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Quetzal Guatemalteco",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "Dollaro Della Guyana",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Dollaro Di Hong Kong",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Lempira Honduregna",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Kuna Croata",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Zucca Haitiana",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Fiorino Ungherese",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Rupia Indonesiana",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Nuovo Siclo Israeliano",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Rupia Indiana",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Dinaro Iracheno",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Rial Iraniano",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Corona Islandese",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "Dollaro Giamaicano",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Dinaro Giordano",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Yen Giapponese",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Scellino Keniota",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Riel Cambogiano",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Comore Francia",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "Krugerrand Sudafricano",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "Vinto Sudcoreano",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Dinaro Kuwaitiano",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "Dollaro Delle Isole Cayman",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Tenge . Kazako",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Sterlina Libanese",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Tesori Di Sukuk",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Rupia Dello Sri Lanka",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "Dollaro Liberiano",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesoto Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Litas Lituano",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Dinaro Libico",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "Messicano 50 Peso",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Dirham Marocchino",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Foglia Di Acero",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Leu Mold Moldavo",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Ariary Malgascio",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Dinaro Macedone",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Myanmar Kyat",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Pataca Macanese",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Ouguiya Della Mauritania",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Lira Maltese",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Rupia Mauriziana",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Rufiyaa Mal Delle Maldive",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Kwacha . Del Malawi",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Peso Messicano",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Ringgit Malese",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Metical Mozambicano",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "Dollaro Namibiano",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Nobile Dell&#39;Isola Di Man",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Naira Nigeriana",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Nicaragua Cordoba",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Corona Norvegese",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Rupia Nepalese",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "Nuovo Sovrano",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "Dollaro Neozelandese",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Rial Dell&#39;Oman",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Vecchio Sovrano",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Balboa Panamense",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Nuovo Sole Peruviano",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papua Nuova Guinea Cina",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Peso Filippino",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Rupia Pakistana",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Zloty Polacco",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Guaran\u00ed . Paraguaiano",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Riyal Del Qatar",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Nuovo Leu . Rumeno",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Dinaro Serbo",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Rublo Russo",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Franco Ruandese",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Riyal Saudita",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "Dollaro Delle Isole Salomone",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Rupia Delle Seychelles",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Sterlina Sudanese",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Corona Svedese",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Dollaro Di Singapore",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Sterlina Di Sant&#39;Elena",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Leone Della Sierra Leone",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Scellino Somalo",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "Dollaro Del Suriname",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Sao Tom\u00e9an Dobra",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Colombo Salvadoregno",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Thai Baht",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tagikistan Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Manatista Turkmeno",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Dinaro Tunisino",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tonga Pa&#39;Anga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Lira Turca",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "Dollaro Di Trinidad E Tobago",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "Nuovo Dollaro Di Taiwan",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Scellino Della Tanzania",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Grivnia Ucraina",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Scellino Ugandese",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "Dollaro Degli Stati Uniti",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Peso Uruguaiano",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Soma Dell&#39;Uzbekistan",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Bolivar Soberano Venezuelano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Dong Vietnamita",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Argento (Un&#39;Oncia Troy)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Argento (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Oro (Un&#39;Oncia Troy)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Oro (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "Dollaro Dei Caraibi Orientali",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladio (Un&#39;Oncia Troy)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Palladio (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Cfp Franco",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platino (Un&#39;Oncia Troy)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platino (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Rial Yemenita",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "Rand Sudafricano",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Kwacha . Dello Zambia",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "Dollaro Dello Zimbabwe",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash Criptovaluta",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash Criptovaluta",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Cash",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Criptovaluta Xrp",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/nl.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "Verenigde Arabische Emiraten Dirham",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afghaanse Afghaan",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Albanese Leki",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Armeense Dram",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Nederlands Antilliaanse Gulden",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angolese Eerst",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Arego",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Argentijnse Peso",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "Australische Dollar",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Australische Nugget",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Arubaanse Florijn",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Bosni\u00eb En Herzegovina Convertible Mark",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "Barbados Dollar",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladesh Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Bulgaarse Lev",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Bahreinse Dinar",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Burundese Frank",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "Bermuda-Dollar",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "Bruneise Dollars",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Boliviaanse",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Brittanni\u00eb",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Braziliaanse Real",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "Bahamaanse Dollar",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Bhutanese Ngultrum",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pula",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Wit-Russische Roebel",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "Belizaanse Dollar",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "Canadese Dollar",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Congolese Frank",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Zwitserse Frank",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Chileense Rekeneenheid",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Chileense Peso",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Chinese Yuan",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Colombiaanse Peso",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "Costa Ricaanse Colon",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Cubaanse Peso",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Kaapverdisch Schild",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Cypriotisch Pond",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Tsjechische Kroon",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Djiboutiaanse Frank",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Deense Kroon",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "Dubbele Adelaar",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Dominicaanse Peso",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Algerijnse Dinar",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Egyptische Pond",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Ethiopische Birr",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "Fiji Dollar",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "Franse Napoleon",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Pond Sterling",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Georgische Run",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Ghanese Cedi",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "Gambiaanse Dalasi",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Guinese Frank",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Guatemalteekse Quetzal",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "Guyanese Dollar",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "Hong Kong Dollar",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Hondurese Lempira",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Kroatisch Kuna",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Ha\u00eftiaanse Kalebas",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Hongaarse Forint",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "Indonesische Roepia",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Isra\u00eblische Nieuwe Sikkel",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Indiase Roepie",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Iraakse Dinar",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Iraanse Rial",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Ijslandse Kroon",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "Jamaicaanse Dollar",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Jordaanse Dinar",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Japanse Yen",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Keniaanse Shilling",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Cambodjaanse Riel",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Comoren Frank",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "Zuid-Afrikaanse Krugerrand",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "Zuid-Koreaanse Won",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Koeweitse Dinar",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "Kaaimaneilandse Dollar",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Kazachstaanse Tenge",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Libanees Pond",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Sukuk-Schatten",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "Sri Lankaanse Roepie",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "Liberiaanse Dollar",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesotho Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Litouwse Litas",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Libische Dinar",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "Mexicaans 50 Peso",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Marokkaanse Dirham",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Esdoorn Blad",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Moldavische Leu",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Malagassische Ariary",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Macedonische Denar",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Myanmar Kyat",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Macanees Pataca",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Mauritaanse Ouguiya",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Maltese Lira",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "Mauritiaanse Roepie",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Maldivische Rufiyaa",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Malawische Kwacha",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Mexicaanse Peso",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Maleisische Ringgit",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Mozambikaanse Metical",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "Namibische Dollar",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Isle Of Man Noble",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Nigeriaanse Naira",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "Nicaraguaanse C\u00f3rdoba",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Noorse Kroon",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "Nepalese Roepie",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "Nieuwe Soeverein",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "Nieuw-Zeelandse Dollar",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Omaanse Rial",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Oude Soeverein",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Panamese Balboa",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Peruaanse Nieuwe Sol",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papoea-Nieuw-Guinea China",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Filippijnse Peso",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "Pakistaanse Roepie",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Poolse Zloty",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Paraguayaanse Guaran\u00ed",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Qatarese Riyal",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Roemeens Nieuw Leu",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Servische Dinar",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Russische Roebel",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Rwandese Frank",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Saoedische Riyal",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "Dollar Van De Salomonseilanden",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "Seychelse Roepie",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Soedanees Pond",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Zweedse Kroon",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "Singapore Dollar",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Sint-Helena Pond",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Sierra Leone Leone",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Somalische Shilling",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "Surinaamse Dollar",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Sao Tome\u00efsche Dobra",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Salvadoraans Columbus",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Thaise Baht",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Tadzjikistaanse Somoni",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Turkmenistaanse Manat",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Tunesische Dinar",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Tongaanse Pa (Anga)",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Turkse Lira",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "Trinidad En Tobago-Dollar",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "Nieuwe Taiwanese Dollar",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Tanzaniaanse Shilling",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Oekra\u00efense Grivna",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Oegandese Shilling",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "Verenigde Staten Dollar",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Uruguayaanse Peso",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Oezbekistan Som",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Venezolaanse Bolivar Soberano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Vietnamese Dong",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Zilver (One Troy Ounce)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Zilver (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Goud (\u00c9\u00e9n Troy Ounce)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Goud (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "Oost-Caribische Dollar",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladium (\u00c9\u00e9n Troy Ounce)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Palladium (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Cfp Franc",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platina (\u00c9\u00e9n Troy Ounce)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platina (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Jemenitische Rial",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "Zuid-Afrikaanse Rand",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Zambiaanse Kwacha",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "Zimbabwaanse Dollar",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash-Cryptovaluta",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash-Cryptovaluta",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Cash",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Xrp-Cryptovaluta",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/pt-PT.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "Emirados \u00c1rabes Unidos Dirham",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "Afeg\u00e3o Afeg\u00e3o",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "Lek Alban\u00eas",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "Dram Arm\u00eanio",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "Florim Das Antilhas Holandesas",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "Angolan First",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "Areg",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "Peso Argentino",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "D\u00f3lar Australiano",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "Pepita Australiana",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "Aruban Florin",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "Marco Convers\u00edvel Da B\u00f3snia E Herzegovina",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "D\u00f3lar De Barbados",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "Bangladesh Taka",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "Lev B\u00falgaro",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "Dinar Do Bahrein",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "Franco Do Burundi",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "D\u00f3lar Bermudense",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "D\u00f3lares Do Brunei",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "Boliviano",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "Gr\u00e3-Bretanha",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "Real Brasileiro",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "D\u00f3lar Das Bahamas",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "Ngultrum Do But\u00e3o",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "Botswana Pula",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "Rublo Bielorrusso",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "D\u00f3lar De Belize",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "D\u00f3lar Canadense",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "Franco Congol\u00eas",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "Franco Su\u00ed\u00e7o",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "Unidade De Conta Chilena",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "Peso Chileno",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "Yuan Chin\u00eas",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "Yuan Chin\u00eas",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "Peso Colombiano",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "C\u00f3lon Da Costa Rica",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "Peso Cubano",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "Cape Verde Escudo",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "Libra Cipriota",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "Coroa Tcheca",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "Franco Do Djibuti",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "Coroa Dinamarquesa",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "\u00c1guia Dupla",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "Peso Dominicano",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "Dinar Argelino",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "Libra Eg\u00edpcia",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "Birr Et\u00edope",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "Euro",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "D\u00f3lar Fijiano",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "Napole\u00e3o Franc\u00eas",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "Libra Esterlina",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "Georgian Run",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "Cedi De Gana",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "G\u00e2mbia Dalasi",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "Franco Guineense",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "Quetzal Da Guatemala",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "D\u00f3lar Da Guiana",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "D\u00f3lar De Hong Kong",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "Lempira Hondurenha",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "Kuna Croata",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "Caba\u00e7a Haitiana",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "Forint H\u00fangaro",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "R\u00fapia Da Indon\u00e9sia",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "Novo Shekel Israelense",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "Rupia Indiana",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "Dinar Iraquiano",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "Rial Iraniano",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "Kr\u00f3na Island\u00eas",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "D\u00f3lar Jamaicano",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "Dinar Jordaniano",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "Yen Japon\u00eas",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "Xelim Queniano",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "Riel Cambojano",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "Franco Das Comores",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "Krugerrand Da \u00c1frica Do Sul",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "Won Sul-Coreano",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "Dinar Do Kuwait",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "D\u00f3lar Das Ilhas Cayman",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Tenge Do Cazaquist\u00e3o",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "Lao Kip",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "Libra Libanesa",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "Tesouros Sukuk",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "R\u00fapia Do Sri Lanka",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "D\u00f3lar Da Lib\u00e9ria",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "Lesotho Loti",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "Litas Da Litu\u00e2nia",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "Dinar Da L\u00edbia",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "50 Pesos Mexicanos",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "Dirham Marroquino",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "Folha De Carvalho",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "Leu Da Mold\u00e1via",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "Ariary Malgaxe",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "Denar Da Maced\u00f4nia",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "Myanmar Kyat",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "Pataca Macaense",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "Ouguiya Da Maurit\u00e2nia",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "Lira Maltesa",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "R\u00fapia Da Maur\u00edcia",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "Rufiyaa Das Maldivas",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "Kwacha Do Malawi",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "Peso Mexicano",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "Ringgit Da Mal\u00e1sia",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "Metical Mo\u00e7ambicano",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "D\u00f3lar Namibiano",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "Ilha De Man Nobre",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "Naira Nigeriana",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "C\u00f3rdoba Da Nicar\u00e1gua",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "Coroa Norueguesa",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "R\u00fapia Do Nepal",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "New Sovereign",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "D\u00f3lar Neozeland\u00eas",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "Rial De Om\u00e3",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "Soberano Antigo",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "Balboa Panamenho",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "Novo Sol Peruano",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "Papua Nova Guin\u00e9 China",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "Peso Filipino",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "R\u00fapia Do Paquist\u00e3o",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "Zloty Polon\u00eas",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "Guaran\u00ed Paraguaio",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "Rial Do Catar",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "Novo Leu Romeno",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "Dinar S\u00e9rvio",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "Rublo Russo",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "Franco Ruand\u00eas",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "Rial Saudita",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "D\u00f3lar Das Ilhas Salom\u00e3o",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "R\u00fapia Das Seychelles",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "Libra Sudanesa",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "Coroa Sueca",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "D\u00f3lar De Singapura",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "Libra Santa Helena",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "Leoa Serra Leoa",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "Xelim Da Som\u00e1lia",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "D\u00f3lar Do Suriname",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "Dobra De S\u00e3o Tom\u00e9",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "Colombo Salvadorenho",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "Swazi Lilangeni",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "Baht Tailand\u00eas",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "Somoni Do Tajiquist\u00e3o",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "Manat Do Turcomenist\u00e3o",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "Dinar Tunisino",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "Pa\u02bbAnga De Tonga",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "Lira Turca",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "D\u00f3lar De Trinidad E Tobago",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "Novo D\u00f3lar Taiwan\u00eas",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "Xelim Da Tanz\u00e2nia",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "Hryvnia Ucraniana",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "Xelim De Uganda",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "Dolar Dos Estados Unidos",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "Peso Uruguaio",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "Som Do Uzbequist\u00e3o",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "Bol\u00edvar Soberano Venezuelano",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "Dong Vietnamita",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "Vreneli 10F.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "Vreneli 20F",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "Prata (One Troy On\u00e7a)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "Prata (Kg)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "Ouro (Uma On\u00e7a De Tr\u00f3ia)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "Ouro (Kg)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "D\u00f3lar Do Caribe Oriental",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "Palladium (Uma On\u00e7a Tr\u00f3ia)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "Pal\u00e1dio (Kg)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Franco Cfp",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "Platina (One Troy Once)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "Platina (Kg)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "Rial Iemenita",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "Rand Sul-Africano",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "Kwacha Zambiano",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "D\u00f3lar Zimbabuano",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "Dash Criptomoeda",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "Bitcoin",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "Dash Criptomoeda",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "Bitcoin Cash",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "Xrp Criptomoeda",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Resources/ru.lproj/CurrencyMetadata.json	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-{
-    "AED": {
-        "name": "\u0414\u0438\u0440\u0445\u0430\u043c \u041e\u0430\u044d",
-        "flag": "AE"
-    },
-    "AFN": {
-        "name": "\u0410\u0444\u0433\u0430\u043d\u0441\u043a\u0438\u0439 \u0410\u0444\u0433\u0430\u043d\u0438",
-        "flag": "AF"
-    },
-    "ALL": {
-        "name": "\u0410\u043b\u0431\u0430\u043d\u0441\u043a\u0438\u0439 \u041b\u0435\u043a",
-        "flag": "AL"
-    },
-    "AMD": {
-        "name": "\u0410\u0440\u043c\u044f\u043d\u0441\u043a\u0438\u0439 \u0414\u0440\u0430\u043c",
-        "flag": "AM"
-    },
-    "ANG": {
-        "name": "\u041d\u0438\u0434\u0435\u0440\u043b\u0430\u043d\u0434\u0441\u043a\u0438\u0439 \u0410\u043d\u0442\u0438\u043b\u044c\u0441\u043a\u0438\u0439 \u0413\u0443\u043b\u044c\u0434\u0435\u043d",
-        "flag": "CW"
-    },
-    "AOA": {
-        "name": "\u0410\u043d\u0433\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u041f\u0435\u0440\u0432\u044b\u0439",
-        "flag": "AO"
-    },
-    "ARE": {
-        "name": "\u0410\u0440\u0435\u0433",
-        "flag": "AR"
-    },
-    "ARS": {
-        "name": "\u0410\u0440\u0433\u0435\u043d\u0442\u0438\u043d\u0441\u043a\u043e\u0435 \u041f\u0435\u0441\u043e",
-        "flag": "AR"
-    },
-    "AUD": {
-        "name": "\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "AU"
-    },
-    "AUN": {
-        "name": "\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0421\u0430\u043c\u043e\u0440\u043e\u0434\u043e\u043a",
-        "flag": "AU"
-    },
-    "AWG": {
-        "name": "\u0410\u0440\u0443\u0431\u0430\u043d\u0441\u043a\u0438\u0439 \u0424\u043b\u043e\u0440\u0438\u043d",
-        "flag": "AW"
-    },
-    "BAM": {
-        "name": "\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u041c\u0430\u0440\u043a\u0430 \u0411\u043e\u0441\u043d\u0438\u0438 \u0418 \u0413\u0435\u0440\u0446\u0435\u0433\u043e\u0432\u0438\u043d\u044b",
-        "flag": "BA"
-    },
-    "BBD": {
-        "name": "\u0411\u0430\u0440\u0431\u0430\u0434\u043e\u0441\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "BB"
-    },
-    "BDT": {
-        "name": "\u0411\u0430\u043d\u0433\u043b\u0430\u0434\u0435\u0448\u0441\u043a\u0430\u044f \u0422\u0430\u043a\u0430",
-        "flag": "BD"
-    },
-    "BGN": {
-        "name": "\u0411\u043e\u043b\u0433\u0430\u0440\u0441\u043a\u0438\u0439 \u041b\u0435\u0432",
-        "flag": "BG"
-    },
-    "BHD": {
-        "name": "\u0411\u0430\u0445\u0440\u0435\u0439\u043d\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "BH"
-    },
-    "BIF": {
-        "name": "\u0411\u0443\u0440\u0443\u043d\u0434\u0438\u0439\u0441\u043a\u0438\u0439 \u0424\u0440\u0430\u043d\u043a",
-        "flag": "BI"
-    },
-    "BMD": {
-        "name": "\u0411\u0435\u0440\u043c\u0443\u0434\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "BM"
-    },
-    "BND": {
-        "name": "\u0411\u0440\u0443\u043d\u0435\u0439\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "BN"
-    },
-    "BOB": {
-        "name": "\u0411\u043e\u043b\u0438\u0432\u0438\u0439\u0441\u043a\u0438\u0439",
-        "flag": "BO"
-    },
-    "BRI": {
-        "name": "\u0411\u0440\u0438\u0442\u0430\u043d\u0438\u044f",
-        "flag": "BR"
-    },
-    "BRL": {
-        "name": "\u0411\u0440\u0430\u0437\u0438\u043b\u044c\u0441\u043a\u0438\u0439 \u0420\u0435\u0430\u043b",
-        "flag": "BR"
-    },
-    "BSD": {
-        "name": "\u0411\u0430\u0433\u0430\u043c\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "BS"
-    },
-    "BTN": {
-        "name": "\u0411\u0443\u0442\u0430\u043d\u0441\u043a\u0438\u0439 \u041d\u0433\u0443\u043b\u0442\u0440\u0443\u043c",
-        "flag": "BT"
-    },
-    "BWP": {
-        "name": "\u0411\u043e\u0442\u0441\u0432\u0430\u043d\u0430 \u041f\u0443\u043b\u0430",
-        "flag": "BW"
-    },
-    "BYN": {
-        "name": "\u0411\u0435\u043b\u043e\u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0420\u0443\u0431\u043b\u044c",
-        "flag": "BY"
-    },
-    "BZD": {
-        "name": "\u0411\u0435\u043b\u0438\u0437\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "BZ"
-    },
-    "CAD": {
-        "name": "\u041a\u0430\u043d\u0430\u0434\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "CA"
-    },
-    "CDF": {
-        "name": "\u041a\u043e\u043d\u0433\u043e\u043b\u0435\u0437\u0441\u043a\u0438\u0439 \u0424\u0440\u0430\u043d\u043a",
-        "flag": "CD"
-    },
-    "CHF": {
-        "name": "\u0428\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438\u0439 \u0424\u0440\u0430\u043d\u043a",
-        "flag": "CH"
-    },
-    "CLF": {
-        "name": "\u0427\u0438\u043b\u0438\u0439\u0441\u043a\u0430\u044f \u0420\u0430\u0441\u0447\u0435\u0442\u043d\u0430\u044f \u0415\u0434\u0438\u043d\u0438\u0446\u0430",
-        "flag": "CL"
-    },
-    "CLP": {
-        "name": "\u0427\u0438\u043b\u0438\u0439\u0441\u043a\u043e\u0435 \u041f\u0435\u0441\u043e",
-        "flag": "CL"
-    },
-    "CNH": {
-        "name": "\u041a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u042e\u0430\u043d\u044c",
-        "flag": "CN"
-    },
-    "CNY": {
-        "name": "\u041a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u042e\u0430\u043d\u044c",
-        "flag": "CN"
-    },
-    "COP": {
-        "name": "\u041a\u043e\u043b\u0443\u043c\u0431\u0438\u0439\u0441\u043a\u043e\u0435 \u041f\u0435\u0441\u043e",
-        "flag": "CO"
-    },
-    "CRC": {
-        "name": "\u041a\u043e\u0441\u0442\u0430\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u041a\u043e\u043b\u043e\u043d",
-        "flag": "CR"
-    },
-    "CUP": {
-        "name": "\u041a\u0443\u0431\u0438\u043d\u0441\u043a\u043e\u0435 \u041f\u0435\u0441\u043e",
-        "flag": "CU"
-    },
-    "CVE": {
-        "name": "\u041a\u0430\u0431\u043e-\u0412\u0435\u0440\u0434\u0435 \u0429\u0438\u0442",
-        "flag": "CV"
-    },
-    "CYP": {
-        "name": "\u041a\u0438\u043f\u0440\u0441\u043a\u0438\u0439 \u0424\u0443\u043d\u0442",
-        "flag": "CY"
-    },
-    "CZK": {
-        "name": "\u0427\u0435\u0448\u0441\u043a\u0430\u044f \u041a\u0440\u043e\u043d\u0430",
-        "flag": "CZ"
-    },
-    "DJF": {
-        "name": "\u0414\u0436\u0438\u0431\u0443\u0442\u0438\u0439\u0441\u043a\u0438\u0439 \u0424\u0440\u0430\u043d\u043a",
-        "flag": "DJ"
-    },
-    "DKK": {
-        "name": "\u0414\u0430\u0442\u0441\u043a\u0430\u044f \u041a\u0440\u043e\u043d\u0430",
-        "flag": "DK"
-    },
-    "DOE": {
-        "name": "\u0414\u0432\u0443\u0433\u043b\u0430\u0432\u044b\u0439 \u041e\u0440\u0435\u043b",
-        "flag": "DO"
-    },
-    "DOP": {
-        "name": "\u0414\u043e\u043c\u0438\u043d\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u041f\u0435\u0441\u043e",
-        "flag": "DO"
-    },
-    "DZD": {
-        "name": "\u0410\u043b\u0436\u0438\u0440\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "DZ"
-    },
-    "EGP": {
-        "name": "\u0415\u0433\u0438\u043f\u0435\u0442\u0441\u043a\u0438\u0439 \u0424\u0443\u043d\u0442",
-        "flag": "EG"
-    },
-    "ETB": {
-        "name": "\u042d\u0444\u0438\u043e\u043f\u0441\u043a\u0438\u0439 \u0411\u044b\u0440",
-        "flag": "ET"
-    },
-    "EUR": {
-        "name": "\u0415\u0432\u0440\u043e",
-        "flag": "EU"
-    },
-    "FJD": {
-        "name": "\u0414\u043e\u043b\u043b\u0430\u0440 \u0424\u0438\u0434\u0436\u0438",
-        "flag": "FJ"
-    },
-    "FRN": {
-        "name": "\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u041d\u0430\u043f\u043e\u043b\u0435\u043e\u043d",
-        "flag": "FR"
-    },
-    "GBP": {
-        "name": "\u0424\u0443\u043d\u0442 \u0421\u0442\u0435\u0440\u043b\u0438\u043d\u0433\u043e\u0432",
-        "flag": "GB"
-    },
-    "GEL": {
-        "name": "\u0413\u0440\u0443\u0437\u0438\u043d\u0441\u043a\u0438\u0439 \u0417\u0430\u0431\u0435\u0433",
-        "flag": "GE"
-    },
-    "GHS": {
-        "name": "\u0413\u0430\u043d\u0441\u043a\u0438\u0439 \u0421\u0435\u0434\u0438",
-        "flag": "GH"
-    },
-    "GMD": {
-        "name": "\u0413\u0430\u043c\u0431\u0438\u0439\u0441\u043a\u0438\u0439 \u0414\u0430\u043b\u0430\u0441\u0438",
-        "flag": "GM"
-    },
-    "GNF": {
-        "name": "\u0413\u0432\u0438\u043d\u0435\u0439\u0441\u043a\u0438\u0439 \u0424\u0440\u0430\u043d\u043a",
-        "flag": "GN"
-    },
-    "GTQ": {
-        "name": "\u0413\u0432\u0430\u0442\u0435\u043c\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u041a\u0435\u0442\u0441\u0430\u043b\u044c",
-        "flag": "GT"
-    },
-    "GYD": {
-        "name": "\u0413\u0430\u0439\u0430\u043d\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "GY"
-    },
-    "HKD": {
-        "name": "\u0413\u043e\u043d\u043a\u043e\u043d\u0433\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "HK"
-    },
-    "HNL": {
-        "name": "\u0413\u043e\u043d\u0434\u0443\u0440\u0430\u0441\u0441\u043a\u0430\u044f \u041b\u0435\u043c\u043f\u0438\u0440\u0430",
-        "flag": "HN"
-    },
-    "HRK": {
-        "name": "\u0425\u043e\u0440\u0432\u0430\u0442\u0441\u043a\u0430\u044f \u041a\u0443\u043d\u0430",
-        "flag": "HR"
-    },
-    "HTG": {
-        "name": "\u0413\u0430\u0438\u0442\u044f\u043d\u0441\u043a\u0430\u044f \u0422\u044b\u043a\u0432\u0430",
-        "flag": "HT"
-    },
-    "HUF": {
-        "name": "\u0412\u0435\u043d\u0433\u0435\u0440\u0441\u043a\u0438\u0439 \u0424\u043e\u0440\u0438\u043d\u0442",
-        "flag": "HU"
-    },
-    "IDR": {
-        "name": "\u0418\u043d\u0434\u043e\u043d\u0435\u0437\u0438\u0439\u0441\u043a\u0430\u044f \u0420\u0443\u043f\u0438\u044f",
-        "flag": "ID"
-    },
-    "ILS": {
-        "name": "\u041d\u043e\u0432\u044b\u0439 \u0418\u0437\u0440\u0430\u0438\u043b\u044c\u0441\u043a\u0438\u0439 \u0428\u0435\u043a\u0435\u043b\u044c",
-        "flag": "IL"
-    },
-    "INR": {
-        "name": "\u0418\u043d\u0434\u0438\u0439\u0441\u043a\u0430\u044f \u0420\u0443\u043f\u0438\u044f",
-        "flag": "IN"
-    },
-    "IQD": {
-        "name": "\u0418\u0440\u0430\u043a\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "IQ"
-    },
-    "IRR": {
-        "name": "\u0418\u0440\u0430\u043d\u0441\u043a\u0438\u0439 \u0420\u0438\u0430\u043b",
-        "flag": "IR"
-    },
-    "ISK": {
-        "name": "\u0418\u0441\u043b\u0430\u043d\u0434\u0441\u043a\u0430\u044f \u041a\u0440\u043e\u043d\u0430",
-        "flag": "IS"
-    },
-    "JMD": {
-        "name": "\u042f\u043c\u0430\u0439\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "JM"
-    },
-    "JOD": {
-        "name": "\u0418\u043e\u0440\u0434\u0430\u043d\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "JO"
-    },
-    "JPY": {
-        "name": "\u042f\u043f\u043e\u043d\u0441\u043a\u0430\u044f \u0418\u0435\u043d\u0430",
-        "flag": "JP"
-    },
-    "KES": {
-        "name": "\u041a\u0435\u043d\u0438\u0439\u0441\u043a\u0438\u0439 \u0428\u0438\u043b\u043b\u0438\u043d\u0433",
-        "flag": "KE"
-    },
-    "KHR": {
-        "name": "\u041a\u0430\u043c\u0431\u043e\u0434\u0436\u0438\u0439\u0441\u043a\u0438\u0439 \u0420\u0438\u0435\u043b\u044c",
-        "flag": "KH"
-    },
-    "KMF": {
-        "name": "\u041a\u043e\u043c\u043e\u0440\u0441\u043a\u0438\u0439 \u0424\u0440\u0430\u043d\u043a",
-        "flag": "KM"
-    },
-    "KRU": {
-        "name": "\u042e\u0436\u043d\u043e\u0430\u0444\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u041a\u0440\u044e\u0433\u0435\u0440\u0440\u0430\u043d\u0434",
-        "flag": "KR"
-    },
-    "KRW": {
-        "name": "\u042e\u0436\u043d\u043e\u043a\u043e\u0440\u0435\u0439\u0441\u043a\u0438\u0439 \u0412\u043e\u043d",
-        "flag": "KR"
-    },
-    "KWD": {
-        "name": "\u041a\u0443\u0432\u0435\u0439\u0442\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "KW"
-    },
-    "KYD": {
-        "name": "\u0414\u043e\u043b\u043b\u0430\u0440 \u041a\u0430\u0439\u043c\u0430\u043d\u043e\u0432\u044b\u0445 \u041e\u0441\u0442\u0440\u043e\u0432\u043e\u0432",
-        "flag": "KY"
-    },
-    "KZT": {
-        "name": "Kazakhstani Tenge",
-        "flag": "KZ"
-    },
-    "LAK": {
-        "name": "\u041b\u0430\u043e \u041a\u0438\u043f",
-        "flag": "LA"
-    },
-    "LBP": {
-        "name": "\u041b\u0438\u0432\u0430\u043d\u0441\u043a\u0438\u0439 \u0424\u0443\u043d\u0442",
-        "flag": "LB"
-    },
-    "LFX": {
-        "name": "\u0421\u0443\u043a\u0443\u043a \u0421\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0430",
-        "flag": "MY"
-    },
-    "LKR": {
-        "name": "\u0428\u0440\u0438-\u041b\u0430\u043d\u043a\u0438\u0439\u0441\u043a\u0430\u044f \u0420\u0443\u043f\u0438\u044f",
-        "flag": "LK"
-    },
-    "LRD": {
-        "name": "\u041b\u0438\u0431\u0435\u0440\u0438\u0439\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "LR"
-    },
-    "LSL": {
-        "name": "\u041b\u0435\u0441\u043e\u0442\u043e \u041b\u043e\u0442\u0438",
-        "flag": "LS"
-    },
-    "LTL": {
-        "name": "\u041b\u0438\u0442\u043e\u0432\u0441\u043a\u0438\u0435 \u041b\u0438\u0442\u044b",
-        "flag": "LT"
-    },
-    "LYD": {
-        "name": "\u041b\u0438\u0432\u0438\u0439\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "LY"
-    },
-    "M5P": {
-        "name": "\u041c\u0435\u043a\u0441\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 50 \u041f\u0435\u0441\u043e",
-        "flag": "MX"
-    },
-    "MAD": {
-        "name": "\u041c\u0430\u0440\u043e\u043a\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u0414\u0438\u0440\u0445\u0430\u043c",
-        "flag": "MA"
-    },
-    "MAL": {
-        "name": "\u041a\u043b\u0435\u043d\u043e\u0432\u044b\u0439 \u041b\u0438\u0441\u0442",
-        "flag": "MA"
-    },
-    "MDL": {
-        "name": "\u041c\u043e\u043b\u0434\u0430\u0432\u0441\u043a\u0438\u0439 \u041b\u0435\u0439",
-        "flag": "MD"
-    },
-    "MGA": {
-        "name": "\u041c\u0430\u043b\u0430\u0433\u0430\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0410\u0440\u0438\u0430\u0440\u0438",
-        "flag": "MG"
-    },
-    "MKD": {
-        "name": "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "MK"
-    },
-    "MMK": {
-        "name": "\u041c\u044c\u044f\u043d\u043c\u0430\u043d\u0441\u043a\u0438\u0439 \u041a\u044c\u044f\u0442",
-        "flag": "MM"
-    },
-    "MOP": {
-        "name": "\u041f\u0430\u0442\u0430\u043a\u0430 \u041c\u0430\u043a\u0430\u043d\u0435\u0437",
-        "flag": "MO"
-    },
-    "MRU": {
-        "name": "\u041c\u0430\u0432\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0430\u044f \u0423\u0433\u0438\u044f",
-        "flag": "MR"
-    },
-    "MTL": {
-        "name": "\u041c\u0430\u043b\u044c\u0442\u0438\u0439\u0441\u043a\u0430\u044f \u041b\u0438\u0440\u0430",
-        "flag": "MT"
-    },
-    "MUR": {
-        "name": "\u041c\u0430\u0432\u0440\u0438\u043a\u0438\u0439\u0441\u043a\u0430\u044f \u0420\u0443\u043f\u0438\u044f",
-        "flag": "MU"
-    },
-    "MVR": {
-        "name": "\u041c\u0430\u043b\u044c\u0434\u0438\u0432\u0441\u043a\u0430\u044f \u0420\u0443\u0444\u0438\u044f",
-        "flag": "MV"
-    },
-    "MWK": {
-        "name": "\u041c\u0430\u043b\u0430\u0432\u0438\u0439\u0441\u043a\u0430\u044f \u041a\u0432\u0430\u0447\u0430",
-        "flag": "MW"
-    },
-    "MXN": {
-        "name": "\u041c\u0435\u043a\u0441\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u041f\u0435\u0441\u043e",
-        "flag": "MX"
-    },
-    "MYR": {
-        "name": "\u041c\u0430\u043b\u0430\u0439\u0437\u0438\u0439\u0441\u043a\u0438\u0439 \u0420\u0438\u043d\u0433\u0433\u0438\u0442",
-        "flag": "MY"
-    },
-    "MZN": {
-        "name": "\u041c\u043e\u0437\u0430\u043c\u0431\u0438\u043a\u0441\u043a\u0438\u0439 \u041c\u0435\u0442\u0438\u043a\u0430\u043b",
-        "flag": "MZ"
-    },
-    "NAD": {
-        "name": "\u041d\u0430\u043c\u0438\u0431\u0438\u0439\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "NA"
-    },
-    "NBL": {
-        "name": "\u041e\u0441\u0442\u0440\u043e\u0432 \u041c\u044d\u043d \u041d\u043e\u0431\u043b",
-        "flag": "IM"
-    },
-    "NGN": {
-        "name": "\u041d\u0438\u0433\u0435\u0440\u0438\u0439\u0441\u043a\u0430\u044f \u041d\u0430\u0439\u0440\u0430",
-        "flag": "NG"
-    },
-    "NIO": {
-        "name": "\u041d\u0438\u043a\u0430\u0440\u0430\u0433\u0443\u0430\u043d\u0441\u043a\u0430\u044f \u041a\u043e\u0440\u0434\u043e\u0432\u0430",
-        "flag": "NI"
-    },
-    "NOK": {
-        "name": "\u041d\u043e\u0440\u0432\u0435\u0436\u0441\u043a\u0430\u044f \u041a\u0440\u043e\u043d\u0430",
-        "flag": "NO"
-    },
-    "NPR": {
-        "name": "\u041d\u0435\u043f\u0430\u043b\u044c\u0441\u043a\u0430\u044f \u0420\u0443\u043f\u0438\u044f",
-        "flag": "NP"
-    },
-    "NSO": {
-        "name": "\u041d\u043e\u0432\u044b\u0439 \u0421\u0443\u0432\u0435\u0440\u0435\u043d",
-        "flag": "GB"
-    },
-    "NZD": {
-        "name": "\u041d\u043e\u0432\u043e\u0437\u0435\u043b\u0430\u043d\u0434\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "NZ"
-    },
-    "OMR": {
-        "name": "\u041e\u043c\u0430\u043d\u0441\u043a\u0438\u0439 \u0420\u0438\u0430\u043b",
-        "flag": "OM"
-    },
-    "OSO": {
-        "name": "\u0421\u0442\u0430\u0440\u044b\u0439 \u041f\u043e\u0432\u0435\u043b\u0438\u0442\u0435\u043b\u044c",
-        "flag": "GB"
-    },
-    "PAB": {
-        "name": "\u041f\u0430\u043d\u0430\u043c\u0441\u043a\u0438\u0439 \u0411\u0430\u043b\u044c\u0431\u043e\u0430",
-        "flag": "PA"
-    },
-    "PEN": {
-        "name": "\u041f\u0435\u0440\u0443\u0430\u043d\u0441\u043a\u0438\u0439 \u041d\u043e\u0432\u044b\u0439 \u0421\u043e\u043b",
-        "flag": "PE"
-    },
-    "PGK": {
-        "name": "\u041f\u0430\u043f\u0443\u0430-\u041d\u043e\u0432\u0430\u044f \u0413\u0432\u0438\u043d\u0435\u044f \u041a\u0438\u0442\u0430\u0439",
-        "flag": "PG"
-    },
-    "PHP": {
-        "name": "\u0424\u0438\u043b\u0438\u043f\u043f\u0438\u043d\u0441\u043a\u043e\u0435 \u041f\u0435\u0441\u043e",
-        "flag": "PH"
-    },
-    "PKR": {
-        "name": "\u041f\u0430\u043a\u0438\u0441\u0442\u0430\u043d\u0441\u043a\u0430\u044f \u0420\u0443\u043f\u0438\u044f",
-        "flag": "PK"
-    },
-    "PLN": {
-        "name": "\u041f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0417\u043b\u043e\u0442\u044b\u0439",
-        "flag": "PL"
-    },
-    "PYG": {
-        "name": "\u041f\u0430\u0440\u0430\u0433\u0432\u0430\u0439\u0441\u043a\u0438\u0439 \u0413\u0443\u0430\u0440\u0430\u043d\u0438",
-        "flag": "PY"
-    },
-    "QAR": {
-        "name": "\u041a\u0430\u0442\u0430\u0440\u0441\u043a\u0438\u0439 \u0420\u0438\u0430\u043b",
-        "flag": "QA"
-    },
-    "RON": {
-        "name": "\u041d\u043e\u0432\u044b\u0439 \u0420\u0443\u043c\u044b\u043d\u0441\u043a\u0438\u0439 \u041b\u0435\u0439",
-        "flag": "RO"
-    },
-    "RSD": {
-        "name": "\u0421\u0435\u0440\u0431\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "RS"
-    },
-    "RUB": {
-        "name": "\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0420\u0443\u0431\u043b\u044c",
-        "flag": "RU"
-    },
-    "RWF": {
-        "name": "\u0420\u0443\u0430\u043d\u0434\u0438\u0439\u0441\u043a\u0438\u0439 \u0424\u0440\u0430\u043d\u043a",
-        "flag": "RW"
-    },
-    "SAR": {
-        "name": "\u0421\u0430\u0443\u0434\u043e\u0432\u0441\u043a\u0438\u0439 \u0420\u0438\u0430\u043b",
-        "flag": "SA"
-    },
-    "SBD": {
-        "name": "\u0414\u043e\u043b\u043b\u0430\u0440 \u0421\u043e\u043b\u043e\u043c\u043e\u043d\u043e\u0432\u044b\u0445 \u041e\u0441\u0442\u0440\u043e\u0432\u043e\u0432",
-        "flag": "SB"
-    },
-    "SCR": {
-        "name": "\u0421\u0435\u0439\u0448\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u0420\u0443\u043f\u0438\u044f",
-        "flag": "SC"
-    },
-    "SDG": {
-        "name": "\u0421\u0443\u0434\u0430\u043d\u0441\u043a\u0438\u0439 \u0424\u0443\u043d\u0442",
-        "flag": "SD"
-    },
-    "SEK": {
-        "name": "\u0428\u0432\u0435\u0434\u0441\u043a\u0430\u044f \u041a\u0440\u043e\u043d\u0430",
-        "flag": "SE"
-    },
-    "SGD": {
-        "name": "\u0421\u0438\u043d\u0433\u0430\u043f\u0443\u0440\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "SG"
-    },
-    "SHP": {
-        "name": "\u0424\u0443\u043d\u0442 \u0421\u0432\u044f\u0442\u043e\u0439 \u0415\u043b\u0435\u043d\u044b",
-        "flag": "SH"
-    },
-    "SLL": {
-        "name": "\u0421\u044c\u0435\u0440\u0440\u0430-\u041b\u0435\u043e\u043d\u0435 \u041b\u0435\u043e\u043d\u0435",
-        "flag": "SL"
-    },
-    "SOS": {
-        "name": "\u0421\u043e\u043c\u0430\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0428\u0438\u043b\u043b\u0438\u043d\u0433",
-        "flag": "SO"
-    },
-    "SRD": {
-        "name": "\u0421\u0443\u0440\u0438\u043d\u0430\u043c\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "SR"
-    },
-    "STN": {
-        "name": "\u0421\u0430\u043d-\u0422\u043e\u043c\u0435\u0430\u043d-\u0414\u043e\u0431\u0440\u0430",
-        "flag": "ST"
-    },
-    "SVC": {
-        "name": "\u0421\u0430\u043b\u044c\u0432\u0430\u0434\u043e\u0440\u0441\u043a\u0438\u0439 \u041a\u043e\u043b\u0443\u043c\u0431",
-        "flag": "SV"
-    },
-    "SZL": {
-        "name": "\u0421\u0432\u0430\u0437\u0438\u043b\u0435\u043d\u0434\u0441\u043a\u0438\u0439 \u041b\u0438\u043b\u0430\u043d\u0433\u0435\u043d\u0438",
-        "flag": "SZ"
-    },
-    "THB": {
-        "name": "\u0422\u0430\u0439\u0441\u043a\u0438\u0439 \u0411\u0430\u0442",
-        "flag": "TH"
-    },
-    "TJS": {
-        "name": "\u0422\u0430\u0434\u0436\u0438\u043a\u0441\u043a\u0438\u0439 \u0421\u043e\u043c\u043e\u043d\u0438",
-        "flag": "TJ"
-    },
-    "TMT": {
-        "name": "\u0422\u0443\u0440\u043a\u043c\u0435\u043d\u0441\u043a\u0438\u0439 \u041c\u0430\u043d\u0430\u0442",
-        "flag": "TM"
-    },
-    "TND": {
-        "name": "\u0422\u0443\u043d\u0438\u0441\u0441\u043a\u0438\u0439 \u0414\u0438\u043d\u0430\u0440",
-        "flag": "TN"
-    },
-    "TOP": {
-        "name": "\u0422\u043e\u043d\u0433\u0430\u043d\u0441\u043a\u0438\u0439 \u041f\u0430\u0430\u043d\u0433\u0430",
-        "flag": "TO"
-    },
-    "TRY": {
-        "name": "\u0422\u0443\u0440\u0435\u0446\u043a\u0430\u044f \u041b\u0438\u0440\u0430",
-        "flag": "TR"
-    },
-    "TTD": {
-        "name": "\u0414\u043e\u043b\u043b\u0430\u0440 \u0422\u0440\u0438\u043d\u0438\u0434\u0430\u0434\u0430 \u0418 \u0422\u043e\u0431\u0430\u0433\u043e",
-        "flag": "TT"
-    },
-    "TWD": {
-        "name": "\u041d\u043e\u0432\u044b\u0439 \u0422\u0430\u0439\u0432\u0430\u043d\u044c\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "TW"
-    },
-    "TZS": {
-        "name": "\u0422\u0430\u043d\u0437\u0430\u043d\u0438\u0439\u0441\u043a\u0438\u0439 \u0428\u0438\u043b\u043b\u0438\u043d\u0433",
-        "flag": "TZ"
-    },
-    "UAH": {
-        "name": "\u0423\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u0430\u044f \u0413\u0440\u0438\u0432\u043d\u0430",
-        "flag": "UA"
-    },
-    "UGX": {
-        "name": "\u0423\u0433\u0430\u043d\u0434\u0438\u0439\u0441\u043a\u0438\u0439 \u0428\u0438\u043b\u043b\u0438\u043d\u0433",
-        "flag": "UG"
-    },
-    "USD": {
-        "name": "\u0414\u043e\u043b\u043b\u0430\u0440 \u0421\u0448\u0430",
-        "flag": "US"
-    },
-    "UYU": {
-        "name": "\u0423\u0440\u0443\u0433\u0432\u0430\u0439\u0441\u043a\u043e\u0435 \u041f\u0435\u0441\u043e",
-        "flag": "UY"
-    },
-    "UZS": {
-        "name": "\u0423\u0437\u0431\u0435\u043a\u0441\u043a\u0438\u0439 \u0421\u043e\u043c",
-        "flag": "UZ"
-    },
-    "VES": {
-        "name": "\u0412\u0435\u043d\u0435\u0441\u0443\u044d\u043b\u044c\u0441\u043a\u0438\u0439 \u0411\u043e\u043b\u0438\u0432\u0430\u0440 \u0421\u043e\u0431\u0435\u0440\u0430\u043d\u043e",
-        "flag": "VE"
-    },
-    "VND": {
-        "name": "\u0412\u044c\u0435\u0442\u043d\u0430\u043c\u0441\u043a\u0438\u0439 \u0414\u043e\u043d\u0433",
-        "flag": "VN"
-    },
-    "VRL": {
-        "name": "\u0412\u0440\u0435\u043d\u0435\u043b\u0438 10\u0424.",
-        "flag": "CH"
-    },
-    "VRN": {
-        "name": "\u0412\u0440\u0435\u043d\u0435\u043b\u0438 20\u0424",
-        "flag": "CH"
-    },
-    "XAG": {
-        "name": "\u0421\u0435\u0440\u0435\u0431\u0440\u043e (\u041e\u0434\u043d\u0430 \u0422\u0440\u043e\u0439\u0441\u043a\u0430\u044f \u0423\u043d\u0446\u0438\u044f)",
-        "flag": "XAG"
-    },
-    "XAGK": {
-        "name": "\u0421\u0435\u0440\u0435\u0431\u0440\u043e (\u041a\u0433)",
-        "flag": "XAG"
-    },
-    "XAU": {
-        "name": "\u0417\u043e\u043b\u043e\u0442\u043e (\u041e\u0434\u043d\u0430 \u0422\u0440\u043e\u0439\u0441\u043a\u0430\u044f \u0423\u043d\u0446\u0438\u044f)",
-        "flag": "XAU"
-    },
-    "XAUK": {
-        "name": "\u0417\u043e\u043b\u043e\u0442\u043e (\u041a\u0433)",
-        "flag": "XAU"
-    },
-    "XCD": {
-        "name": "\u0412\u043e\u0441\u0442\u043e\u0447\u043d\u043e-\u041a\u0430\u0440\u0438\u0431\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "AI"
-    },
-    "XOF": {
-        "name": "Cfa Franc Bceao",
-        "flag": "SN"
-    },
-    "XPD": {
-        "name": "\u041f\u0430\u043b\u043b\u0430\u0434\u0438\u0439 (\u041e\u0434\u043d\u0430 \u0422\u0440\u043e\u0439\u0441\u043a\u0430\u044f \u0423\u043d\u0446\u0438\u044f)",
-        "flag": "XPD"
-    },
-    "XPDK": {
-        "name": "\u041f\u0430\u043b\u043b\u0430\u0434\u0438\u0439 (\u041a\u0433)",
-        "flag": "XPD"
-    },
-    "XPF": {
-        "name": "Cfp \u0424\u0440\u0430\u043d\u043a",
-        "flag": "PF"
-    },
-    "XPT": {
-        "name": "\u041f\u043b\u0430\u0442\u0438\u043d\u0430 (\u041e\u0434\u043d\u0430 \u0422\u0440\u043e\u0439\u0441\u043a\u0430\u044f \u0423\u043d\u0446\u0438\u044f)",
-        "flag": "XPT"
-    },
-    "XPTK": {
-        "name": "\u041f\u043b\u0430\u0442\u0438\u043d\u0430 (\u041a\u0433)",
-        "flag": "XPT"
-    },
-    "YER": {
-        "name": "\u0419\u0435\u043c\u0435\u043d\u0441\u043a\u0438\u0439 \u0420\u0438\u0430\u043b",
-        "flag": "YE"
-    },
-    "ZAR": {
-        "name": "\u042e\u0436\u043d\u043e\u0430\u0444\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0439 \u0420\u044d\u043d\u0434",
-        "flag": "ZA"
-    },
-    "ZMW": {
-        "name": "\u0417\u0430\u043c\u0431\u0438\u0439\u0441\u043a\u0430\u044f \u041a\u0432\u0430\u0447\u0430",
-        "flag": "ZM"
-    },
-    "ZWD": {
-        "name": "\u0417\u0438\u043c\u0431\u0430\u0431\u0432\u0438\u0439\u0441\u043a\u0438\u0439 \u0414\u043e\u043b\u043b\u0430\u0440",
-        "flag": "ZW"
-    },
-    "DASH": {
-        "name": "\u041a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430 Dash",
-        "flag": "DASH"
-    },
-    "BTC": {
-        "name": "\u0411\u0438\u0442\u043a\u043e\u0439\u043d",
-        "flag": "BTC"
-    },
-    "DSH": {
-        "name": "\u041a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430 Dash",
-        "flag": "DASH"
-    },
-    "LTC": {
-        "name": "Litecoin",
-        "flag": "LTC"
-    },
-    "ETH": {
-        "name": "Ethereum",
-        "flag": "ETH"
-    },
-    "BCH": {
-        "name": "\u0411\u0438\u0442\u043a\u043e\u0439\u043d \u041a\u044d\u0448",
-        "flag": "BTC"
-    },
-    "XRP": {
-        "name": "\u041a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430 Xrp",
-        "flag": "XRP"
-    }
-}
--- a/Simoleon/Settings.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-//
-//  Settings.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 19/07/2021.
-//
-
-import SwiftUI
-import Purchases
-
-struct Settings: View {
-    @Environment(\.managedObjectContext) private var viewContext
-    @FetchRequest(sortDescriptors: []) private var defaultCurrency: FetchedResults<DefaultCurrency>
-    
-    @State private var selectedDefaultCurrency = ""
-    @State private var showingSubscriptionPaywall = false
-    @State private var entitlementIsActive = false
-    @State private var alertTitle = ""
-    @State private var alertMessage = ""
-    @State private var showingAlert = false
-    @State private var searchCurrency = ""
-    
-    let currencyPairs: [CurrencyPairModel] = parseJson("CurrencyPairs.json")
-    
-    /*
-     If searched currency string is empty:
-     * Show all currencies
-     else:
-     * Show filtered list of currencies containing searched currency string
-     */
-    var searchResults: [CurrencyPairModel] {
-        if searchCurrency.isEmpty {
-            return currencyPairs.sorted { $0.name < $1.name }
-        } else {
-            return currencyPairs.filter { $0.name.contains(searchCurrency.uppercased()) }
-        }
-    }
-    
-    var body: some View {
-        List {
-            Section(header: Text("Preferences")) {
-                if entitlementIsActive {
-                    Picker("Default currency", selection: $selectedDefaultCurrency) {
-                        SearchBar(placeholder: "Search...", text: $searchCurrency)
-                            .padding(5)
-                        
-                        ForEach(searchResults, id: \.self) { currencyPair in
-                            Text(currencyPair.name)
-                                .tag(currencyPair.name)
-                        }
-                    }
-                } else {
-                    LockedCurrencyPicker()
-                        .contentShape(Rectangle())
-                        .onTapGesture { showingSubscriptionPaywall = true }
-                }
-            }
-            
-            Section(header: Text("Stay in touch")) {
-                Link(destination: URL(string: "https://itunes.apple.com/app/id1576390953?action=write-review")!) {
-                    HStack {
-                        Image(systemName: "heart.fill")
-                            .foregroundColor(Color(.systemRed))
-                            .imageScale(.large)
-
-                        Text("Rate Simoleon")
-                    }
-                }
-                
-                Link(destination: URL(string: "https://twitter.com/dennisconcep")!) {
-                    HStack {
-                        Image("TwitterLogo")
-                            .resizable()
-                            .frame(width: 30, height: 30)
-                        
-                        Text("Developer's Twitter")
-                    }
-                }
-                
-                Link(destination: URL(string: "https://dennistech.io/contact")!) {
-                    HStack {
-                        Image(systemName: "envelope.fill")
-                            .foregroundColor(Color(.systemIndigo))
-                            .imageScale(.large)
-                        
-                        Text("Contact")
-                    }
-                }
-            }
-            
-            Section(header: Text("About")) {
-                Link(destination: URL(string: "https://dennistech.io")!) {
-                    Text("Website")
-                }
-                
-                Link(destination: URL(string: "https://dennistech.io/simoleon-privacy-policy")!) {
-                    Text("Privacy Policy")
-                }
-                
-                Link(destination: URL(string: "https://dennistech.io/simoleon-terms-of-use")!) {
-                    Text("Terms of Use")
-                }
-            }
-        }
-        .alert(isPresented: $showingAlert) {
-            Alert(title: Text(alertTitle), message: Text(alertMessage), dismissButton: .default(Text("Ok")))
-        }
-        .onAppear {
-            checkEntitlement()
-            /*
-             if selectedDefaultCurrency is empty:
-             * View is appearing for the first time
-             * Set initial default curency for picker
-             else:
-             * View is appearing after user selected another default currency
-             * Save it to core data
-             */
-            if selectedDefaultCurrency == "" {
-                selectedDefaultCurrency = defaultCurrency.first?.pair ?? "USD/GBP"
-            } else {
-                setCoreData()
-            }
-        }
-        .listStyle(InsetGroupedListStyle())
-        .navigationTitle("Settings")
-        .sheet(isPresented: $showingSubscriptionPaywall, onDismiss: checkEntitlement) {
-            SubscriptionPaywall(showingSubscriptionPaywall: $showingSubscriptionPaywall)
-        }
-        .if(UIDevice.current.userInterfaceIdiom == .phone) { content in
-            NavigationView { content }
-        }
-    }
-     
-    // Save default currency to core data
-    private func setCoreData() {
-        if defaultCurrency.isEmpty {  // If it's empty -> add record
-            let defaultCurrency = DefaultCurrency(context: viewContext)
-            defaultCurrency.pair = selectedDefaultCurrency
-            
-            do {
-                try viewContext.save()
-            } catch {
-                print(error.localizedDescription)
-            }
-        } else {  // If not, update record
-            defaultCurrency.first?.pair = selectedDefaultCurrency
-            try? viewContext.save()
-        }
-    }
-    
-    // Check if user subscription is active
-    private func checkEntitlement() {
-        #if SCREENSHOTS
-        entitlementIsActive = true
-        #else
-        Purchases.shared.purchaserInfo { (purchaserInfo, error) in
-            if purchaserInfo?.entitlements["all"]?.isActive == true {
-                entitlementIsActive = true
-            }
-            
-            if let error = error as NSError? {
-                alertTitle = error.localizedDescription
-                alertMessage = error.localizedFailureReason ?? ""
-                showingAlert = true
-            }
-        }
-        #endif
-    }
-}
-
-struct Settings_Previews: PreviewProvider {
-    static var previews: some View {
-        Settings()
-    }
-}
--- a/Simoleon/Simoleon.xcdatamodeld/Simoleon.xcdatamodel/contents	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon/Simoleon.xcdatamodeld/Simoleon.xcdatamodel/contents	Tue Oct 12 16:17:35 2021 +0200
@@ -1,13 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="18154" systemVersion="20G71" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithCloudKit="YES" userDefinedModelVersionIdentifier="">
-    <entity name="DefaultCurrency" representedClassName="DefaultCurrency" syncable="YES">
-        <attribute name="pair" optional="YES" attributeType="String"/>
-    </entity>
-    <entity name="Favorite" representedClassName="Favorite" syncable="YES">
-        <attribute name="currencyPair" optional="YES" attributeType="String"/>
+<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="18154" systemVersion="20G95" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithCloudKit="YES" userDefinedModelVersionIdentifier="">
+    <entity name="FavoritePair" representedClassName="FavoritePair" syncable="YES">
+        <attribute name="baseSymbol" optional="YES" attributeType="String"/>
+        <attribute name="quoteSymbol" optional="YES" attributeType="String"/>
     </entity>
     <elements>
-        <element name="DefaultCurrency" positionX="0" positionY="0" width="128" height="44"/>
-        <element name="Favorite" positionX="0" positionY="0" width="128" height="44"/>
+        <element name="FavoritePair" positionX="-63" positionY="-18" width="128" height="59"/>
     </elements>
 </model>
\ No newline at end of file
--- a/Simoleon/SimoleonApp.swift	Tue Aug 17 22:14:58 2021 +0100
+++ b/Simoleon/SimoleonApp.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -6,17 +6,11 @@
 //
 
 import SwiftUI
-import Purchases
 
 @main
 struct SimoleonApp: App {
-    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
     let persistenceController = PersistenceController.shared
     
-    init() {
-        Purchases.configure(withAPIKey: "\(readConfig("PURCHASES_KEY")!)")
-    }
-    
     var body: some Scene {
         WindowGroup {
             ContentView()
--- a/Simoleon/SubscriptionPaywall.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-//
-//  SubscriptionPaywall.swift
-//  Simoleon
-//
-//  Created by Dennis Concepción Martín on 22/07/2021.
-//
-
-import SwiftUI
-
-struct SubscriptionPaywall: View {
-    @Binding var showingSubscriptionPaywall: Bool
-    
-    var body: some View {
-        NavigationView {
-            ScrollView {
-                VStack(alignment: .leading, spacing: 20) {
-                    HStack {
-                        Spacer()
-                        VStack {
-                            Image("Subscription")
-                                .resizable()
-                                .aspectRatio(contentMode: .fit)
-                                .frame(width: 100, height: 100)
-                                .cornerRadius(25)
-                                .padding(.top)
-                            
-                            Text("Unlock All Access")
-                                .font(.title)
-                                .fontWeight(.semibold)
-                                .fixedSize(horizontal: false, vertical: true)
-                                .multilineTextAlignment(.center)
-                                .padding(.top)
-                        }
-                        
-                        Spacer()
-                    }
-                    
-                    Divider()
-                    
-                    SubscriptionFeature(
-                        symbol: "star.circle.fill",
-                        colour: Color(.systemYellow),
-                        title: "Favorite Forex Pairs",
-                        description: "Save any currency pair to access them quickly."
-                    )
-                    
-                    SubscriptionFeature(
-                        symbol: "flag.circle.fill",
-                        colour: Color(.systemRed),
-                        title: "Over 170 Currencies",
-                        description: "Access almost every currency of the world."
-                    )
-                    
-                    SubscriptionFeature(
-                        symbol: "icloud.circle.fill",
-                        colour: Color(.systemBlue),
-                        title: "Everything is Up-to-date",
-                        description: "Your settings and favorite currencies in all your devices."
-                    )
-                    
-                    SubscriptionFeature(
-                        symbol: "bitcoinsign.circle.fill",
-                        colour: Color(.systemOrange),
-                        title: "Cryptos and Commodities",
-                        description: "Convert currency between cryptos, gold, and silver."
-                    )
-                    
-                    Spacer()
-                    SubscribeButton(showingSubscriptionPaywall: $showingSubscriptionPaywall)
-                    HStack {
-                        Spacer()
-                        RestoreButton(showingSubscriptionPaywall: $showingSubscriptionPaywall)
-                        Spacer()
-                    }
-                }
-                .padding(.bottom)
-                .padding(.horizontal, 40)
-            }
-            .navigationBarTitleDisplayMode(.inline)
-            .toolbar {
-                ToolbarItem(placement: .cancellationAction) {
-                    Button(action: { showingSubscriptionPaywall = false }) {
-                        Text("Cancel")
-                    }
-                }
-            }
-        }
-    }
-}
-
-struct SubscriptionPaywall_Previews: PreviewProvider {
-    static var previews: some View {
-        SubscriptionPaywall(showingSubscriptionPaywall: .constant(true))
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Tests/ButtonAnimation.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,31 @@
+//
+//  ButtonAnimation.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 28/8/21.
+//
+
+import SwiftUI
+
+struct ButtonAnimation: View {
+    @State private var scale: CGFloat = 1
+    
+    var body: some View {
+        Button("Press here", action: animate)
+            .scaleEffect(scale)
+            .animation(.easeIn, value: scale)
+    }
+    
+    private func animate() {
+        scale += 0.2
+        DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
+            scale -= 0.2
+        }
+    }
+}
+
+struct ButtonAnimation_Previews: PreviewProvider {
+    static var previews: some View {
+        ButtonAnimation()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Tests/ChildListResets.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,44 @@
+//
+//  ModalSheetSelection.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/8/21.
+//
+
+import SwiftUI
+
+struct ParentView: View {
+    @State var selection: Int = 1
+    @State private var showingList = false
+    
+    var body: some View {
+        VStack {
+            Button("Show list", action: {showingList = true})
+                .sheet(isPresented: $showingList) {
+                    ModalSheetSelection(selection: $selection)
+                }
+            
+            Text("My first var is: \(selection)")
+        }
+    }
+}
+
+struct ModalSheetSelection: View {
+    @Binding var selection: Int
+    
+    var body: some View {
+        NavigationView {
+            List {
+                SearchBar(placeholder: "", text: .constant(""))
+                ForEach((1..<100), id: \.self) { number in
+                    Button(action: {selection = number}) {
+                        Text("\(number)")
+                    }
+                }
+            }
+            .id(UUID())
+            .navigationTitle("Currencies")
+            .navigationBarTitleDisplayMode(.inline)
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/ConversionBox.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,69 @@
+//
+//  ConversionBox.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 18/07/2021.
+//
+
+import SwiftUI
+
+struct ConversionBox: View {
+    @ObservedObject var currencyConversion: CurrencyConversion
+    @State private var amount = ""
+    @State private var isEditing = false
+
+    let networkHelper = NetworkHelper()
+    let currencyDetails: [String: CurrencyModel] = try! readJson(from: "Currencies.json")
+    
+    var body: some View {
+        VStack(alignment: .leading) {
+            let baseCurrencyName = currencyDetails[currencyConversion.baseSymbol]!.name
+            Text("\(baseCurrencyName) (\(currencyConversion.baseSymbol))")
+                .font(.callout)
+                .fontWeight(.semibold)
+            
+            ConversionTextfield(amount: $amount, isEditing: $isEditing)
+            Divider()
+
+            let quoteCurrencyName = currencyDetails[currencyConversion.quoteSymbol]!.name
+            Text("\(quoteCurrencyName) (\(currencyConversion.quoteSymbol))")
+                .font(.callout)
+                .fontWeight(.semibold)
+            
+            if currencyConversion.isShowing {
+                let conversion = convert()
+                Text("\(conversion, specifier: "%.2f")")
+                    .font(Font.title.weight(.semibold))
+                    .lineLimit(1)
+                    .padding(.top, 1)
+            } else {
+                ProgressView()
+            }
+        }
+        .toolbar {
+            ToolbarItem(placement: .navigationBarTrailing) {
+                if isEditing {
+                    Button(action: {
+                        UIApplication.shared.dismissKeyboard()
+                        isEditing = false
+                    }) {
+                        Text("Done")
+                    }
+                }
+            }
+        }
+    }
+    
+    private func convert() -> Double {
+        guard let amount = Double(amount) else { return 0  }
+        guard let price = currencyConversion.quote.price else { return 0 }
+
+        return amount * price
+    }
+}
+
+struct ConversionBox_Previews: PreviewProvider {
+    static var previews: some View {
+        ConversionBox(currencyConversion: CurrencyConversion())
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/ConversionTextfield.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,39 @@
+//
+//  ConversionTextfield.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 29/8/21.
+//
+
+import SwiftUI
+
+struct ConversionTextfield: View {
+    @Binding var amount: String
+    @Binding var isEditing: Bool
+    
+    var body: some View {
+        ZStack {
+            TextField("Enter amount", text: $amount) { startedEditing in
+                if startedEditing {
+                    withAnimation {
+                        isEditing = true
+                    }
+                }
+            }
+            onCommit: {
+                withAnimation {
+                    isEditing = false
+                }
+            }
+            .keyboardType(.decimalPad)
+            .font(Font.title.weight(.semibold))
+            .lineLimit(1)
+        }
+    }
+}
+
+struct ConversionTextfield_Previews: PreviewProvider {
+    static var previews: some View {
+        ConversionTextfield(amount: .constant("1000"), isEditing: .constant(false))
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/CurrencyButton.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,34 @@
+//
+//  CurrencyButton.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 24/8/21.
+//
+
+import SwiftUI
+
+struct CurrencyButton: View {
+    var selectedCurrency: String
+    let currencyDetails: [String: CurrencyModel] = try! readJson(from: "Currencies.json")
+    
+    var body: some View {
+        let currency = currencyDetails[selectedCurrency]!
+        RoundedRectangle(cornerRadius: 15)
+            .foregroundColor(Color(.secondarySystemBackground))
+            .frame(height: 60)
+            .overlay(
+                HStack {
+                    Flag(flag: currency.flag)
+                    Text(currency.symbol)
+                        .foregroundColor(.primary)
+                        .font(.headline)
+                }
+            )
+    }
+}
+
+struct CurrencyButton_Previews: PreviewProvider {
+    static var previews: some View {
+        CurrencyButton(selectedCurrency: "USD")
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/CurrencyList.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,77 @@
+//
+//  CurrencyList.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 24/8/21.
+//
+
+import SwiftUI
+
+struct CurrencyList: View {
+    var currencies: [String]
+    var selection: Selection
+    @ObservedObject var currencyConversion: CurrencyConversion
+    @State private var searchCurrency = ""
+    
+    @Environment(\.presentationMode) private var presentation
+    let currencyDetails: [String: CurrencyModel] = try! readJson(from: "Currencies.json")
+    
+    var searchResults: [String] {
+        if searchCurrency.isEmpty {
+            return currencies.sorted()
+        } else {
+            return currencies.filter {$0.contains(searchCurrency.uppercased())}
+        }
+    }
+    
+    var body: some View {
+        NavigationView {
+            List {
+                SearchBar(placeholder: "Search...", text: $searchCurrency)
+                    .padding(.vertical, 4)
+                    .accessibilityIdentifier("CurrencySearchBar")
+                
+                ForEach(searchResults, id: \.self) { symbol in
+                    Button(action: {
+                        if selection == .baseSymbol {
+                            currencyConversion.baseSymbol = symbol
+                        } else {
+                            currencyConversion.quoteSymbol = symbol
+                        }
+                        
+                        presentation.wrappedValue.dismiss()
+                    }) {
+                        let currency = currencyDetails[symbol]!
+                        CurrencyRow(currency: currency)
+                            .padding(.vertical, 4)
+                    }
+                }
+            }
+            .listStyle()
+            .navigationTitle("Currencies")
+            .navigationBarTitleDisplayMode(.inline)
+            .toolbar {
+                ToolbarItem(placement: .cancellationAction) {
+                    Button(action: { presentation.wrappedValue.dismiss() }) {
+                        Text("Cancel")
+                    }
+                }
+            }
+        }
+    }
+    
+    enum Selection {
+        case baseSymbol, quoteSymbol
+    }
+}
+extension View {
+    func listStyle() -> some View {
+        self.modifier(ListModifier())
+    }
+}
+
+struct CurrencyList_Previews: PreviewProvider {
+    static var previews: some View {
+        CurrencyList(currencies: ["USD"], selection: .baseSymbol, currencyConversion: CurrencyConversion())
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/CurrencyRow.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,42 @@
+//
+//  CurrencyRow.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 15/07/2021.
+//
+
+import SwiftUI
+
+struct CurrencyRow: View {
+    var currency: CurrencyModel
+    
+    var body: some View {
+        HStack {
+            Flag(flag: currency.flag)
+            VStack(alignment: .leading) {
+                Text(currency.symbol)
+                    .font(.headline)
+                
+                Text(currency.name)
+                    .font(.subheadline)
+                    .lineLimit(1)
+            }
+            .foregroundColor(.primary)
+            .padding(.horizontal)
+        }
+    }
+}
+
+struct CurrencyRow_Previews: PreviewProvider {
+    static var previews: some View {
+        CurrencyRow(
+            currency:
+                CurrencyModel(
+                    symbol: "USD",
+                    name: "United States Dollar",
+                    flag: "US",
+                    isCrypto: false
+                )
+        )
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/CurrencySelector.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,90 @@
+//
+//  CurrencySelector.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 27/8/21.
+//
+
+import SwiftUI
+
+struct CurrencySelector: View {
+    @ObservedObject var currencyConversion: CurrencyConversion
+    @State private var modalSelection: ModalType = .allCurrencies
+    @State private var showingList = false
+    
+    let currencyPairsSupported: [String] = try! readJson(from: "CurrencyPairsSupported.json")
+    
+    private enum ModalType {
+        case allCurrencies, compatibleCurrencies
+    }
+    
+    var body: some View {
+        HStack {
+            Button(action: {
+                modalSelection = .allCurrencies
+                showingList = true
+            }) {
+                CurrencyButton(selectedCurrency: currencyConversion.baseSymbol)
+            }
+            
+            Button(action: {
+                modalSelection = .compatibleCurrencies
+                showingList = true
+            }) {
+                CurrencyButton(selectedCurrency: currencyConversion.quoteSymbol)
+            }
+        }
+        .onChange(of: currencyConversion.baseSymbol) { _ in
+            // If the previous quote symbol is not compatible anymore with base symbol
+            // return the first symbol of the new compatible symbols list
+            let compatibleCurrencies = get(currencyType: .compatible(with: currencyConversion.baseSymbol), from: currencyPairsSupported)
+            if !compatibleCurrencies.contains(currencyConversion.quoteSymbol) {
+                currencyConversion.quoteSymbol = compatibleCurrencies.sorted().first!
+            }
+        }
+        .sheet(isPresented: $showingList) {
+            if modalSelection == .allCurrencies {
+                let currencies = get(currencyType: .all, from: currencyPairsSupported)
+                CurrencyList(currencies: currencies, selection: .baseSymbol, currencyConversion: currencyConversion)
+            } else {
+                let currencies = get(currencyType: .compatible(with: currencyConversion.baseSymbol), from: currencyPairsSupported)
+                CurrencyList(currencies: currencies, selection: .quoteSymbol, currencyConversion: currencyConversion)
+            }
+        }
+    }
+    
+    enum CurrencyType {
+        case all
+        case compatible(with: String)
+    }
+    
+    func get(currencyType: CurrencyType, from currencyPairsSupported: [String]) -> [String] {
+        var currencies = Set<String>()
+        
+        switch currencyType {
+        case .all:
+            for currencyPairSupported in currencyPairsSupported {
+                let currency = currencyPairSupported.components(separatedBy: "/")[0]
+                currencies.insert(currency)
+            }
+            
+            return Array(currencies)
+            
+        case .compatible(with: let symbol):
+            for currencyPairSupported in currencyPairsSupported {
+                if currencyPairSupported.hasPrefix(symbol) {
+                    let compatibleCurrency = currencyPairSupported.components(separatedBy: "/")[1]
+                    currencies.insert(compatibleCurrency)
+                }
+            }
+            
+            return Array(currencies)
+        }
+    }
+}
+
+struct CurrencySelector_Previews: PreviewProvider {
+    static var previews: some View {
+        CurrencySelector(currencyConversion: CurrencyConversion())
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/FavoriteButton.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,100 @@
+//
+//  FavoriteButton.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 19/07/2021.
+//
+
+import SwiftUI
+
+struct FavoriteButton: View {
+    @ObservedObject var currencyConversion: CurrencyConversion
+    @State private var scale: CGFloat = 1
+    @Environment(\.managedObjectContext) private var viewContext
+    @FetchRequest(sortDescriptors: []) private var favoritePairs: FetchedResults<FavoritePair>
+    
+    let hapticsHelper = HapticsHelper()
+    
+    var body: some View {
+        Button(action: {
+            animate()
+            if isFavorite() {
+                remove()
+            } else {
+                add()
+            }
+            
+            hapticsHelper.simpleSuccess()
+        }) {
+            RoundedRectangle(cornerRadius: 15)
+                .foregroundColor(Color(.secondarySystemBackground))
+                .frame(width: 60, height: 60)
+                .overlay(
+                    VStack {
+                        if isFavorite() {
+                            Image(systemName: "star.fill")
+                        } else {
+                            Image(systemName: "star")
+                        }
+                    }
+                    .font(.system(size: 28))
+                    .foregroundColor(Color(.systemYellow))
+                )
+        }
+        .scaleEffect(scale)
+        .animation(.linear(duration: 0.2), value: scale)
+    }
+    
+    func add() {
+        let favoritePair = FavoritePair(context: viewContext)
+        favoritePair.baseSymbol = currencyConversion.baseSymbol
+        favoritePair.quoteSymbol = currencyConversion.quoteSymbol
+        
+        do {
+            try viewContext.save()
+        } catch {
+            let nsError = error as NSError
+            fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
+        }
+    }
+    
+    func remove() {
+        let favoritePair = favoritePairs.first(
+            where: {
+                $0.baseSymbol == currencyConversion.baseSymbol && $0.quoteSymbol == currencyConversion.quoteSymbol
+        })
+        
+        viewContext.delete(favoritePair!)
+        
+        do {
+            try viewContext.save()
+        } catch {
+            let nsError = error as NSError
+            fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
+        }
+    }
+    
+    func isFavorite() -> Bool {
+        let favoritePair = favoritePairs.first(
+            where: {
+                $0.baseSymbol == currencyConversion.baseSymbol && $0.quoteSymbol == currencyConversion.quoteSymbol
+        })
+        
+        guard let _ = favoritePair else { return false }
+        
+        return true
+    }
+    
+    private func animate() {
+        scale += 0.2
+        DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
+            scale -= 0.2
+        }
+    }
+}
+
+struct FavoriteButton_Previews: PreviewProvider {
+    static var previews: some View {
+        FavoriteButton(currencyConversion: CurrencyConversion())
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/FavoritePairRow.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,37 @@
+//
+//  FavoritePairRow.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 5/9/21.
+//
+
+import SwiftUI
+
+struct FavoritePairRow: View {
+    var favoritePair: FavoritePair
+    let currencyDetails: [String: CurrencyModel] = try! readJson(from: "Currencies.json")
+    
+    var body: some View {
+        HStack {
+            let baseCurrencyDetails = currencyDetails[favoritePair.baseSymbol]
+            let quoteCurrencyDetails = currencyDetails[favoritePair.quoteSymbol]
+            
+            Flag(flag: baseCurrencyDetails!.flag)
+            Flag(flag: quoteCurrencyDetails!.flag)
+                .offset(x: -25)
+                .padding(.trailing, -25)
+            
+            Group {
+                Text("From \(baseCurrencyDetails!.symbol)")
+                Text("to \(quoteCurrencyDetails!.symbol)")
+            }
+            .font(.headline)
+        }
+    }
+}
+
+struct FavoritePairRow_Previews: PreviewProvider {
+    static var previews: some View {
+        FavoritePairRow(favoritePair: FavoritePair())
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/FavoritesPlaceholder.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,34 @@
+//
+//  FavoritesPlaceholder.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 5/9/21.
+//
+
+import SwiftUI
+
+struct FavoritesPlaceholder: View {
+    var body: some View {
+        VStack {
+            Group {
+                Group {
+                    Image(systemName: "star")
+                        .padding(.bottom)
+                    
+                    Text("No Favorites")
+                        .padding(.bottom, 5)
+                }
+                .font(.system(size: 30))
+                
+                Text("Your favorite currencies will appear here.")
+            }
+            .foregroundColor(.secondary)
+        }
+    }
+}
+
+struct FavoritesPlaceholder_Previews: PreviewProvider {
+    static var previews: some View {
+        FavoritesPlaceholder()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/Flag.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,26 @@
+//
+//  Flag.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 24/8/21.
+//
+
+import SwiftUI
+
+struct Flag: View {
+    var flag: String
+    
+    var body: some View {
+        Image(flag)
+            .resizable()
+            .aspectRatio(contentMode: .fill)
+            .frame(width: 35, height: 35)
+            .clipShape(Circle())
+    }
+}
+
+struct Flag_Previews: PreviewProvider {
+    static var previews: some View {
+        Flag(flag: "GB")
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/SearchBar.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,29 @@
+//
+//  SearchBar.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 27/07/2021.
+//
+
+import SwiftUI
+
+struct SearchBar: View {
+    var placeholder: LocalizedStringKey
+    @Binding var text: String
+    
+    var body: some View {
+        TextField(placeholder, text: $text)
+            .disableAutocorrection(true)
+            .padding(10)
+            .background(
+                RoundedRectangle(cornerRadius: 15)
+                    .foregroundColor(Color(.tertiarySystemFill))
+            )
+    }
+}
+
+struct SearchBar_Previews: PreviewProvider {
+    static var previews: some View {
+        SearchBar(placeholder: "Search ...", text: .constant(""))
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/UI/Sidebar.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,40 @@
+//
+//  Sidebar.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 18/07/2021.
+//
+
+import SwiftUI
+
+struct Sidebar: View {
+    var body: some View {
+        List {
+            NavigationLink(destination: ConversionView()) {
+                Label("Convert", systemImage: "arrow.counterclockwise.circle")
+            }
+            .accessibilityIdentifier("NavigateToConversion")
+            
+            NavigationLink(destination: FavoritesView()) {
+                Label("Favorites", systemImage: "star")
+            }
+            .accessibilityIdentifier("NavigateToFavorites")
+            
+            NavigationLink(destination: AboutView()) {
+                Label("About", systemImage: "info.circle")
+            }
+            .accessibilityIdentifier("NavigateToSettings")
+        }
+        .listStyle(SidebarListStyle())
+        .navigationTitle("Categories")
+        .accessibilityIdentifier("Sidebar")
+    }
+}
+
+struct Sidebar_Previews: PreviewProvider {
+    static var previews: some View {
+        NavigationView {
+            Sidebar()
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SimoleonAppPreview/Info.plist	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>$(DEVELOPMENT_LANGUAGE)</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleVersion</key>
+	<string>1</string>
+</dict>
+</plist>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SimoleonAppPreview/SimoleonAppPreview.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -0,0 +1,150 @@
+//
+//  SimoleonAppPreview.swift
+//  SimoleonAppPreview
+//
+//  Created by Dennis Concepción Martín on 17/8/21.
+//
+
+import XCTest
+
+class SimoleonAppPreview: XCTestCase {
+    
+    override func setUpWithError() throws {
+        // This method is called before the invocation of each test method in the class.
+        if UIDevice.current.userInterfaceIdiom == .pad {
+            XCUIDevice.shared.orientation = .landscapeLeft
+        }
+        
+        // In UI tests it is usually best to stop immediately when a failure occurs.
+        continueAfterFailure = false
+    }
+
+    override func tearDownWithError() throws {
+        // This method is called after the invocation of each test method in the class.
+    }
+
+    func recordInteraction(of app: XCUIApplication) {
+        app.launch()
+        
+        /*
+         * Type amount to convert
+         * Click 'Done' to dismiss keyboard
+         */
+        app.textFields["ConversionTextField"].tap()
+        app.keys["4"].tap()
+        app.keys["5"].tap()
+        app.keys["0"].tap()
+        app.keys["0"].tap()
+        app.keys["0"].tap()
+
+        // Tap done to dismiss keyboard
+        app.navigationBars.buttons.element(boundBy: 0).tap()
+
+        /*
+         * Open currency selector
+         * Select USD/BTC
+         */
+        app.scrollViews.buttons["OpenCurrencySelector"].tap()
+        let currencySearchBar = app.textFields["CurrencySearchBar"]
+        currencySearchBar.tap()
+        currencySearchBar.typeText("Usd/btc\n")
+        sleep(1)
+        app.tables.buttons.firstMatch.tap()
+        sleep(2)
+        
+        /*
+         * Go to favorite view
+         * Open XAG/CAD
+         * Convert 100 ounce to CAD
+         * Go back to favorite
+         * Delete XAG to CAD
+         */
+        app.tabBars.buttons.element(boundBy: 1).tap()
+        let favoritesList = app.tables["FavoritesList"].cells
+        sleep(1)
+        let xagToCad = favoritesList.element(boundBy: 7)
+        xagToCad.tap()
+        sleep(2)
+        
+        // Convert 100 ounce to CAD
+        app.textFields["ConversionTextField"].tap()
+        app.keys["1"].tap()
+        app.keys["0"].tap()
+        app.keys["0"].tap()
+        sleep(2)
+        
+        // Tap done to dismiss keyboard
+        app.navigationBars.buttons.element(boundBy: 1).tap()
+        
+        // Go back
+        app.navigationBars.buttons.element(boundBy: 0).tap()
+        sleep(1)
+        
+        // Delete row from favorites
+        xagToCad.swipeLeft()
+        xagToCad.buttons.firstMatch.tap()
+    }
+    
+    func testUSEnglish() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(en-US)"]
+        app.launchArguments += ["-AppleLocale", "\"en-US\""]
+        recordInteraction(of: app)
+    }
+    
+    func testSpanish() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(es-ES)"]
+        app.launchArguments += ["-AppleLocale", "\"es-ES\""]
+        recordInteraction(of: app)
+    }
+    
+    func testGBEnglish() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(en-GB)"]
+        app.launchArguments += ["-AppleLocale", "\"en-GB\""]
+        recordInteraction(of: app)
+    }
+    
+    func testGerman() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(de-DE)"]
+        app.launchArguments += ["-AppleLocale", "\"de-DE\""]
+        recordInteraction(of: app)
+    }
+    
+    func testFrench() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(fr-FR)"]
+        app.launchArguments += ["-AppleLocale", "\"fr-FR\""]
+        recordInteraction(of: app)
+    }
+    
+    func testPortuguese() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(pt-PT)"]
+        app.launchArguments += ["-AppleLocale", "\"pt-PT\""]
+        recordInteraction(of: app)
+    }
+    
+    func testDutch() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(nl-NL)"]
+        app.launchArguments += ["-AppleLocale", "\"nl-NL\""]
+        recordInteraction(of: app)
+    }
+    
+    func testItalian() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(it-IT)"]
+        app.launchArguments += ["-AppleLocale", "\"it-IT\""]
+        recordInteraction(of: app)
+    }
+    
+    func testRussian() throws {
+        let app = XCUIApplication()
+        app.launchArguments += ["-AppleLanguages", "(ru-RU)"]
+        app.launchArguments += ["-AppleLocale", "\"ru-RU\""]
+        recordInteraction(of: app)
+    }
+}
--- a/SimoleonScreenshots/SimoleonScreenshots.swift	Tue Aug 17 22:14:58 2021 +0100
+++ b/SimoleonScreenshots/SimoleonScreenshots.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -18,10 +18,6 @@
             XCUIDevice.shared.orientation = .landscapeLeft
             screenshotEndingName = "-force_landscapeleft"
         }
-        
-        let app = XCUIApplication()
-        setupSnapshot(app)
-        app.launch()
 
         // In UI tests it is usually best to stop immediately when a failure occurs.
         continueAfterFailure = false
@@ -32,8 +28,12 @@
     }
 
     func testLaunchScreenshot() throws {
+        let app = XCUIApplication()
+        setupSnapshot(app)
+        app.launch()
+        
         if UIDevice.current.userInterfaceIdiom == .pad {
-            XCUIApplication().tables["Sidebar"].buttons["NavigateToConversion"].tap()
+            app.tables["Sidebar"].buttons["NavigateToConversion"].tap()
         }
         
         sleep(2)
@@ -41,30 +41,42 @@
     }
     
     func testConvertAmountScreenshot() throws {
+        let app = XCUIApplication()
+        setupSnapshot(app)
+        app.launch()
+        
         if UIDevice.current.userInterfaceIdiom == .pad {
-            XCUIApplication().tables["Sidebar"].buttons["NavigateToConversion"].tap()
+            app.tables["Sidebar"].buttons["NavigateToConversion"].tap()
         }
         
-        let conversionTextField = XCUIApplication().textFields["ConversionTextField"]
+        let conversionTextField = app.textFields["ConversionTextField"]
         conversionTextField.tap()
         conversionTextField.typeText("1030.15\n")
         snapshot("2Conversion\(screenshotEndingName)")
     }
     
     func testCurrencySelectorScreenshot() throws {
+        let app = XCUIApplication()
+        setupSnapshot(app)
+        app.launch()
+        
         if UIDevice.current.userInterfaceIdiom == .pad {
-            XCUIApplication().tables["Sidebar"].buttons["NavigateToConversion"].tap()
+            app.tables["Sidebar"].buttons["NavigateToConversion"].tap()
         }
         
-        XCUIApplication().scrollViews.buttons["OpenCurrencySelector"].tap()
+        app.scrollViews.buttons["OpenCurrencySelector"].tap()
         snapshot("3CurrencySelector\(screenshotEndingName)")
     }
     
     func testFavoriteScreenshot() throws {
+        let app = XCUIApplication()
+        setupSnapshot(app)
+        app.launch()
+        
         if UIDevice.current.userInterfaceIdiom == .pad {
-            XCUIApplication().tables["Sidebar"].buttons["NavigateToFavorites"].tap()
+            app.tables["Sidebar"].buttons["NavigateToFavorites"].tap()
         } else {
-            XCUIApplication().tabBars.buttons.element(boundBy: 1).tap()
+            app.tabBars.buttons.element(boundBy: 1).tap()
         }
         
         sleep(1)
--- a/SimoleonTests/SimoleonTests.swift	Tue Aug 17 22:14:58 2021 +0100
+++ b/SimoleonTests/SimoleonTests.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -2,7 +2,7 @@
 //  SimoleonTests.swift
 //  SimoleonTests
 //
-//  Created by Dennis Concepción Martín on 08/07/2021.
+//  Created by Dennis Concepción Martín on 27/8/21.
 //
 
 import XCTest
@@ -17,11 +17,49 @@
     override func tearDownWithError() throws {
         // Put teardown code here. This method is called after the invocation of each test method in the class.
     }
+    
+    func testGetAllCurrencies() throws {
+        // Create test cases
+        let testCases = [1: ["USD/GBP", "EUR/AED"], 2: ["USD/GBP", "USD/EUR"]]
+        let expectedResults = [1: ["USD", "EUR"], 2: ["USD"]]
+        
+        // Test
+        let currencySelector = CurrencySelector(currencyConversion: CurrencyConversion())
+        for testCaseNumber in testCases.keys {
+            print("Testing case: \(testCaseNumber)")
+            let mockData = testCases[testCaseNumber]!
+            let allCurrencies = currencySelector.get(currencyType: .all, from: mockData)
+            
+            // Assert
+            XCTAssertEqual(allCurrencies, expectedResults[testCaseNumber])
+        }
+    }
+    
+    func testGetCompatibleCurrencies() throws {
+        // Create test cases
+        let testCases = [1: ["USD/GBP", "EUR/AED"], 2: ["USD/GBP", "USD/EUR"], 3: ["EUR/AED"]]
+        let expectedResults = [1: ["GBP"], 2: ["GBP", "EUR"], 3: []]
+        
+        // Test
+        let currencySelector = CurrencySelector(currencyConversion: CurrencyConversion())
+        for testCaseNumber in testCases.keys {
+            print("Testing case: \(testCaseNumber)")
+            let mockData = testCases[testCaseNumber]!
+            let compatibleCurrencies =
+                currencySelector.get(
+                    currencyType: .compatible(with: currencySelector.currencyConversion.baseSymbol), from: mockData
+                )
+            
+            // Assert
+            XCTAssertEqual(compatibleCurrencies, expectedResults[testCaseNumber])
+        }
+    }
 
     func testPerformanceExample() throws {
         // This is an example of a performance test case.
-        self.measure {
+        measure {
             // Put the code you want to measure the time of here.
         }
     }
+
 }
--- a/SimoleonUITests/SimoleonUITests.swift	Tue Aug 17 22:14:58 2021 +0100
+++ b/SimoleonUITests/SimoleonUITests.swift	Tue Oct 12 16:17:35 2021 +0200
@@ -14,9 +14,6 @@
         if UIDevice.current.userInterfaceIdiom == .pad {
             XCUIDevice.shared.orientation = .landscapeLeft
         }
-        
-        let app = XCUIApplication()
-        app.launch()
 
         // In UI tests it is usually best to stop immediately when a failure occurs.
         continueAfterFailure = false
@@ -30,6 +27,8 @@
     
     func testTabBar() throws {
         let app = XCUIApplication()
+        app.launch()
+        
         if UIDevice.current.userInterfaceIdiom == .pad {
             app.tables["Sidebar"].buttons["NavigateToConversion"].tap()
             XCTAssertTrue(app.staticTexts["Convert"].exists)
@@ -54,6 +53,7 @@
     
     func testCurrencySelector() throws {
         let app = XCUIApplication()
+        app.launch()
         app.scrollViews.buttons["OpenCurrencySelector"].tap()
         
         let currencySearchBar = app.textFields["CurrencySearchBar"]
@@ -64,7 +64,7 @@
     
     func testCoreData() throws {
         let app = XCUIApplication()
-        app.scrollViews.buttons["AddToFavorites"].tap()
+        app.launch()
         
         if UIDevice.current.userInterfaceIdiom == .pad {
             app.tables["Sidebar"].buttons["NavigateToFavorites"].tap()
--- a/fastlane/SnapshotHelper.swift	Tue Aug 17 22:14:58 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +0,0 @@
-//
-//  SnapshotHelper.swift
-//  Example
-//
-//  Created by Felix Krause on 10/8/15.
-//
-
-// -----------------------------------------------------
-// IMPORTANT: When modifying this file, make sure to
-//            increment the version number at the very
-//            bottom of the file to notify users about
-//            the new SnapshotHelper.swift
-// -----------------------------------------------------
-
-import Foundation
-import XCTest
-
-var deviceLanguage = ""
-var locale = ""
-
-func setupSnapshot(_ app: XCUIApplication, waitForAnimations: Bool = true) {
-    Snapshot.setupSnapshot(app, waitForAnimations: waitForAnimations)
-}
-
-func snapshot(_ name: String, waitForLoadingIndicator: Bool) {
-    if waitForLoadingIndicator {
-        Snapshot.snapshot(name)
-    } else {
-        Snapshot.snapshot(name, timeWaitingForIdle: 0)
-    }
-}
-
-/// - Parameters:
-///   - name: The name of the snapshot
-///   - timeout: Amount of seconds to wait until the network loading indicator disappears. Pass `0` if you don't want to wait.
-func snapshot(_ name: String, timeWaitingForIdle timeout: TimeInterval = 20) {
-    Snapshot.snapshot(name, timeWaitingForIdle: timeout)
-}
-
-enum SnapshotError: Error, CustomDebugStringConvertible {
-    case cannotFindSimulatorHomeDirectory
-    case cannotRunOnPhysicalDevice
-
-    var debugDescription: String {
-        switch self {
-        case .cannotFindSimulatorHomeDirectory:
-            return "Couldn't find simulator home location. Please, check SIMULATOR_HOST_HOME env variable."
-        case .cannotRunOnPhysicalDevice:
-            return "Can't use Snapshot on a physical device."
-        }
-    }
-}
-
-@objcMembers
-open class Snapshot: NSObject {
-    static var app: XCUIApplication?
-    static var waitForAnimations = true
-    static var cacheDirectory: URL?
-    static var screenshotsDirectory: URL? {
-        return cacheDirectory?.appendingPathComponent("screenshots", isDirectory: true)
-    }
-
-    open class func setupSnapshot(_ app: XCUIApplication, waitForAnimations: Bool = true) {
-
-        Snapshot.app = app
-        Snapshot.waitForAnimations = waitForAnimations
-
-        do {
-            let cacheDir = try getCacheDirectory()
-            Snapshot.cacheDirectory = cacheDir
-            setLanguage(app)
-            setLocale(app)
-            setLaunchArguments(app)
-        } catch let error {
-            NSLog(error.localizedDescription)
-        }
-    }
-
-    class func setLanguage(_ app: XCUIApplication) {
-        guard let cacheDirectory = self.cacheDirectory else {
-            NSLog("CacheDirectory is not set - probably running on a physical device?")
-            return
-        }
-
-        let path = cacheDirectory.appendingPathComponent("language.txt")
-
-        do {
-            let trimCharacterSet = CharacterSet.whitespacesAndNewlines
-            deviceLanguage = try String(contentsOf: path, encoding: .utf8).trimmingCharacters(in: trimCharacterSet)
-            app.launchArguments += ["-AppleLanguages", "(\(deviceLanguage))"]
-        } catch {
-            NSLog("Couldn't detect/set language...")
-        }
-    }
-
-    class func setLocale(_ app: XCUIApplication) {
-        guard let cacheDirectory = self.cacheDirectory else {
-            NSLog("CacheDirectory is not set - probably running on a physical device?")
-            return
-        }
-
-        let path = cacheDirectory.appendingPathComponent("locale.txt")
-
-        do {
-            let trimCharacterSet = CharacterSet.whitespacesAndNewlines
-            locale = try String(contentsOf: path, encoding: .utf8).trimmingCharacters(in: trimCharacterSet)
-        } catch {
-            NSLog("Couldn't detect/set locale...")
-        }
-
-        if locale.isEmpty && !deviceLanguage.isEmpty {
-            locale = Locale(identifier: deviceLanguage).identifier
-        }
-
-        if !locale.isEmpty {
-            app.launchArguments += ["-AppleLocale", "\"\(locale)\""]
-        }
-    }
-
-    class func setLaunchArguments(_ app: XCUIApplication) {
-        guard let cacheDirectory = self.cacheDirectory else {
-            NSLog("CacheDirectory is not set - probably running on a physical device?")
-            return
-        }
-
-        let path = cacheDirectory.appendingPathComponent("snapshot-launch_arguments.txt")
-        app.launchArguments += ["-FASTLANE_SNAPSHOT", "YES", "-ui_testing"]
-
-        do {
-            let launchArguments = try String(contentsOf: path, encoding: String.Encoding.utf8)
-            let regex = try NSRegularExpression(pattern: "(\\\".+?\\\"|\\S+)", options: [])
-            let matches = regex.matches(in: launchArguments, options: [], range: NSRange(location: 0, length: launchArguments.count))
-            let results = matches.map { result -> String in
-                (launchArguments as NSString).substring(with: result.range)
-            }
-            app.launchArguments += results
-        } catch {
-            NSLog("Couldn't detect/set launch_arguments...")
-        }
-    }
-
-    open class func snapshot(_ name: String, timeWaitingForIdle timeout: TimeInterval = 20) {
-        if timeout > 0 {
-            waitForLoadingIndicatorToDisappear(within: timeout)
-        }
-
-        NSLog("snapshot: \(name)") // more information about this, check out https://docs.fastlane.tools/actions/snapshot/#how-does-it-work
-
-        if Snapshot.waitForAnimations {
-            sleep(1) // Waiting for the animation to be finished (kind of)
-        }
-
-        #if os(OSX)
-            guard let app = self.app else {
-                NSLog("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
-                return
-            }
-
-            app.typeKey(XCUIKeyboardKeySecondaryFn, modifierFlags: [])
-        #else
-
-            guard self.app != nil else {
-                NSLog("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
-                return
-            }
-
-            let screenshot = XCUIScreen.main.screenshot()
-            #if os(iOS)
-            let image = XCUIDevice.shared.orientation.isLandscape ?  fixLandscapeOrientation(image: screenshot.image) : screenshot.image
-            #else
-            let image = screenshot.image
-            #endif
-
-            guard var simulator = ProcessInfo().environment["SIMULATOR_DEVICE_NAME"], let screenshotsDir = screenshotsDirectory else { return }
-
-            do {
-                // The simulator name contains "Clone X of " inside the screenshot file when running parallelized UI Tests on concurrent devices
-                let regex = try NSRegularExpression(pattern: "Clone [0-9]+ of ")
-                let range = NSRange(location: 0, length: simulator.count)
-                simulator = regex.stringByReplacingMatches(in: simulator, range: range, withTemplate: "")
-
-                let path = screenshotsDir.appendingPathComponent("\(simulator)-\(name).png")
-                #if swift(<5.0)
-                    UIImagePNGRepresentation(image)?.write(to: path, options: .atomic)
-                #else
-                    try image.pngData()?.write(to: path, options: .atomic)
-                #endif
-            } catch let error {
-                NSLog("Problem writing screenshot: \(name) to \(screenshotsDir)/\(simulator)-\(name).png")
-                NSLog(error.localizedDescription)
-            }
-        #endif
-    }
-
-    class func fixLandscapeOrientation(image: UIImage) -> UIImage {
-        #if os(watchOS)
-            return image
-        #else
-            if #available(iOS 10.0, *) {
-                let format = UIGraphicsImageRendererFormat()
-                format.scale = image.scale
-                let renderer = UIGraphicsImageRenderer(size: image.size, format: format)
-                return renderer.image { context in
-                    image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
-                }
-            } else {
-                return image
-            }
-        #endif
-    }
-
-    class func waitForLoadingIndicatorToDisappear(within timeout: TimeInterval) {
-        #if os(tvOS)
-            return
-        #endif
-
-        guard let app = self.app else {
-            NSLog("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
-            return
-        }
-
-        let networkLoadingIndicator = app.otherElements.deviceStatusBars.networkLoadingIndicators.element
-        let networkLoadingIndicatorDisappeared = XCTNSPredicateExpectation(predicate: NSPredicate(format: "exists == false"), object: networkLoadingIndicator)
-        _ = XCTWaiter.wait(for: [networkLoadingIndicatorDisappeared], timeout: timeout)
-    }
-
-    class func getCacheDirectory() throws -> URL {
-        let cachePath = "Library/Caches/tools.fastlane"
-        // on OSX config is stored in /Users/<username>/Library
-        // and on iOS/tvOS/WatchOS it's in simulator's home dir
-        #if os(OSX)
-            let homeDir = URL(fileURLWithPath: NSHomeDirectory())
-            return homeDir.appendingPathComponent(cachePath)
-        #elseif arch(i386) || arch(x86_64) || arch(arm64)
-            guard let simulatorHostHome = ProcessInfo().environment["SIMULATOR_HOST_HOME"] else {
-                throw SnapshotError.cannotFindSimulatorHomeDirectory
-            }
-            let homeDir = URL(fileURLWithPath: simulatorHostHome)
-            return homeDir.appendingPathComponent(cachePath)
-        #else
-            throw SnapshotError.cannotRunOnPhysicalDevice
-        #endif
-    }
-}
-
-private extension XCUIElementAttributes {
-    var isNetworkLoadingIndicator: Bool {
-        if hasAllowListedIdentifier { return false }
-
-        let hasOldLoadingIndicatorSize = frame.size == CGSize(width: 10, height: 20)
-        let hasNewLoadingIndicatorSize = frame.size.width.isBetween(46, and: 47) && frame.size.height.isBetween(2, and: 3)
-
-        return hasOldLoadingIndicatorSize || hasNewLoadingIndicatorSize
-    }
-
-    var hasAllowListedIdentifier: Bool {
-        let allowListedIdentifiers = ["GeofenceLocationTrackingOn", "StandardLocationTrackingOn"]
-
-        return allowListedIdentifiers.contains(identifier)
-    }
-
-    func isStatusBar(_ deviceWidth: CGFloat) -> Bool {
-        if elementType == .statusBar { return true }
-        guard frame.origin == .zero else { return false }
-
-        let oldStatusBarSize = CGSize(width: deviceWidth, height: 20)
-        let newStatusBarSize = CGSize(width: deviceWidth, height: 44)
-
-        return [oldStatusBarSize, newStatusBarSize].contains(frame.size)
-    }
-}
-
-private extension XCUIElementQuery {
-    var networkLoadingIndicators: XCUIElementQuery {
-        let isNetworkLoadingIndicator = NSPredicate { (evaluatedObject, _) in
-            guard let element = evaluatedObject as? XCUIElementAttributes else { return false }
-
-            return element.isNetworkLoadingIndicator
-        }
-
-        return self.containing(isNetworkLoadingIndicator)
-    }
-
-    var deviceStatusBars: XCUIElementQuery {
-        guard let app = Snapshot.app else {
-            fatalError("XCUIApplication is not set. Please call setupSnapshot(app) before snapshot().")
-        }
-
-        let deviceWidth = app.windows.firstMatch.frame.width
-
-        let isStatusBar = NSPredicate { (evaluatedObject, _) in
-            guard let element = evaluatedObject as? XCUIElementAttributes else { return false }
-
-            return element.isStatusBar(deviceWidth)
-        }
-
-        return self.containing(isStatusBar)
-    }
-}
-
-private extension CGFloat {
-    func isBetween(_ numberA: CGFloat, and numberB: CGFloat) -> Bool {
-        return numberA...numberB ~= self
-    }
-}
-
-// Please don't remove the lines below
-// They are used to detect outdated configuration files
-// SnapshotHelperVersion [1.27]
--- a/fastlane/metadata/de-DE/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/de-DE/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon wird auf all Ihren Geräten synchronisiert.
 - Schnelle und einfache Schnittstelle.
 
-Datenschutzbestimmungen: https://dennistech.io/simoleon-privacy-policy
-Nutzungsbedingungen: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Datenschutzbestimmungen: https://dennistech.io/apps/simoleon/privacy
+Nutzungsbedingungen: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/de-DE/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/de-DE/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/de-DE/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/de-DE/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/en-GB/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/en-GB/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon is synchronised across all your devices.
 - Fast and simple interface.
 
-Privacy policy: https://dennistech.io/simoleon-privacy-policy
-Terms of use: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Privacy policy: https://dennistech.io/apps/simoleon/privacy
+Terms of use: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/en-GB/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/en-GB/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/en-GB/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/en-GB/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/en-US/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/en-US/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon is synchronised across all your devices.
 - Fast and simple interface.
 
-Privacy policy: https://dennistech.io/simoleon-privacy-policy
-Terms of use: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Privacy policy: https://dennistech.io/apps/simoleon/privacy
+Terms of use: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/en-US/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/en-US/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/en-US/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/en-US/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/es-ES/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/es-ES/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon se sincroniza con todos tus dispositivos.
 - Interfaz rápida y sencilla.
 
-Política de privacidad: https://dennistech.io/simoleon-privacy-policy
-Términos de uso: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Política de privacidad: https://dennistech.io/apps/simoleon/privacy
+Términos de uso: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/es-ES/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/es-ES/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/es-ES/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/es-ES/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/fr-FR/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/fr-FR/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon est synchronisé sur tous vos appareils.
 - Interface simple et rapide.
 
-Politique de confidentialité : https://dennistech.io/simoleon-privacy-policy
-Conditions d'utilisation : https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Politique de confidentialité: https://dennistech.io/apps/simoleon/privacy
+Conditions d'utilisation: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/fr-FR/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/fr-FR/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/fr-FR/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/fr-FR/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/it/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/it/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon è sincronizzato su tutti i tuoi dispositivi.
 - Interfaccia semplice e veloce.
 
-Informativa sulla privacy: https://dennistech.io/simoleon-privacy-policy
-Termini di utilizzo: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Informativa sulla privacy: https://dennistech.io/apps/simoleon/privacy
+Termini di utilizzo: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/it/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/it/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/it/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/it/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/nl-NL/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/nl-NL/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon wordt gesynchroniseerd op al uw apparaten.
 - Snelle en eenvoudige interface.
 
-Privacybeleid: https://dennistech.io/simoleon-privacy-policy
-Gebruiksvoorwaarden: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Privacybeleid: https://dennistech.io/apps/simoleon/privacy
+Gebruiksvoorwaarden: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/nl-NL/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/nl-NL/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/nl-NL/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/nl-NL/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/pt-PT/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/pt-PT/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - O Simoleon está sincronizado em todos os seus dispositivos.
 - Interface rápida e simples.
 
-Política de privacidade: https://dennistech.io/simoleon-privacy-policy
-Termos de utilização: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Política de privacidade: https://dennistech.io/apps/simoleon/privacy
+Termos de utilização: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/pt-PT/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/pt-PT/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/pt-PT/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/pt-PT/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file
--- a/fastlane/metadata/ru/description.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/ru/description.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -6,5 +6,5 @@
 - Simoleon синхронизируется на всех ваших устройствах.
 - Быстрый и простой интерфейс.
 
-Политика конфиденциальности: https://dennistech.io/simoleon-privacy-policy
-Условия использования: https://dennistech.io/simoleon-terms-of-use
\ No newline at end of file
+Политика конфиденциальности: https://dennistech.io/apps/simoleon/privacy
+Условия использования: https://dennistech.io/apps/simoleon/terms
\ No newline at end of file
--- a/fastlane/metadata/ru/privacy_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/ru/privacy_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/simoleon-privacy-policy
\ No newline at end of file
+https://dennistech.io/apps/simoleon/privacy
\ No newline at end of file
--- a/fastlane/metadata/ru/support_url.txt	Tue Aug 17 22:14:58 2021 +0100
+++ b/fastlane/metadata/ru/support_url.txt	Tue Oct 12 16:17:35 2021 +0200
@@ -1,1 +1,1 @@
-https://dennistech.io/contact
\ No newline at end of file
+https://dennistech.io/
\ No newline at end of file