diff --git a/Modules/CryptoLib/Package.swift b/Modules/CryptoLib/Package.swift index 9eb2adc8..f5725925 100644 --- a/Modules/CryptoLib/Package.swift +++ b/Modules/CryptoLib/Package.swift @@ -17,6 +17,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/filom/ASN1Decoder", exact: .init(1, 10, 0)), + .package(url: "https://github.com/leif-ibsen/BigInt.git", exact: .init(1, 23, 0)), .package(url: "https://github.com/hmlongco/Factory", exact: .init(2, 5, 3)), .package(path: "../ConfigLib"), .package(path: "../CommonsLib"), @@ -76,6 +77,7 @@ let package = Package( "ConfigLib", "UtilsLib", "ASN1Decoder", + "BigInt", .product(name: "FactoryKit", package: "Factory") ], path: "Sources/CryptoSwift", diff --git a/Modules/CryptoLib/Sources/CryptoSwift/Card/SmartToken.swift b/Modules/CryptoLib/Sources/CryptoSwift/Card/SmartToken.swift index 95f7cbfc..6c22bb12 100644 --- a/Modules/CryptoLib/Sources/CryptoSwift/Card/SmartToken.swift +++ b/Modules/CryptoLib/Sources/CryptoSwift/Card/SmartToken.swift @@ -18,10 +18,10 @@ */ import Foundation -import IdCardLib +import nfclib import CryptoObjCWrapper -public class SmartToken: AbstractSmartToken { +public class SmartToken: AbstractSmartToken, @unchecked Sendable { let pin1: SecureData let card: CardCommands diff --git a/Modules/CryptoLib/Sources/CryptoSwift/CryptoContainer.swift b/Modules/CryptoLib/Sources/CryptoSwift/CryptoContainer.swift index 60bed90f..cfb6ae58 100644 --- a/Modules/CryptoLib/Sources/CryptoSwift/CryptoContainer.swift +++ b/Modules/CryptoLib/Sources/CryptoSwift/CryptoContainer.swift @@ -21,7 +21,7 @@ import Foundation import FactoryKit import CryptoObjC import CryptoObjCWrapper -import IdCardLib +import nfclib import CommonsLib import UtilsLib diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/Info.plist b/Modules/IdCardLib/Frameworks/nfclib.xcframework/Info.plist similarity index 66% rename from Modules/IdCardLib/Sources/bR301/bR301.xcframework/Info.plist rename to Modules/IdCardLib/Frameworks/nfclib.xcframework/Info.plist index 633e140d..f37d72b7 100644 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/Info.plist +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/Info.plist @@ -6,40 +6,34 @@ BinaryPath - libiRockey301_ccid-iphoneos.a - HeadersPath - Headers + nfclib.framework/nfclib LibraryIdentifier - ios-arm64_arm64e + ios-arm64_x86_64-simulator LibraryPath - libiRockey301_ccid-iphoneos.a + nfclib.framework SupportedArchitectures arm64 - arm64e + x86_64 SupportedPlatform ios + SupportedPlatformVariant + simulator BinaryPath - libiRockey301_ccid-iphonesimulator.a - HeadersPath - Headers + nfclib.framework/nfclib LibraryIdentifier - ios-arm64_arm64e_x86_64-simulator + ios-arm64 LibraryPath - libiRockey301_ccid-iphonesimulator.a + nfclib.framework SupportedArchitectures arm64 - arm64e - x86_64 SupportedPlatform ios - SupportedPlatformVariant - simulator CFBundlePackageType diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Headers/nfclib-Swift.h b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Headers/nfclib-Swift.h new file mode 100644 index 00000000..d254c54b --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Headers/nfclib-Swift.h @@ -0,0 +1,409 @@ +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +#ifndef NFCLIB_SWIFT_H +#define NFCLIB_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif // defined(__OBJC__) +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module" +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#pragma clang diagnostic pop +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef unsigned char char8_t; +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +# else +# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM_TAG) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM_TAG enum +# else +# define SWIFT_ENUM_TAG +# endif +#endif +#if !defined(SWIFT_ENUM_FWD_DECL) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type; +# else +# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name; +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_AVAILABILITY_DOMAIN) +# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if !__has_feature(nullability) +# define _Nonnull +# define _Nullable +# define _Null_unspecified +#elif !defined(__OBJC__) +# pragma clang diagnostic ignored "-Wnullability-extension" +#endif +#if !__has_feature(nullability_nullable_result) +# define _Nullable_result _Nullable +#endif +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="nfclib",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +#if defined(__cplusplus) +} // extern "C" +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import ObjectiveC; +#endif + +#endif // defined(__OBJC__) +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="nfclib",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) + +SWIFT_CLASS("_TtC6nfclib31OperationAuthenticateWithWebEID") +@interface OperationAuthenticateWithWebEID : NSObject +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +SWIFT_CLASS("_TtC6nfclib24OperationReadCertificate") +@interface OperationReadCertificate : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib23OperationReadPublicData") +@interface OperationReadPublicData : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib17OperationSignHash") +@interface OperationSignHash : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib19OperationUnblockPin") +@interface OperationUnblockPin : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +#endif // defined(__OBJC__) +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#else +#error unsupported Swift architecture +#endif diff --git a/Modules/IdCardLib/Sources/IdCardLib/IdCardLib.h b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Headers/nfclib.h similarity index 92% rename from Modules/IdCardLib/Sources/IdCardLib/IdCardLib.h rename to Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Headers/nfclib.h index b5d0f276..9ab9e1be 100644 --- a/Modules/IdCardLib/Sources/IdCardLib/IdCardLib.h +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Headers/nfclib.h @@ -1,5 +1,5 @@ /* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet + * Copyright 2017 - 2025 Riigi Infosüsteemi Amet * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -17,7 +17,7 @@ * */ -import +#import //! Project version number for nfc_lib. FOUNDATION_EXPORT double nfc_libVersionNumber; diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Info.plist b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Info.plist new file mode 100644 index 00000000..6417b9e9 Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Info.plist differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/module.modulemap b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/module.modulemap new file mode 100644 index 00000000..22ab0953 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/module.modulemap @@ -0,0 +1,10 @@ +framework module nfclib { + umbrella header "nfclib.h" + export * + + module * { export * } +} + +module nfclib.Swift { + header "nfclib-Swift.h" +} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo new file mode 100644 index 00000000..b0b00da9 Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.abi.json b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.abi.json new file mode 100644 index 00000000..08a76752 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.abi.json @@ -0,0 +1,15555 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "nfclib", + "printedName": "nfclib", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoKit", + "printedName": "CryptoKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "OperationSignHash", + "printedName": "OperationSignHash", + "children": [ + { + "kind": "Function", + "name": "startSigning", + "printedName": "startSigning(CAN:PIN2:hash:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC12startSigning3CAN4PIN24hash10Foundation4DataVSS_AA06SecureK0CAJtYaKF", + "mangledName": "$s6nfclib17OperationSignHashC12startSigning3CAN4PIN24hash10Foundation4DataVSS_AA06SecureK0CAJtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationSignHash", + "printedName": "nfclib.OperationSignHash", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash(im)init", + "mangledName": "$s6nfclib17OperationSignHashCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib17OperationSignHashC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib17OperationSignHashC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib17OperationSignHashC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash", + "mangledName": "$s6nfclib17OperationSignHashC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "WebEidData", + "printedName": "WebEidData", + "children": [ + { + "kind": "Var", + "name": "unverifiedCertificate", + "printedName": "unverifiedCertificate", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificateSSvp", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificateSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificateSSvg", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificateSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "signingCertificate", + "printedName": "signingCertificate", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC18signingCertificateSSvp", + "mangledName": "$s6nfclib10WebEidDataC18signingCertificateSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC18signingCertificateSSvg", + "mangledName": "$s6nfclib10WebEidDataC18signingCertificateSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "algorithm", + "printedName": "algorithm", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC9algorithmSSvp", + "mangledName": "$s6nfclib10WebEidDataC9algorithmSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC9algorithmSSvg", + "mangledName": "$s6nfclib10WebEidDataC9algorithmSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "signature", + "printedName": "signature", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC9signatureSSvp", + "mangledName": "$s6nfclib10WebEidDataC9signatureSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC9signatureSSvg", + "mangledName": "$s6nfclib10WebEidDataC9signatureSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(unverifiedCertificate:algorithm:signature:signingCertificate:)", + "children": [ + { + "kind": "TypeNominal", + "name": "WebEidData", + "printedName": "nfclib.WebEidData", + "usr": "s:6nfclib10WebEidDataC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificate9algorithm9signature07signingF0ACSS_S3Stcfc", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificate9algorithm9signature07signingF0ACSS_S3Stcfc", + "moduleName": "nfclib", + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "formattedDescription", + "printedName": "formattedDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC20formattedDescriptionSSvp", + "mangledName": "$s6nfclib10WebEidDataC20formattedDescriptionSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC20formattedDescriptionSSvg", + "mangledName": "$s6nfclib10WebEidDataC20formattedDescriptionSSvg", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:6nfclib10WebEidDataC", + "mangledName": "$s6nfclib10WebEidDataC", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Darwin", + "printedName": "Darwin", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "SecureData", + "printedName": "SecureData", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10SecureDataCyACSays5UInt8VGcfc", + "mangledName": "$s6nfclib10SecureDataCyACSays5UInt8VGcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10SecureDataCyAC10Foundation0C0Vcfc", + "mangledName": "$s6nfclib10SecureDataCyAC10Foundation0C0Vcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "withUnsafeBytes", + "printedName": "withUnsafeBytes(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UnsafeRawBufferPointer) throws -> τ_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "UnsafeRawBufferPointer", + "printedName": "Swift.UnsafeRawBufferPointer", + "usr": "s:SW" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC15withUnsafeBytesyxxSWKXEKlF", + "mangledName": "$s6nfclib10SecureDataC15withUnsafeBytesyxxSWKXEKlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "Final", + "Rethrows", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "withUnsafeMutableBytes", + "printedName": "withUnsafeMutableBytes(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UnsafeMutableRawBufferPointer) throws -> τ_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "UnsafeMutableRawBufferPointer", + "printedName": "Swift.UnsafeMutableRawBufferPointer", + "usr": "s:Sw" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC22withUnsafeMutableBytesyxxSwKXEKlF", + "mangledName": "$s6nfclib10SecureDataC22withUnsafeMutableBytesyxxSwKXEKlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "Final", + "Rethrows", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "count", + "printedName": "count", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10SecureDataC5countSivp", + "mangledName": "$s6nfclib10SecureDataC5countSivp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10SecureDataC5countSivg", + "mangledName": "$s6nfclib10SecureDataC5countSivg", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "secureZero", + "printedName": "secureZero()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC10secureZeroyyF", + "mangledName": "$s6nfclib10SecureDataC10secureZeroyyF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "asData", + "printedName": "asData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC02asC010Foundation0C0VyF", + "mangledName": "$s6nfclib10SecureDataC02asC010Foundation0C0VyF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib10SecureDataC", + "mangledName": "$s6nfclib10SecureDataC", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "rsaAlgorithmName", + "printedName": "rsaAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib16rsaAlgorithmNameSSvp", + "mangledName": "$s6nfclib16rsaAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib16rsaAlgorithmNameSSvg", + "mangledName": "$s6nfclib16rsaAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "ecAlgorithmName", + "printedName": "ecAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib15ecAlgorithmNameSSvp", + "mangledName": "$s6nfclib15ecAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib15ecAlgorithmNameSSvg", + "mangledName": "$s6nfclib15ecAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "unknownAlgorithmName", + "printedName": "unknownAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20unknownAlgorithmNameSSvp", + "mangledName": "$s6nfclib20unknownAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20unknownAlgorithmNameSSvg", + "mangledName": "$s6nfclib20unknownAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "convertBytesToX509Certificate", + "printedName": "convertBytesToX509Certificate(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecCertificate", + "printedName": "Security.SecCertificate", + "usr": "c:@T@SecCertificateRef" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib29convertBytesToX509CertificateySo03SecF3Refa10Foundation4DataVKF", + "mangledName": "$s6nfclib29convertBytesToX509CertificateySo03SecF3Refa10Foundation4DataVKF", + "moduleName": "nfclib", + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "CertificateConversionError", + "printedName": "CertificateConversionError", + "children": [ + { + "kind": "Var", + "name": "creationFailed", + "printedName": "creationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateConversionError.Type) -> nfclib.CertificateConversionError", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateConversionError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib26CertificateConversionErrorO14creationFailedyA2CmF", + "mangledName": "$s6nfclib26CertificateConversionErrorO14creationFailedyA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + }, + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib26CertificateConversionErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib26CertificateConversionErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib26CertificateConversionErrorO9hashValueSivp", + "mangledName": "$s6nfclib26CertificateConversionErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib26CertificateConversionErrorO9hashValueSivg", + "mangledName": "$s6nfclib26CertificateConversionErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib26CertificateConversionErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib26CertificateConversionErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib26CertificateConversionErrorO", + "mangledName": "$s6nfclib26CertificateConversionErrorO", + "moduleName": "nfclib", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "X509", + "printedName": "X509", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "AuthenticateWithWebEidError", + "printedName": "AuthenticateWithWebEidError", + "children": [ + { + "kind": "Var", + "name": "failedToReadPublicKey", + "printedName": "failedToReadPublicKey", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO21failedToReadPublicKeyyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO21failedToReadPublicKeyyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToDetermineAlgorithm", + "printedName": "failedToDetermineAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO26failedToDetermineAlgorithmyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO26failedToDetermineAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToHashData", + "printedName": "failedToHashData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO16failedToHashDatayA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO16failedToHashDatayA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToMapAlgorithm", + "printedName": "failedToMapAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO20failedToMapAlgorithmyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO20failedToMapAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedCertificateExpired", + "printedName": "failedCertificateExpired", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO24failedCertificateExpiredyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO24failedCertificateExpiredyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedCertificateNotYetValid", + "printedName": "failedCertificateNotYetValid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO28failedCertificateNotYetValidyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO28failedCertificateNotYetValidyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO9hashValueSivp", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO9hashValueSivg", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationAuthenticateWithWebEID", + "printedName": "OperationAuthenticateWithWebEID", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(CAN:pin1:challenge:origin:)", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationAuthenticateWithWebEID", + "printedName": "nfclib.OperationAuthenticateWithWebEID", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC3CAN4pin19challenge6originACSS_AA10SecureDataCS2Stcfc", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC3CAN4pin19challenge6originACSS_AA10SecureDataCS2Stcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading()", + "children": [ + { + "kind": "TypeNominal", + "name": "WebEidData", + "printedName": "nfclib.WebEidData", + "usr": "s:6nfclib10WebEidDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC12startReadingAA0E7EidDataCyYaKF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC12startReadingAA0E7EidDataCyYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationAuthenticateWithWebEID", + "printedName": "nfclib.OperationAuthenticateWithWebEID", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID(im)init", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_9didDetectySo06NFCTaghI0C_Say7CoreNFC0L0OGtF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_9didDetectySo06NFCTaghI0C_Say7CoreNFC0L0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getAlgorithmNameTypeAndLength", + "printedName": "getAlgorithmNameTypeAndLength(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(algorithm: Swift.String, keyLength: Swift.Int)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(algorithm: Swift.String, keyLength: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "SecKey", + "printedName": "Security.SecKey", + "usr": "c:@T@SecKeyRef" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC29getAlgorithmNameTypeAndLength4fromSS9algorithm_Si03keyL0tSgSo9SecKeyRefa_tF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC29getAlgorithmNameTypeAndLength4fromSS9algorithm_Si03keyL0tSgSo9SecKeyRefa_tF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC31tagReaderSessionDidBecomeActiveyySo06NFCTaghI0CF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC31tagReaderSessionDidBecomeActiveyySo06NFCTaghI0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_013didInvalidateD5ErrorySo06NFCTaghI0C_s0L0_ptF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_013didInvalidateD5ErrorySo06NFCTaghI0C_s0L0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "mapToAlgorithm", + "printedName": "mapToAlgorithm(algorithm:bitLength:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC14mapToAlgorithm9algorithm9bitLengthSSSgSS_SitF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC14mapToAlgorithm9algorithm9bitLengthSSSgSS_SitF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "SignatureAlgorithmInfo", + "printedName": "SignatureAlgorithmInfo", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4nameSSvp", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4nameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4nameSSvg", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4nameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bitSize", + "printedName": "bitSize", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib22SignatureAlgorithmInfoV7bitSizeSivp", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV7bitSizeSivp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV7bitSizeSivg", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV7bitSizeSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(name:bitSize:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SignatureAlgorithmInfo", + "printedName": "nfclib.SignatureAlgorithmInfo", + "usr": "s:6nfclib22SignatureAlgorithmInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4name7bitSizeACSS_Sitcfc", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4name7bitSizeACSS_Sitcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib22SignatureAlgorithmInfoV", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "OSLog", + "printedName": "OSLog", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "CardReaderNFC", + "printedName": "CardReaderNFC", + "children": [ + { + "kind": "TypeDecl", + "name": "PasswordType", + "printedName": "PasswordType", + "children": [ + { + "kind": "Var", + "name": "id_PasswordType_MRZ", + "printedName": "id_PasswordType_MRZ", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.PasswordType.Type) -> nfclib.CardReaderNFC.PasswordType", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.PasswordType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_MRZyA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_MRZyA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "id_PasswordType_CAN", + "printedName": "id_PasswordType_CAN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.PasswordType.Type) -> nfclib.CardReaderNFC.PasswordType", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.PasswordType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_CANyA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_CANyA2EmF", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "data", + "printedName": "data", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvp", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvg", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.PasswordType?", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValueAESgs5UInt8V_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValueAESgs5UInt8V_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvp", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvg", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "enumRawTypeName": "UInt8", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "MappingType", + "printedName": "MappingType", + "children": [ + { + "kind": "Var", + "name": "id_PACE_ECDH_GM_AES_CBC_CMAC_256", + "printedName": "id_PACE_ECDH_GM_AES_CBC_CMAC_256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.MappingType.Type) -> nfclib.CardReaderNFC.MappingType", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.MappingType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_GM_AES_CBC_CMAC_256yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_GM_AES_CBC_CMAC_256yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "id_PACE_ECDH_IM_AES_CBC_CMAC_256", + "printedName": "id_PACE_ECDH_IM_AES_CBC_CMAC_256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.MappingType.Type) -> nfclib.CardReaderNFC.MappingType", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.MappingType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_IM_AES_CBC_CMAC_256yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_IM_AES_CBC_CMAC_256yA2EmF", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "data", + "printedName": "data", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvp", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvp", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvg", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.MappingType?", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueAESgSS_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueAESgSS_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvp", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvg", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO", + "moduleName": "nfclib", + "enumRawTypeName": "String", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ParameterId", + "printedName": "ParameterId", + "children": [ + { + "kind": "Var", + "name": "EC256r1", + "printedName": "EC256r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC256r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC256r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "BP256r1", + "printedName": "BP256r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP256r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP256r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "EC384r1", + "printedName": "EC384r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC384r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC384r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 2 + }, + { + "kind": "Var", + "name": "BP384r1", + "printedName": "BP384r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP384r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP384r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 3 + }, + { + "kind": "Var", + "name": "BP512r1", + "printedName": "BP512r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP512r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP512r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 4 + }, + { + "kind": "Var", + "name": "EC521r1", + "printedName": "EC521r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC521r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC521r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 5 + }, + { + "kind": "Var", + "name": "domain", + "printedName": "domain", + "children": [ + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvp", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvp", + "moduleName": "nfclib", + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvg", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.ParameterId?", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValueAESgs5UInt8V_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValueAESgs5UInt8V_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvp", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvg", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "enumRawTypeName": "UInt8", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Var", + "name": "tag", + "printedName": "tag", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvp", + "mangledName": "$s6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvg", + "mangledName": "$s6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "ksEnc", + "printedName": "ksEnc", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ksMac", + "printedName": "ksMac", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 2, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "SSC", + "printedName": "SSC", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 3, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReaderNFC", + "printedName": "nfclib.CardReaderNFC", + "usr": "s:6nfclib13CardReaderNFCC" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC_3CANACSo13NFCISO7816Tag_p_SStYaKcfc", + "mangledName": "$s6nfclib13CardReaderNFCC_3CANACSo13NFCISO7816Tag_p_SStYaKcfc", + "moduleName": "nfclib", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "transmit", + "printedName": "transmit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(responseData: [Swift.UInt8], sw: Swift.UInt16)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13CardReaderNFCC8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "mangledName": "$s6nfclib13CardReaderNFCC8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "moduleName": "nfclib", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib13CardReaderNFCC", + "mangledName": "$s6nfclib13CardReaderNFCC", + "moduleName": "nfclib", + "isOpen": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardReader", + "printedName": "CardReader", + "usr": "s:6nfclib10CardReaderP", + "mangledName": "$s6nfclib10CardReaderP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "Idemia", + "printedName": "Idemia", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC12canChangePUKSbvp", + "mangledName": "$s6nfclib6IdemiaC12canChangePUKSbvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC12canChangePUKSbvg", + "mangledName": "$s6nfclib6IdemiaC12canChangePUKSbvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC6readerAA10CardReader_pvp", + "mangledName": "$s6nfclib6IdemiaC6readerAA10CardReader_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC6readerAA10CardReader_pvg", + "mangledName": "$s6nfclib6IdemiaC6readerAA10CardReader_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib6IdemiaC8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib6IdemiaC8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:atr:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6IdemiaC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:aid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6IdemiaC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:selectAID:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "mangledName": "$s6nfclib6IdemiaC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC14readPublicDataAA8CardInfoVyYaKF", + "mangledName": "$s6nfclib6IdemiaC14readPublicDataAA8CardInfoVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6IdemiaC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6IdemiaC24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "mangledName": "$s6nfclib6IdemiaC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6IdemiaC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib6IdemiaC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6IdemiaC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib6IdemiaC", + "mangledName": "$s6nfclib6IdemiaC", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "children": [ + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvp", + "mangledName": "$s6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvp", + "moduleName": "nfclib", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvg", + "mangledName": "$s6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20CardCommandsInternalP8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib20CardCommandsInternalP8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20CardCommandsInternalP8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib20CardCommandsInternalP8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "select", + "printedName": "select(p1Byte:p2Byte:file:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE6select6p1Byte02p2G04file10Foundation4DataVs5UInt8V_ALSayALGtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE6select6p1Byte02p2G04file10Foundation4DataVs5UInt8V_ALSayALGtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readFile", + "printedName": "readFile(p1Byte:file:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE8readFile6p1Byte4file10Foundation4DataVs5UInt8V_SayAKGtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE8readFile6p1Byte4file10Foundation4DataVs5UInt8V_SayAKGtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE10changeCode_2to06verifyF0ys5UInt8V_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE10changeCode_2to06verifyF0ys5UInt8V_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.SecureData?", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE11unblockCode_3puk03newF0ys5UInt8V_AA10SecureDataCSgAJtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE11unblockCode_3puk03newF0ys5UInt8V_AA10SecureDataCSgAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE10verifyCode_4codeys5UInt8V_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE10verifyCode_4codeys5UInt8V_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setSecEnv", + "printedName": "setSecEnv(mode:algo:keyRef:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.UInt8]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE9setSecEnv4mode4algo6keyRefys5UInt8V_SayAIGSgAItYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE9setSecEnv4mode4algo6keyRefys5UInt8V_SayAIGSgAItYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "ReadCertificateError", + "printedName": "ReadCertificateError", + "children": [ + { + "kind": "Var", + "name": "certificateUsageNotSpecified", + "printedName": "certificateUsageNotSpecified", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO28certificateUsageNotSpecifiedyA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO28certificateUsageNotSpecifiedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToReadCertificate", + "printedName": "failedToReadCertificate", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO08failedTobC0yA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO08failedTobC0yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "general", + "printedName": "general", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO7generalyA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO7generalyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20ReadCertificateErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib20ReadCertificateErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20ReadCertificateErrorO9hashValueSivp", + "mangledName": "$s6nfclib20ReadCertificateErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20ReadCertificateErrorO9hashValueSivg", + "mangledName": "$s6nfclib20ReadCertificateErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20ReadCertificateErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib20ReadCertificateErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib20ReadCertificateErrorO", + "mangledName": "$s6nfclib20ReadCertificateErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CertificateUsage", + "printedName": "CertificateUsage", + "children": [ + { + "kind": "Var", + "name": "auth", + "printedName": "auth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateUsage.Type) -> nfclib.CertificateUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateUsage.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib16CertificateUsageO4authyA2CmF", + "mangledName": "$s6nfclib16CertificateUsageO4authyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sign", + "printedName": "sign", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateUsage.Type) -> nfclib.CertificateUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateUsage.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib16CertificateUsageO4signyA2CmF", + "mangledName": "$s6nfclib16CertificateUsageO4signyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib16CertificateUsageO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib16CertificateUsageO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib16CertificateUsageO9hashValueSivp", + "mangledName": "$s6nfclib16CertificateUsageO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib16CertificateUsageO9hashValueSivg", + "mangledName": "$s6nfclib16CertificateUsageO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib16CertificateUsageO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib16CertificateUsageO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib16CertificateUsageO", + "mangledName": "$s6nfclib16CertificateUsageO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationReadCertificate", + "printedName": "OperationReadCertificate", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:certUsage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecCertificate", + "printedName": "Security.SecCertificate", + "usr": "c:@T@SecCertificateRef" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC12startReading3CAN9certUsageSo03SecD3RefaSS_AA0dI0OtYaKF", + "mangledName": "$s6nfclib24OperationReadCertificateC12startReading3CAN9certUsageSo03SecD3RefaSS_AA0dI0OtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationReadCertificate", + "printedName": "nfclib.OperationReadCertificate", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate(im)init", + "mangledName": "$s6nfclib24OperationReadCertificateCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib24OperationReadCertificateC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib24OperationReadCertificateC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib24OperationReadCertificateC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate", + "mangledName": "$s6nfclib24OperationReadCertificateC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "Thales", + "printedName": "Thales", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC12canChangePUKSbvp", + "mangledName": "$s6nfclib6ThalesC12canChangePUKSbvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC12canChangePUKSbvg", + "mangledName": "$s6nfclib6ThalesC12canChangePUKSbvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC6readerAA10CardReader_pvp", + "mangledName": "$s6nfclib6ThalesC6readerAA10CardReader_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC6readerAA10CardReader_pvg", + "mangledName": "$s6nfclib6ThalesC6readerAA10CardReader_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib6ThalesC8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib6ThalesC8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:atr:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtKcfc", + "mangledName": "$s6nfclib6ThalesC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtKcfc", + "moduleName": "nfclib", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:aid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6ThalesC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:selectAID:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "mangledName": "$s6nfclib6ThalesC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC14readPublicDataAA8CardInfoVyYaKF", + "mangledName": "$s6nfclib6ThalesC14readPublicDataAA8CardInfoVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6ThalesC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6ThalesC24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "mangledName": "$s6nfclib6ThalesC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6ThalesC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib6ThalesC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6ThalesC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "mangledName": "$s6nfclib6ThalesC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib6ThalesC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "mangledName": "$s6nfclib6ThalesC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib6ThalesC", + "mangledName": "$s6nfclib6ThalesC", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "OSLog", + "printedName": "OSLog", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "Preconcurrency" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "SendableISO7816Tag", + "printedName": "SendableISO7816Tag", + "children": [ + { + "kind": "Var", + "name": "tag", + "printedName": "tag", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Var", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvp", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "fixedbinaryorder": 0, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvg", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvs", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvs", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvM", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvM", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib18SendableISO7816TagV3tagACSo010NFCISO7816D0_p_tcfc", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagACSo010NFCISO7816D0_p_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "sendCommand", + "printedName": "sendCommand(cls:ins:p1Byte:p2Byte:data:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "hasDefaultArg": true, + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J04data02leJ010Foundation4DataVs5UInt8V_A3oMSitYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J04data02leJ010Foundation4DataVs5UInt8V_A3oMSitYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendCommand", + "printedName": "sendCommand(cls:ins:p1Byte:p2Byte:records:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CryptoTokenKit.TKTLVRecord]", + "children": [ + { + "kind": "TypeNominal", + "name": "TKTLVRecord", + "printedName": "CryptoTokenKit.TKTLVRecord", + "usr": "c:objc(cs)TKTLVRecord" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J07records02leJ010Foundation4DataVs5UInt8V_A3OSaySo11TKTLVRecordCGSitYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J07records02leJ010Foundation4DataVs5UInt8V_A3OSaySo11TKTLVRecordCGSitYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendPaceCommand", + "printedName": "sendPaceCommand(records:tagExpected:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CryptoTokenKit.TKTLVRecord]", + "children": [ + { + "kind": "TypeNominal", + "name": "TKTLVRecord", + "printedName": "CryptoTokenKit.TKTLVRecord", + "usr": "c:objc(cs)TKTLVRecord" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV15sendPaceCommand7records11tagExpectedSo14TKBERTLVRecordCSaySo11TKTLVRecordCG_s6UInt64VtYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV15sendPaceCommand7records11tagExpectedSo14TKBERTLVRecordCSaySo11TKTLVRecordCG_s6UInt64VtYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib18SendableISO7816TagV", + "mangledName": "$s6nfclib18SendableISO7816TagV", + "moduleName": "nfclib", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "UnblockPINError", + "printedName": "UnblockPINError", + "children": [ + { + "kind": "Var", + "name": "missingRequiredParameter", + "printedName": "missingRequiredParameter", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO24missingRequiredParameteryA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO24missingRequiredParameteryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO6failedyA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO6failedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "general", + "printedName": "general", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO7generalyA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO7generalyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib15UnblockPINErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib15UnblockPINErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib15UnblockPINErrorO9hashValueSivp", + "mangledName": "$s6nfclib15UnblockPINErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib15UnblockPINErrorO9hashValueSivg", + "mangledName": "$s6nfclib15UnblockPINErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib15UnblockPINErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib15UnblockPINErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib15UnblockPINErrorO", + "mangledName": "$s6nfclib15UnblockPINErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationUnblockPin", + "printedName": "OperationUnblockPin", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:codeType:puk:newPin:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC12startReading3CAN8codeType3puk03newD0ySS_AA04CodeI0OAA10SecureDataCALtYaKF", + "mangledName": "$s6nfclib19OperationUnblockPinC12startReading3CAN8codeType3puk03newD0ySS_AA04CodeI0OAA10SecureDataCALtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationUnblockPin", + "printedName": "nfclib.OperationUnblockPin", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin(im)init", + "mangledName": "$s6nfclib19OperationUnblockPinCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib19OperationUnblockPinC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib19OperationUnblockPinC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib19OperationUnblockPinC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin", + "mangledName": "$s6nfclib19OperationUnblockPinC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "Preconcurrency" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "NFCConnection", + "printedName": "NFCConnection", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCConnection", + "printedName": "nfclib.NFCConnection", + "usr": "s:6nfclib13NFCConnectionC" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13NFCConnectionCACycfc", + "mangledName": "$s6nfclib13NFCConnectionCACycfc", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "setup", + "printedName": "setup(_:tags:)", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13NFCConnectionC5setup_4tagsSo13NFCISO7816Tag_pSo19NFCTagReaderSessionC_Say7CoreNFC0G0OGtYaKF", + "mangledName": "$s6nfclib13NFCConnectionC5setup_4tagsSo13NFCISO7816Tag_pSo19NFCTagReaderSessionC_Say7CoreNFC0G0OGtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getCardCommands", + "printedName": "getCardCommands(_:tag:CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardCommands", + "printedName": "any nfclib.CardCommands", + "usr": "s:6nfclib12CardCommandsP" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13NFCConnectionC15getCardCommands_3tag3CANAA0dE0_pSo19NFCTagReaderSessionC_So13NFCISO7816Tag_pSStYaKF", + "mangledName": "$s6nfclib13NFCConnectionC15getCardCommands_3tag3CANAA0dE0_pSo19NFCTagReaderSessionC_So13NFCISO7816Tag_pSStYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib13NFCConnectionC", + "mangledName": "$s6nfclib13NFCConnectionC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ProgressBar", + "printedName": "ProgressBar", + "children": [ + { + "kind": "Var", + "name": "totalSteps", + "printedName": "totalSteps", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib11ProgressBarV10totalSteps33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "mangledName": "$s6nfclib11ProgressBarV10totalSteps33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Var", + "name": "currentStep", + "printedName": "currentStep", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib11ProgressBarV11currentStep33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "mangledName": "$s6nfclib11ProgressBarV11currentStep33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(currentStep:totalSteps:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ProgressBar", + "printedName": "nfclib.ProgressBar", + "usr": "s:6nfclib11ProgressBarV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib11ProgressBarV11currentStep10totalStepsACSi_Sitcfc", + "mangledName": "$s6nfclib11ProgressBarV11currentStep10totalStepsACSi_Sitcfc", + "moduleName": "nfclib", + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "generate", + "printedName": "generate()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib11ProgressBarV8generateSSyF", + "mangledName": "$s6nfclib11ProgressBarV8generateSSyF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib11ProgressBarV", + "mangledName": "$s6nfclib11ProgressBarV", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "AES", + "printedName": "AES", + "children": [ + { + "kind": "Var", + "name": "BlockSize", + "printedName": "BlockSize", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC9BlockSizeSivpZ", + "mangledName": "$s6nfclib3AESC9BlockSizeSivpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC9BlockSizeSivgZ", + "mangledName": "$s6nfclib3AESC9BlockSizeSivgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "Zero", + "printedName": "Zero", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4ZeroSays5UInt8VGvpZ", + "mangledName": "$s6nfclib3AESC4ZeroSays5UInt8VGvpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4ZeroSays5UInt8VGvgZ", + "mangledName": "$s6nfclib3AESC4ZeroSays5UInt8VGvgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CBC", + "printedName": "CBC", + "children": [ + { + "kind": "Var", + "name": "key", + "printedName": "key", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "any Foundation.ContiguousBytes & Foundation.DataProtocol" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC3CBCC3key33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "mangledName": "$s6nfclib3AESC3CBCC3key33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Var", + "name": "ivVal", + "printedName": "ivVal", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "any Foundation.ContiguousBytes & Foundation.DataProtocol" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC3CBCC5ivVal33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "mangledName": "$s6nfclib3AESC3CBCC5ivVal33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(key:ivVal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_1", + "hasDefaultArg": true + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESC3CBCC3key5ivValAEx_q_tc10Foundation15ContiguousBytesRzAH12DataProtocolRzAhIR_AhJR_r0_lufc", + "mangledName": "$s6nfclib3AESC3CBCC3key5ivValAEx_q_tc10Foundation15ContiguousBytesRzAH12DataProtocolRzAhIR_AhJR_r0_lufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0, τ_0_1 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol, τ_0_1 : Foundation.ContiguousBytes, τ_0_1 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encrypt", + "printedName": "encrypt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC3CBCC7encryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "mangledName": "$s6nfclib3AESC3CBCC7encryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decrypt", + "printedName": "decrypt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC3CBCC7decryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "mangledName": "$s6nfclib3AESC3CBCC7decryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC3CBCC", + "mangledName": "$s6nfclib3AESC3CBCC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CMAC", + "printedName": "CMAC", + "children": [ + { + "kind": "Var", + "name": "RBytes", + "printedName": "RBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC6RBytesSays5UInt8VGvpZ", + "mangledName": "$s6nfclib3AESC4CMACC6RBytesSays5UInt8VGvpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC6RBytesSays5UInt8VGvgZ", + "mangledName": "$s6nfclib3AESC4CMACC6RBytesSays5UInt8VGvgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cipher", + "printedName": "cipher", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC6cipherAC3CBCCvp", + "mangledName": "$s6nfclib3AESC4CMACC6cipherAC3CBCCvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC6cipherAC3CBCCvg", + "mangledName": "$s6nfclib3AESC4CMACC6cipherAC3CBCCvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "k1Bytes", + "printedName": "k1Bytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvp", + "mangledName": "$s6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvg", + "mangledName": "$s6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "k2Bytes", + "printedName": "k2Bytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvp", + "mangledName": "$s6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvg", + "mangledName": "$s6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(key:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CMAC", + "printedName": "nfclib.AES.CMAC", + "usr": "s:6nfclib3AESC4CMACC" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESC4CMACC3keyAEx_tKc10Foundation15ContiguousBytesRzAG12DataProtocolRzlufc", + "mangledName": "$s6nfclib3AESC4CMACC3keyAEx_tKc10Foundation15ContiguousBytesRzAG12DataProtocolRzlufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(bytes:count:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:s10ArraySliceV" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC4CMACC12authenticate5bytes5counts10ArraySliceVys5UInt8VGx_SitK10Foundation15ContiguousBytesRzAN12DataProtocolRzSi5IndexSlRtzlF", + "mangledName": "$s6nfclib3AESC4CMACC12authenticate5bytes5counts10ArraySliceVys5UInt8VGx_SitK10Foundation15ContiguousBytesRzAN12DataProtocolRzSi5IndexSlRtzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC4CMACC", + "mangledName": "$s6nfclib3AESC4CMACC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AES", + "printedName": "nfclib.AES", + "usr": "s:6nfclib3AESC" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESCACycfc", + "mangledName": "$s6nfclib3AESCACycfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC", + "mangledName": "$s6nfclib3AESC", + "moduleName": "nfclib", + "isOpen": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "HashLength", + "printedName": "HashLength", + "children": [ + { + "kind": "Var", + "name": "bits256", + "printedName": "bits256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits256yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits256yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "bits384", + "printedName": "bits384", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits384yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits384yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "bits512", + "printedName": "bits512", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits512yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits512yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 2 + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.HashLength?", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10HashLengthO8rawValueACSgSi_tcfc", + "mangledName": "$s6nfclib10HashLengthO8rawValueACSgSi_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10HashLengthO8rawValueSivp", + "mangledName": "$s6nfclib10HashLengthO8rawValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10HashLengthO8rawValueSivg", + "mangledName": "$s6nfclib10HashLengthO8rawValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib10HashLengthO", + "mangledName": "$s6nfclib10HashLengthO", + "moduleName": "nfclib", + "enumRawTypeName": "Int", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Function", + "name": "hashLengthFromInt", + "printedName": "hashLengthFromInt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.HashLength?", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17hashLengthFromIntyAA04HashC0OSgSiF", + "mangledName": "$s6nfclib17hashLengthFromIntyAA04HashC0OSgSiF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sha", + "printedName": "sha(hashLength:data:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3sha10hashLength4data10Foundation4DataVSgAA04HashD0O_AGtF", + "mangledName": "$s6nfclib3sha10hashLength4data10Foundation4DataVSgAA04HashD0O_AGtF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "IdCardError", + "printedName": "IdCardError", + "children": [ + { + "kind": "Var", + "name": "wrongCAN", + "printedName": "wrongCAN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO8wrongCANyA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO8wrongCANyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "wrongPIN", + "printedName": "wrongPIN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> (Swift.Int) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(triesLeft: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO8wrongPINyACSi_tcACmF", + "mangledName": "$s6nfclib11IdCardErrorO8wrongPINyACSi_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidNewPIN", + "printedName": "invalidNewPIN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO13invalidNewPINyA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO13invalidNewPINyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sessionError", + "printedName": "sessionError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO07sessionD0yA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO07sessionD0yA2CmF", + "moduleName": "nfclib" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib11IdCardErrorO", + "mangledName": "$s6nfclib11IdCardErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "IdCardInternalError", + "printedName": "IdCardInternalError", + "children": [ + { + "kind": "Var", + "name": "missingRESTag", + "printedName": "missingRESTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13missingRESTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13missingRESTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "missingMACTag", + "printedName": "missingMACTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13missingMACTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13missingMACTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidMACValue", + "printedName": "invalidMACValue", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15invalidMACValueyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15invalidMACValueyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedReadingField", + "printedName": "failedReadingField", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (nfclib.CardField) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO18failedReadingFieldyAcA0cH0OcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO18failedReadingFieldyAcA0cH0OcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "hexConversionFailed", + "printedName": "hexConversionFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO19hexConversionFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO19hexConversionFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "AESCBCError", + "printedName": "AESCBCError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO11AESCBCErroryA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO11AESCBCErroryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sendCommandFailed", + "printedName": "sendCommandFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO17sendCommandFailedyACSS_tcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO17sendCommandFailedyACSS_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidResponse", + "printedName": "invalidResponse", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15invalidResponseyACSS_tcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15invalidResponseyACSS_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "swError", + "printedName": "swError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.UInt16) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt16) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO02swE0yACs6UInt16VcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO02swE0yACs6UInt16VcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pinVerificationFailed", + "printedName": "pinVerificationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21pinVerificationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21pinVerificationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "remainingPinRetryCount", + "printedName": "remainingPinRetryCount", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.Int) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO22remainingPinRetryCountyACSicACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO22remainingPinRetryCountyACSicACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidNewPin", + "printedName": "invalidNewPin", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13invalidNewPinyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13invalidNewPinyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "notSupportedCodeType", + "printedName": "notSupportedCodeType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20notSupportedCodeTypeyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20notSupportedCodeTypeyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dataPaddingError", + "printedName": "dataPaddingError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO011dataPaddingE0yA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO011dataPaddingE0yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidAPDU", + "printedName": "invalidAPDU", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO11invalidAPDUyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO11invalidAPDUyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "authenticationFailed", + "printedName": "authenticationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20authenticationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20authenticationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "canAuthenticationFailed", + "printedName": "canAuthenticationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO23canAuthenticationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO23canAuthenticationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidTag", + "printedName": "invalidTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO10invalidTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO10invalidTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "cardNotSupported", + "printedName": "cardNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO16cardNotSupportedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO16cardNotSupportedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "nfcNotSupported", + "printedName": "nfcNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15nfcNotSupportedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15nfcNotSupportedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "connectionFailed", + "printedName": "connectionFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO16connectionFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO16connectionFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "multipleTagsDetected", + "printedName": "multipleTagsDetected", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20multipleTagsDetectedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20multipleTagsDetectedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "couldNotVerifyChipsMAC", + "printedName": "couldNotVerifyChipsMAC", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO22couldNotVerifyChipsMACyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO22couldNotVerifyChipsMACyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "cancelledByUser", + "printedName": "cancelledByUser", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15cancelledByUseryA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15cancelledByUseryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sessionInvalidated", + "printedName": "sessionInvalidated", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO18sessionInvalidatedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO18sessionInvalidatedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "readerProcessFailed", + "printedName": "readerProcessFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO19readerProcessFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO19readerProcessFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToRemovePadding", + "printedName": "failedToRemovePadding", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21failedToRemovePaddingyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21failedToRemovePaddingyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "notSupportedAlgorithm", + "printedName": "notSupportedAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21notSupportedAlgorithmyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21notSupportedAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "getIdCardError", + "printedName": "getIdCardError()", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19IdCardInternalErrorO03getbcE0AA0bcE0OyF", + "mangledName": "$s6nfclib19IdCardInternalErrorO03getbcE0AA0bcE0OyF", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib19IdCardInternalErrorO", + "mangledName": "$s6nfclib19IdCardInternalErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "PinError", + "printedName": "PinError", + "children": [ + { + "kind": "Var", + "name": "msg", + "printedName": "msg", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8PinErrorV3msgSSvp", + "mangledName": "$s6nfclib8PinErrorV3msgSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8PinErrorV3msgSSvg", + "mangledName": "$s6nfclib8PinErrorV3msgSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "remainingCount", + "printedName": "remainingCount", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8PinErrorV14remainingCountSivp", + "mangledName": "$s6nfclib8PinErrorV14remainingCountSivp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8PinErrorV14remainingCountSivg", + "mangledName": "$s6nfclib8PinErrorV14remainingCountSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(msg:remainingCount:)", + "children": [ + { + "kind": "TypeNominal", + "name": "PinError", + "printedName": "nfclib.PinError", + "usr": "s:6nfclib8PinErrorV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8PinErrorV3msg14remainingCountACSS_Sitcfc", + "mangledName": "$s6nfclib8PinErrorV3msg14remainingCountACSS_Sitcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib8PinErrorV", + "mangledName": "$s6nfclib8PinErrorV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardInfo", + "printedName": "CardInfo", + "children": [ + { + "kind": "Var", + "name": "givenName", + "printedName": "givenName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV9givenNameSSvp", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvg", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvs", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvM", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "surname", + "printedName": "surname", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV7surnameSSvp", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvg", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvs", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvM", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "personalCode", + "printedName": "personalCode", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvp", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvg", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvs", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvM", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "citizenship", + "printedName": "citizenship", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvp", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvg", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvs", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvM", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "documentNumber", + "printedName": "documentNumber", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvp", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvg", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvs", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvM", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "dateOfExpiry", + "printedName": "dateOfExpiry", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvp", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvg", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvs", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvM", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(givenName:surname:personalCode:citizenship:documentNumber:dateOfExpiry:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8CardInfoV9givenName7surname12personalCode11citizenship14documentNumber12dateOfExpiryACSS_S5Stcfc", + "mangledName": "$s6nfclib8CardInfoV9givenName7surname12personalCode11citizenship14documentNumber12dateOfExpiryACSS_S5Stcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "formattedDescription", + "printedName": "formattedDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV20formattedDescriptionSSvp", + "mangledName": "$s6nfclib8CardInfoV20formattedDescriptionSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV20formattedDescriptionSSvg", + "mangledName": "$s6nfclib8CardInfoV20formattedDescriptionSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV9hashValueSivp", + "mangledName": "$s6nfclib8CardInfoV9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9hashValueSivg", + "mangledName": "$s6nfclib8CardInfoV9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib8CardInfoV4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib8CardInfoV4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib8CardInfoV2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib8CardInfoV2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib8CardInfoV", + "mangledName": "$s6nfclib8CardInfoV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardField", + "printedName": "CardField", + "children": [ + { + "kind": "Var", + "name": "surname", + "printedName": "surname", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO7surnameyA2CmF", + "mangledName": "$s6nfclib9CardFieldO7surnameyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "firstName", + "printedName": "firstName", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO9firstNameyA2CmF", + "mangledName": "$s6nfclib9CardFieldO9firstNameyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sex", + "printedName": "sex", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO3sexyA2CmF", + "mangledName": "$s6nfclib9CardFieldO3sexyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "citizenship", + "printedName": "citizenship", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO11citizenshipyA2CmF", + "mangledName": "$s6nfclib9CardFieldO11citizenshipyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dateAndPlaceOfBirth", + "printedName": "dateAndPlaceOfBirth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO19dateAndPlaceOfBirthyA2CmF", + "mangledName": "$s6nfclib9CardFieldO19dateAndPlaceOfBirthyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "personalCode", + "printedName": "personalCode", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO12personalCodeyA2CmF", + "mangledName": "$s6nfclib9CardFieldO12personalCodeyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "documentNr", + "printedName": "documentNr", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO10documentNryA2CmF", + "mangledName": "$s6nfclib9CardFieldO10documentNryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dateOfExpiry", + "printedName": "dateOfExpiry", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO12dateOfExpiryyA2CmF", + "mangledName": "$s6nfclib9CardFieldO12dateOfExpiryyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardField?", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib9CardFieldO8rawValueACSgSi_tcfc", + "mangledName": "$s6nfclib9CardFieldO8rawValueACSgSi_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib9CardFieldO8rawValueSivp", + "mangledName": "$s6nfclib9CardFieldO8rawValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib9CardFieldO8rawValueSivg", + "mangledName": "$s6nfclib9CardFieldO8rawValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib9CardFieldO", + "mangledName": "$s6nfclib9CardFieldO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "OperationReadPublicData", + "printedName": "OperationReadPublicData", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC12startReading3CANAA8CardInfoVSS_tYaKF", + "mangledName": "$s6nfclib23OperationReadPublicDataC12startReading3CANAA8CardInfoVSS_tYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationReadPublicData", + "printedName": "nfclib.OperationReadPublicData", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData(im)init", + "mangledName": "$s6nfclib23OperationReadPublicDataCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC16tagReaderSession_9didDetectySo06NFCTaggH0C_Say7CoreNFC0K0OGtF", + "mangledName": "$s6nfclib23OperationReadPublicDataC16tagReaderSession_9didDetectySo06NFCTaggH0C_Say7CoreNFC0K0OGtF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC31tagReaderSessionDidBecomeActiveyySo06NFCTaggH0CF", + "mangledName": "$s6nfclib23OperationReadPublicDataC31tagReaderSessionDidBecomeActiveyySo06NFCTaggH0CF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC16tagReaderSession_22didInvalidateWithErrorySo06NFCTaggH0C_s0L0_ptF", + "mangledName": "$s6nfclib23OperationReadPublicDataC16tagReaderSession_22didInvalidateWithErrorySo06NFCTaggH0C_s0L0_ptF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData", + "mangledName": "$s6nfclib23OperationReadPublicDataC", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "Final", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CardReader", + "printedName": "CardReader", + "children": [ + { + "kind": "Function", + "name": "transmit", + "printedName": "transmit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(responseData: [Swift.UInt8], sw: Swift.UInt16)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10CardReaderP8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "mangledName": "$s6nfclib10CardReaderP8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardReader>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendAPDU", + "printedName": "sendAPDU(cls:ins:p1Byte:p2Byte:data:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any Swift.Collection)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Collection", + "printedName": "any Swift.Collection", + "usr": "s:Sl" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt8?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10CardReaderPAAE8sendAPDU3cls3ins6p1Byte02p2I04data02leI010Foundation4DataVs5UInt8V_A3OSl_pAO7ElementRts_XPSgAOSgtYaKF", + "mangledName": "$s6nfclib10CardReaderPAAE8sendAPDU3cls3ins6p1Byte02p2I04data02leI010Foundation4DataVs5UInt8V_A3OSl_pAO7ElementRts_XPSgAOSgtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardReader>", + "sugared_genericSig": "", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib10CardReaderP", + "mangledName": "$s6nfclib10CardReaderP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CodeType", + "printedName": "CodeType", + "children": [ + { + "kind": "Var", + "name": "puk", + "printedName": "puk", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO3pukyA2CmF", + "mangledName": "$s6nfclib8CodeTypeO3pukyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pin1", + "printedName": "pin1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO4pin1yA2CmF", + "mangledName": "$s6nfclib8CodeTypeO4pin1yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pin2", + "printedName": "pin2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO4pin2yA2CmF", + "mangledName": "$s6nfclib8CodeTypeO4pin2yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CodeTypeO4nameSSvp", + "mangledName": "$s6nfclib8CodeTypeO4nameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CodeTypeO4nameSSvg", + "mangledName": "$s6nfclib8CodeTypeO4nameSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CodeType?", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8CodeTypeO8rawValueACSgSu_tcfc", + "mangledName": "$s6nfclib8CodeTypeO8rawValueACSgSu_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CodeTypeO8rawValueSuvp", + "mangledName": "$s6nfclib8CodeTypeO8rawValueSuvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CodeTypeO8rawValueSuvg", + "mangledName": "$s6nfclib8CodeTypeO8rawValueSuvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib8CodeTypeO", + "mangledName": "$s6nfclib8CodeTypeO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "UInt", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardCommands", + "printedName": "CardCommands", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib12CardCommandsP12canChangePUKSbvp", + "mangledName": "$s6nfclib12CardCommandsP12canChangePUKSbvp", + "moduleName": "nfclib", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib12CardCommandsP12canChangePUKSbvg", + "mangledName": "$s6nfclib12CardCommandsP12canChangePUKSbvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP14readPublicDataAA0B4InfoVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP14readPublicDataAA0B4InfoVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0E4TypeOYaKF", + "mangledName": "$s6nfclib12CardCommandsP24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0E4TypeOYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP10changeCode_2to06verifyE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib12CardCommandsP10changeCode_2to06verifyE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP10verifyCode_4codeyAA0E4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib12CardCommandsP10verifyCode_4codeyAA0E4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP11unblockCode_3puk03newE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib12CardCommandsP11unblockCode_3puk03newE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP12authenticate3for8withPin110Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP12authenticate3for8withPin110Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureJ0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureJ0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP11decryptData_8withPin110Foundation0E0VAH_AA06SecureE0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP11decryptData_8withPin110Foundation0E0VAH_AA06SecureE0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "TKBERTLVRecord", + "printedName": "TKBERTLVRecord", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:bytes:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Constructor", + "usr": "s:So14TKBERTLVRecordC6nfclibE3tag5bytesABs6UInt64V_xtc10Foundation12DataProtocolRzlufc", + "mangledName": "$sSo14TKBERTLVRecordC6nfclibE3tag5bytesABs6UInt64V_xtc10Foundation12DataProtocolRzlufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:publicKey:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "ECPublicKey", + "printedName": "SwiftECC.ECPublicKey", + "usr": "s:8SwiftECC11ECPublicKeyC" + } + ], + "declKind": "Constructor", + "usr": "s:So14TKBERTLVRecordC6nfclibE3tag9publicKeyABs6UInt64V_8SwiftECC08ECPublicE0CtKcfc", + "mangledName": "$sSo14TKBERTLVRecordC6nfclibE3tag9publicKeyABs6UInt64V_8SwiftECC08ECPublicE0CtKcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Convenience" + } + ], + "declKind": "Class", + "usr": "c:objc(cs)TKBERTLVRecord", + "moduleName": "CryptoTokenKit", + "isOpen": true, + "intro_iOS": "10.0", + "objc_name": "TKBERTLVRecord", + "declAttributes": [ + "Available", + "ObjC", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)TKTLVRecord", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "CryptoTokenKit.TKTLVRecord", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "Var", + "name": "hex", + "printedName": "hex", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10Foundation12DataProtocolP6nfclibE3hexSSvp", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE3hexSSvp", + "moduleName": "nfclib", + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10Foundation12DataProtocolP6nfclibE3hexSSvg", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE3hexSSvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "chunked", + "printedName": "chunked(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0.SubSequence]", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibE7chunked4intoSay11SubSequenceQzGSi_tF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE7chunked4intoSay11SubSequenceQzGSi_tF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "removePadding", + "printedName": "removePadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibE13removePadding11SubSequenceQzyKF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE13removePadding11SubSequenceQzyKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "toHex", + "printedName": "toHex", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvp", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvp", + "moduleName": "nfclib", + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvg", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "chunked", + "printedName": "chunked(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0.SubSequence]", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE7chunked4intoSay11SubSequenceQzGSi_tF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE7chunked4intoSay11SubSequenceQzGSi_tF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "removePadding", + "printedName": "removePadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE13removePadding11SubSequenceQzyKF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE13removePadding11SubSequenceQzyKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(hex:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "τ_0_0?", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE3hexxSgSS_tcfc", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE3hexxSgSS_tcfc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "addPadding", + "printedName": "addPadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE10addPaddingxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE10addPaddingxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "^", + "printedName": "^(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_xtFZ", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_xtFZ", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "^", + "printedName": "^(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_1_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_qd__tSlRd__s5UInt8V7ElementRtd__lFZ", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_qd__tSlRd__s5UInt8V7ElementRtd__lFZ", + "moduleName": "nfclib", + "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_1_0 : Swift.Collection, τ_0_0.Index == Swift.Int, τ_1_0.Element == Swift.UInt8>", + "sugared_genericSig": "", + "static": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "increment", + "printedName": "increment()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE9incrementxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE9incrementxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "declAttributes": [ + "Mutating" + ], + "isFromExtension": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "leftShiftOneBit", + "printedName": "leftShiftOneBit()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE15leftShiftOneBitxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE15leftShiftOneBitxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP", + "moduleName": "Foundation", + "genericSig": "<τ_0_0 : Swift.RandomAccessCollection, τ_0_0.Element == Swift.UInt8, τ_0_0.Regions : Swift.BidirectionalCollection, τ_0_0.SubSequence : Foundation.DataProtocol, τ_0_0.Regions.Element : Foundation.ContiguousBytes, τ_0_0.Regions.Element : Foundation.DataProtocol, τ_0_0.Regions.Element.SubSequence : Foundation.ContiguousBytes>", + "sugared_genericSig": "", + "intro_Macosx": "10.10", + "intro_iOS": "8.0", + "intro_tvOS": "9.0", + "intro_watchOS": "2.0", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "usr": "s:ST", + "mangledName": "$sST" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt16", + "printedName": "UInt16", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:s6UInt16V6nfclibEyABs5UInt8V_AEtcfc", + "mangledName": "$ss6UInt16V6nfclibEyABs5UInt8V_AEtcfc", + "moduleName": "nfclib", + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:s6UInt16V", + "mangledName": "$ss6UInt16V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt16.Words", + "usr": "s:s6UInt16V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt16.SIMD2Storage", + "usr": "s:s6UInt16V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt16.SIMD4Storage", + "usr": "s:s6UInt16V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt16.SIMD8Storage", + "usr": "s:s6UInt16V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt16.SIMD16Storage", + "usr": "s:s6UInt16V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt16.SIMD32Storage", + "usr": "s:s6UInt16V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt16.SIMD64Storage", + "usr": "s:s6UInt16V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "_StringElement", + "printedName": "_StringElement", + "usr": "s:s14_StringElementP", + "mangledName": "$ss14_StringElementP" + }, + { + "kind": "Conformance", + "name": "ASN1IntegerRepresentable", + "printedName": "ASN1IntegerRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerBytes", + "printedName": "IntegerBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "IntegerBytesCollection", + "printedName": "SwiftASN1.IntegerBytesCollection", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "usr": "s:9SwiftASN122IntegerBytesCollectionV" + } + ] + } + ], + "usr": "s:9SwiftASN10B20IntegerRepresentableP", + "mangledName": "$s9SwiftASN10B20IntegerRepresentableP" + }, + { + "kind": "Conformance", + "name": "BERImplicitlyTaggable", + "printedName": "BERImplicitlyTaggable", + "usr": "s:9SwiftASN121BERImplicitlyTaggableP", + "mangledName": "$s9SwiftASN121BERImplicitlyTaggableP" + }, + { + "kind": "Conformance", + "name": "BERParseable", + "printedName": "BERParseable", + "usr": "s:9SwiftASN112BERParseableP", + "mangledName": "$s9SwiftASN112BERParseableP" + }, + { + "kind": "Conformance", + "name": "BERSerializable", + "printedName": "BERSerializable", + "usr": "s:9SwiftASN115BERSerializableP", + "mangledName": "$s9SwiftASN115BERSerializableP" + }, + { + "kind": "Conformance", + "name": "DERImplicitlyTaggable", + "printedName": "DERImplicitlyTaggable", + "usr": "s:9SwiftASN121DERImplicitlyTaggableP", + "mangledName": "$s9SwiftASN121DERImplicitlyTaggableP" + }, + { + "kind": "Conformance", + "name": "DERParseable", + "printedName": "DERParseable", + "usr": "s:9SwiftASN112DERParseableP", + "mangledName": "$s9SwiftASN112DERParseableP" + }, + { + "kind": "Conformance", + "name": "DERSerializable", + "printedName": "DERSerializable", + "usr": "s:9SwiftASN115DERSerializableP", + "mangledName": "$s9SwiftASN115DERSerializableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NFCTagReaderSession", + "printedName": "NFCTagReaderSession", + "declKind": "Class", + "usr": "c:objc(cs)NFCTagReaderSession", + "moduleName": "CoreNFC", + "isOpen": true, + "intro_iOS": "13.0", + "objc_name": "NFCTagReaderSession", + "declAttributes": [ + "Available", + "ObjC", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NFCReaderSession", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "CoreNFC.NFCReaderSession", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NFCTag", + "printedName": "NFCTag", + "declKind": "Enum", + "usr": "s:7CoreNFC6NFCTagO", + "mangledName": "$s7CoreNFC6NFCTagO", + "moduleName": "CoreNFC", + "intro_iOS": "13.0", + "declAttributes": [ + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ECPublicKey", + "printedName": "ECPublicKey", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(domain:point:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SwiftECC.ECPublicKey?", + "children": [ + { + "kind": "TypeNominal", + "name": "ECPublicKey", + "printedName": "SwiftECC.ECPublicKey", + "usr": "s:8SwiftECC11ECPublicKeyC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Constructor", + "usr": "s:8SwiftECC11ECPublicKeyC6nfclibE6domain5pointACSgAA6DomainC_10Foundation4DataVtKcfc", + "mangledName": "$s8SwiftECC11ECPublicKeyC6nfclibE6domain5pointACSgAA6DomainC_10Foundation4DataVtKcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "x963Representation", + "printedName": "x963Representation()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:8SwiftECC11ECPublicKeyC6nfclibE18x963RepresentationSays5UInt8VGyKF", + "mangledName": "$s8SwiftECC11ECPublicKeyC6nfclibE18x963RepresentationSays5UInt8VGyKF", + "moduleName": "nfclib", + "isOpen": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:8SwiftECC11ECPublicKeyC", + "mangledName": "$s8SwiftECC11ECPublicKeyC", + "moduleName": "SwiftECC", + "isOpen": true, + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Array", + "printedName": "Array", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(hex:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:Sa6nfclibs5UInt8VRszlE3hexSayACGSS_tcfc", + "mangledName": "$sSa6nfclibs5UInt8VRszlE3hexSayACGSS_tcfc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 == Swift.UInt8>", + "sugared_genericSig": "", + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:Sa", + "mangledName": "$sSa", + "moduleName": "Swift", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "EagerMove", + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "ContiguousBytes", + "printedName": "ContiguousBytes", + "usr": "s:10Foundation15ContiguousBytesP", + "mangledName": "$s10Foundation15ContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "Regions", + "printedName": "Regions", + "children": [ + { + "kind": "TypeNominal", + "name": "CollectionOfOne", + "printedName": "Swift.CollectionOfOne<[Swift.UInt8]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s15CollectionOfOneV" + } + ] + } + ], + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP" + }, + { + "kind": "Conformance", + "name": "DecodableWithConfiguration", + "printedName": "DecodableWithConfiguration", + "children": [ + { + "kind": "TypeWitness", + "name": "DecodingConfiguration", + "printedName": "DecodingConfiguration", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.DecodingConfiguration" + } + ] + } + ], + "usr": "s:10Foundation26DecodableWithConfigurationP", + "mangledName": "$s10Foundation26DecodableWithConfigurationP" + }, + { + "kind": "Conformance", + "name": "EncodableWithConfiguration", + "printedName": "EncodableWithConfiguration", + "children": [ + { + "kind": "TypeWitness", + "name": "EncodingConfiguration", + "printedName": "EncodingConfiguration", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.EncodingConfiguration" + } + ] + } + ], + "usr": "s:10Foundation26EncodableWithConfigurationP", + "mangledName": "$s10Foundation26EncodableWithConfigurationP" + }, + { + "kind": "Conformance", + "name": "MutableDataProtocol", + "printedName": "MutableDataProtocol", + "usr": "s:10Foundation19MutableDataProtocolP", + "mangledName": "$s10Foundation19MutableDataProtocolP" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexingIterator", + "printedName": "Swift.IndexingIterator<[τ_0_0]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s16IndexingIteratorV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "MutableCollection", + "printedName": "MutableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + } + ], + "usr": "s:SM", + "mangledName": "$sSM" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "RangeReplaceableCollection", + "printedName": "RangeReplaceableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + } + ], + "usr": "s:Sm", + "mangledName": "$sSm" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexingIterator", + "printedName": "Swift.IndexingIterator<[τ_0_0]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s16IndexingIteratorV" + } + ] + } + ], + "usr": "s:ST", + "mangledName": "$sST" + }, + { + "kind": "Conformance", + "name": "_ArrayProtocol", + "printedName": "_ArrayProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "_Buffer", + "printedName": "_Buffer", + "children": [ + { + "kind": "TypeNominal", + "name": "_ArrayBuffer", + "printedName": "Swift._ArrayBuffer<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s12_ArrayBufferV" + } + ] + } + ], + "usr": "s:s14_ArrayProtocolP", + "mangledName": "$ss14_ArrayProtocolP" + }, + { + "kind": "Conformance", + "name": "_DestructorSafeContainer", + "printedName": "_DestructorSafeContainer", + "usr": "s:s24_DestructorSafeContainerP", + "mangledName": "$ss24_DestructorSafeContainerP" + }, + { + "kind": "Conformance", + "name": "_HasContiguousBytes", + "printedName": "_HasContiguousBytes", + "usr": "s:s19_HasContiguousBytesP", + "mangledName": "$ss19_HasContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSArray", + "printedName": "Foundation.NSArray", + "usr": "c:objc(cs)NSArray" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "StringLiteral", + "offset": 1066, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "Array", + "offset": 1114, + "length": 6, + "value": "[0x00]" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "StringLiteral", + "offset": 1193, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 927, + "length": 5, + "value": "\"RSA\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 962, + "length": 4, + "value": "\"EC\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 1001, + "length": 9, + "value": "\"Unknown\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1019, + "length": 27, + "value": "\"ee.ria.digidoc.RIADigiDoc\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1058, + "length": 15, + "value": "\"CardReaderNFC\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1182, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1245, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1562, + "length": 22, + "value": "\"04007f00070202040204\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1660, + "length": 22, + "value": "\"04007f00070202040404\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1942, + "length": 2, + "value": "12" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1968, + "length": 2, + "value": "13" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1994, + "length": 2, + "value": "15" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2020, + "length": 2, + "value": "16" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2046, + "length": 2, + "value": "17" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2072, + "length": 2, + "value": "18" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 852, + "length": 67, + "value": "\"3B DB 96 00 80 B1 FE 45 1F 83 00 12 23 3F 53 65 49 44 0F 90 00 F1\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 952, + "length": 70, + "value": "\"3B DC 96 00 80 B1 FE 45 1F 83 00 12 23 3F 54 65 49 44 32 0F 90 00 C3\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1054, + "length": 49, + "value": "\"A0 00 00 00 77 01 08 00 07 00 00 FE 00 00 01 00\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1139, + "length": 49, + "value": "\"51 53 43 44 20 41 70 70 6C 69 63 61 74 69 6F 6E\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1228, + "length": 40, + "value": "\"E8 28 BD 08 0F F2 50 4F 54 20 41 57 50\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1299, + "length": 4, + "value": "0x81" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1333, + "length": 4, + "value": "0x9F" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "BooleanLiteral", + "offset": 1774, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1832, + "length": 4, + "value": "0xFF" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommandsInternal.swift", + "kind": "IntegerLiteral", + "offset": 1216, + "length": 4, + "value": "0x04" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommandsInternal.swift", + "kind": "IntegerLiteral", + "offset": 1238, + "length": 4, + "value": "0x0C" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadCertificate.swift", + "kind": "StringLiteral", + "offset": 1489, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadCertificate.swift", + "kind": "StringLiteral", + "offset": 1574, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1103, + "length": 76, + "value": "\"3B FF 96 00 00 80 31 FE 43 80 31 B8 53 65 49 44 64 B0 85 05 10 12 23 3F 1D\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1222, + "length": 37, + "value": "\"A0 00 00 00 63 50 4B 43 53 2D 31 35\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1308, + "length": 49, + "value": "\"A0 00 00 00 18 10 02 03 00 00 00 00 00 00 00 01\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1399, + "length": 4, + "value": "0x01" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1444, + "length": 4, + "value": "0x05" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "BooleanLiteral", + "offset": 1479, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1538, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Extensions\/NFCISO7816Tag+Extensions.swift", + "kind": "IntegerLiteral", + "offset": 1169, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Extensions\/NFCISO7816Tag+Extensions.swift", + "kind": "IntegerLiteral", + "offset": 2281, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationUnblockPin.swift", + "kind": "StringLiteral", + "offset": 1174, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationUnblockPin.swift", + "kind": "StringLiteral", + "offset": 1319, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/ProgressBar.swift", + "kind": "IntegerLiteral", + "offset": 936, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "IntegerLiteral", + "offset": 1026, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "Array", + "offset": 2744, + "length": 298, + "value": "[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87]" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "IntegerLiteral", + "offset": 3562, + "length": 1, + "value": "8" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 885, + "length": 3, + "value": "256" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 908, + "length": 3, + "value": "384" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 931, + "length": 3, + "value": "512" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1104, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1134, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1169, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1203, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1240, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1275, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1858, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1870, + "length": 9, + "value": "2" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1890, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1904, + "length": 11, + "value": "4" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1926, + "length": 19, + "value": "5" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1956, + "length": 12, + "value": "6" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 10, + "value": "7" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 2000, + "length": 12, + "value": "8" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadPublicData.swift", + "kind": "StringLiteral", + "offset": 1061, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadPublicData.swift", + "kind": "StringLiteral", + "offset": 1101, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 2950, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 2984, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 3006, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 877, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 895, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 913, + "length": 1, + "value": "2" + } + ] +} \ No newline at end of file diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.private.swiftinterface b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.private.swiftinterface new file mode 100644 index 00000000..23df92da --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -0,0 +1,229 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -Onone -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name nfclib +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2 +import BigInt +import CommonCrypto +@preconcurrency import CoreNFC +import CryptoKit +import CryptoTokenKit +import Darwin +import Foundation +import OSLog +import Security +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_exported import nfclib +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationSignHash : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startSigning(CAN: Swift.String, PIN2: nfclib.SecureData, hash: Foundation.Data) async throws -> Foundation.Data + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationSignHash : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_hasMissingDesignatedInitializers final public class WebEidData : Swift.Sendable { + final public let unverifiedCertificate: Swift.String + final public let signingCertificate: Swift.String + final public let algorithm: Swift.String + final public let signature: Swift.String + final public var formattedDescription: Swift.String { + get + } + @objc deinit +} +final public class SecureData : Swift.Sendable { + public init(_ bytes: [Swift.UInt8]) + public init(_ data: Foundation.Data) + @objc deinit + final public var count: Swift.Int { + get + } + final public func secureZero() +} +public let rsaAlgorithmName: Swift.String +public let ecAlgorithmName: Swift.String +public let unknownAlgorithmName: Swift.String +public enum AuthenticateWithWebEidError : Swift.Error { + case failedToReadPublicKey + case failedToDetermineAlgorithm + case failedToHashData + case failedToMapAlgorithm + case failedCertificateExpired + case failedCertificateNotYetValid + public static func == (a: nfclib.AuthenticateWithWebEidError, b: nfclib.AuthenticateWithWebEidError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_Concurrency.MainActor public class OperationAuthenticateWithWebEID : ObjectiveC.NSObject { + @_Concurrency.MainActor public init(CAN: Swift.String, pin1: nfclib.SecureData, challenge: Swift.String, origin: Swift.String) + @_Concurrency.MainActor public func startReading() async throws -> nfclib.WebEidData + @objc deinit +} +extension nfclib.OperationAuthenticateWithWebEID : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func getAlgorithmNameTypeAndLength(from key: Security.SecKey) -> (algorithm: Swift.String, keyLength: Swift.Int)? + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) + @_Concurrency.MainActor public func mapToAlgorithm(algorithm: Swift.String, bitLength: Swift.Int) -> Swift.String? +} +public struct SignatureAlgorithmInfo { +} +public enum ReadCertificateError : Swift.Error { + case certificateUsageNotSpecified + case failedToReadCertificate + case general + public static func == (a: nfclib.ReadCertificateError, b: nfclib.ReadCertificateError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CertificateUsage { + case auth + case sign + public static func == (a: nfclib.CertificateUsage, b: nfclib.CertificateUsage) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension CoreNFC.NFCTagReaderSession : @unchecked @retroactive Swift.Sendable { +} +extension CoreNFC.NFCTag : @unchecked @retroactive Swift.Sendable { +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationReadCertificate : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, certUsage: nfclib.CertificateUsage) async throws -> Security.SecCertificate + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadCertificate : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum UnblockPINError : Swift.Error { + case missingRequiredParameter + case failed + case general + public static func == (a: nfclib.UnblockPINError, b: nfclib.UnblockPINError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationUnblockPin : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, codeType: nfclib.CodeType, puk: nfclib.SecureData, newPin: nfclib.SecureData) async throws + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationUnblockPin : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_Concurrency.MainActor public class NFCConnection { + @_Concurrency.MainActor public init() + @_Concurrency.MainActor public func setup(_ session: CoreNFC.NFCTagReaderSession, tags: [CoreNFC.NFCTag]) async throws -> any CoreNFC.NFCISO7816Tag + @_Concurrency.MainActor public func getCardCommands(_: CoreNFC.NFCTagReaderSession, tag: any CoreNFC.NFCISO7816Tag, CAN: Swift.String) async throws -> any nfclib.CardCommands + @objc deinit +} +public enum IdCardError : Swift.Error { + case wrongCAN, wrongPIN(triesLeft: Swift.Int), invalidNewPIN, sessionError +} +public enum IdCardInternalError : Swift.Error { + case missingRESTag, missingMACTag, invalidMACValue, failedReadingField(nfclib.CardField), hexConversionFailed, AESCBCError, sendCommandFailed(message: Swift.String), invalidResponse(message: Swift.String), swError(Swift.UInt16), pinVerificationFailed, remainingPinRetryCount(Swift.Int), invalidNewPin, notSupportedCodeType, dataPaddingError, invalidAPDU, authenticationFailed, canAuthenticationFailed, invalidTag, cardNotSupported, nfcNotSupported, connectionFailed, multipleTagsDetected, couldNotVerifyChipsMAC, cancelledByUser, sessionInvalidated, readerProcessFailed, failedToRemovePadding, notSupportedAlgorithm + public func getIdCardError() -> nfclib.IdCardError +} +public struct PinError : Swift.Error { +} +public struct CardInfo : Swift.Sendable, Swift.Hashable { + public var givenName: Swift.String + public var surname: Swift.String + public var personalCode: Swift.String + public var citizenship: Swift.String + public var documentNumber: Swift.String + public var dateOfExpiry: Swift.String + public init(givenName: Swift.String = "", surname: Swift.String = "", personalCode: Swift.String = "", citizenship: Swift.String = "", documentNumber: Swift.String = "", dateOfExpiry: Swift.String = "") + public var formattedDescription: Swift.String { + get + } + public static func == (a: nfclib.CardInfo, b: nfclib.CardInfo) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CardField : Swift.Int, Swift.Sendable { + case surname, firstName, sex, citizenship, dateAndPlaceOfBirth, personalCode, documentNr, dateOfExpiry + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor final public class OperationReadPublicData : ObjectiveC.NSObject { + @_Concurrency.MainActor final public func startReading(CAN: Swift.String) async throws -> nfclib.CardInfo + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadPublicData : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor final public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor final public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor final public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum CodeType : Swift.UInt, Swift.Sendable { + case puk + case pin1 + case pin2 + public var name: Swift.String { + get + } + public init?(rawValue: Swift.UInt) + public typealias RawValue = Swift.UInt + public var rawValue: Swift.UInt { + get + } +} +public protocol CardCommands : Swift.Sendable { + var canChangePUK: Swift.Bool { get } + func readPublicData() async throws -> nfclib.CardInfo + func readAuthenticationCertificate() async throws -> Foundation.Data + func readSignatureCertificate() async throws -> Foundation.Data + func readCodeTryCounterRecord(_ type: nfclib.CodeType) async throws -> (retryCount: Swift.UInt8, pinActive: Swift.Bool) + func changeCode(_ type: nfclib.CodeType, to code: nfclib.SecureData, verifyCode: nfclib.SecureData) async throws + func verifyCode(_ type: nfclib.CodeType, code: nfclib.SecureData) async throws + func unblockCode(_ type: nfclib.CodeType, puk: nfclib.SecureData, newCode: nfclib.SecureData) async throws + func authenticate(for hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data + func calculateSignature(for hash: Foundation.Data, withPin2 pin2: nfclib.SecureData) async throws -> Foundation.Data + func decryptData(_ hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data +} +extension Foundation.DataProtocol where Self : Foundation.MutableDataProtocol, Self.Index == Swift.Int { + public static func ^ (xVal: Self, yVal: Self) -> Self +} +extension nfclib.OperationSignHash : Swift.Sendable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Equatable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Hashable {} +extension nfclib.OperationAuthenticateWithWebEID : Swift.Sendable {} +extension nfclib.CodeType : Swift.Equatable {} +extension nfclib.CodeType : Swift.Hashable {} +extension nfclib.CodeType : Swift.RawRepresentable {} +extension nfclib.ReadCertificateError : Swift.Equatable {} +extension nfclib.ReadCertificateError : Swift.Hashable {} +extension nfclib.CertificateUsage : Swift.Equatable {} +extension nfclib.CertificateUsage : Swift.Hashable {} +extension nfclib.OperationReadCertificate : Swift.Sendable {} +extension nfclib.UnblockPINError : Swift.Equatable {} +extension nfclib.UnblockPINError : Swift.Hashable {} +extension nfclib.OperationUnblockPin : Swift.Sendable {} +extension nfclib.NFCConnection : Swift.Sendable {} +extension nfclib.CardField : Swift.Equatable {} +extension nfclib.CardField : Swift.Hashable {} +extension nfclib.CardField : Swift.RawRepresentable {} +extension nfclib.OperationReadPublicData : Swift.Sendable {} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.swiftdoc b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.swiftdoc new file mode 100644 index 00000000..90cfa130 Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.swiftdoc differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.swiftinterface b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.swiftinterface new file mode 100644 index 00000000..23df92da --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios.swiftinterface @@ -0,0 +1,229 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -Onone -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name nfclib +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2 +import BigInt +import CommonCrypto +@preconcurrency import CoreNFC +import CryptoKit +import CryptoTokenKit +import Darwin +import Foundation +import OSLog +import Security +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_exported import nfclib +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationSignHash : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startSigning(CAN: Swift.String, PIN2: nfclib.SecureData, hash: Foundation.Data) async throws -> Foundation.Data + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationSignHash : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_hasMissingDesignatedInitializers final public class WebEidData : Swift.Sendable { + final public let unverifiedCertificate: Swift.String + final public let signingCertificate: Swift.String + final public let algorithm: Swift.String + final public let signature: Swift.String + final public var formattedDescription: Swift.String { + get + } + @objc deinit +} +final public class SecureData : Swift.Sendable { + public init(_ bytes: [Swift.UInt8]) + public init(_ data: Foundation.Data) + @objc deinit + final public var count: Swift.Int { + get + } + final public func secureZero() +} +public let rsaAlgorithmName: Swift.String +public let ecAlgorithmName: Swift.String +public let unknownAlgorithmName: Swift.String +public enum AuthenticateWithWebEidError : Swift.Error { + case failedToReadPublicKey + case failedToDetermineAlgorithm + case failedToHashData + case failedToMapAlgorithm + case failedCertificateExpired + case failedCertificateNotYetValid + public static func == (a: nfclib.AuthenticateWithWebEidError, b: nfclib.AuthenticateWithWebEidError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_Concurrency.MainActor public class OperationAuthenticateWithWebEID : ObjectiveC.NSObject { + @_Concurrency.MainActor public init(CAN: Swift.String, pin1: nfclib.SecureData, challenge: Swift.String, origin: Swift.String) + @_Concurrency.MainActor public func startReading() async throws -> nfclib.WebEidData + @objc deinit +} +extension nfclib.OperationAuthenticateWithWebEID : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func getAlgorithmNameTypeAndLength(from key: Security.SecKey) -> (algorithm: Swift.String, keyLength: Swift.Int)? + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) + @_Concurrency.MainActor public func mapToAlgorithm(algorithm: Swift.String, bitLength: Swift.Int) -> Swift.String? +} +public struct SignatureAlgorithmInfo { +} +public enum ReadCertificateError : Swift.Error { + case certificateUsageNotSpecified + case failedToReadCertificate + case general + public static func == (a: nfclib.ReadCertificateError, b: nfclib.ReadCertificateError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CertificateUsage { + case auth + case sign + public static func == (a: nfclib.CertificateUsage, b: nfclib.CertificateUsage) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension CoreNFC.NFCTagReaderSession : @unchecked @retroactive Swift.Sendable { +} +extension CoreNFC.NFCTag : @unchecked @retroactive Swift.Sendable { +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationReadCertificate : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, certUsage: nfclib.CertificateUsage) async throws -> Security.SecCertificate + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadCertificate : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum UnblockPINError : Swift.Error { + case missingRequiredParameter + case failed + case general + public static func == (a: nfclib.UnblockPINError, b: nfclib.UnblockPINError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationUnblockPin : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, codeType: nfclib.CodeType, puk: nfclib.SecureData, newPin: nfclib.SecureData) async throws + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationUnblockPin : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_Concurrency.MainActor public class NFCConnection { + @_Concurrency.MainActor public init() + @_Concurrency.MainActor public func setup(_ session: CoreNFC.NFCTagReaderSession, tags: [CoreNFC.NFCTag]) async throws -> any CoreNFC.NFCISO7816Tag + @_Concurrency.MainActor public func getCardCommands(_: CoreNFC.NFCTagReaderSession, tag: any CoreNFC.NFCISO7816Tag, CAN: Swift.String) async throws -> any nfclib.CardCommands + @objc deinit +} +public enum IdCardError : Swift.Error { + case wrongCAN, wrongPIN(triesLeft: Swift.Int), invalidNewPIN, sessionError +} +public enum IdCardInternalError : Swift.Error { + case missingRESTag, missingMACTag, invalidMACValue, failedReadingField(nfclib.CardField), hexConversionFailed, AESCBCError, sendCommandFailed(message: Swift.String), invalidResponse(message: Swift.String), swError(Swift.UInt16), pinVerificationFailed, remainingPinRetryCount(Swift.Int), invalidNewPin, notSupportedCodeType, dataPaddingError, invalidAPDU, authenticationFailed, canAuthenticationFailed, invalidTag, cardNotSupported, nfcNotSupported, connectionFailed, multipleTagsDetected, couldNotVerifyChipsMAC, cancelledByUser, sessionInvalidated, readerProcessFailed, failedToRemovePadding, notSupportedAlgorithm + public func getIdCardError() -> nfclib.IdCardError +} +public struct PinError : Swift.Error { +} +public struct CardInfo : Swift.Sendable, Swift.Hashable { + public var givenName: Swift.String + public var surname: Swift.String + public var personalCode: Swift.String + public var citizenship: Swift.String + public var documentNumber: Swift.String + public var dateOfExpiry: Swift.String + public init(givenName: Swift.String = "", surname: Swift.String = "", personalCode: Swift.String = "", citizenship: Swift.String = "", documentNumber: Swift.String = "", dateOfExpiry: Swift.String = "") + public var formattedDescription: Swift.String { + get + } + public static func == (a: nfclib.CardInfo, b: nfclib.CardInfo) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CardField : Swift.Int, Swift.Sendable { + case surname, firstName, sex, citizenship, dateAndPlaceOfBirth, personalCode, documentNr, dateOfExpiry + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor final public class OperationReadPublicData : ObjectiveC.NSObject { + @_Concurrency.MainActor final public func startReading(CAN: Swift.String) async throws -> nfclib.CardInfo + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadPublicData : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor final public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor final public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor final public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum CodeType : Swift.UInt, Swift.Sendable { + case puk + case pin1 + case pin2 + public var name: Swift.String { + get + } + public init?(rawValue: Swift.UInt) + public typealias RawValue = Swift.UInt + public var rawValue: Swift.UInt { + get + } +} +public protocol CardCommands : Swift.Sendable { + var canChangePUK: Swift.Bool { get } + func readPublicData() async throws -> nfclib.CardInfo + func readAuthenticationCertificate() async throws -> Foundation.Data + func readSignatureCertificate() async throws -> Foundation.Data + func readCodeTryCounterRecord(_ type: nfclib.CodeType) async throws -> (retryCount: Swift.UInt8, pinActive: Swift.Bool) + func changeCode(_ type: nfclib.CodeType, to code: nfclib.SecureData, verifyCode: nfclib.SecureData) async throws + func verifyCode(_ type: nfclib.CodeType, code: nfclib.SecureData) async throws + func unblockCode(_ type: nfclib.CodeType, puk: nfclib.SecureData, newCode: nfclib.SecureData) async throws + func authenticate(for hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data + func calculateSignature(for hash: Foundation.Data, withPin2 pin2: nfclib.SecureData) async throws -> Foundation.Data + func decryptData(_ hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data +} +extension Foundation.DataProtocol where Self : Foundation.MutableDataProtocol, Self.Index == Swift.Int { + public static func ^ (xVal: Self, yVal: Self) -> Self +} +extension nfclib.OperationSignHash : Swift.Sendable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Equatable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Hashable {} +extension nfclib.OperationAuthenticateWithWebEID : Swift.Sendable {} +extension nfclib.CodeType : Swift.Equatable {} +extension nfclib.CodeType : Swift.Hashable {} +extension nfclib.CodeType : Swift.RawRepresentable {} +extension nfclib.ReadCertificateError : Swift.Equatable {} +extension nfclib.ReadCertificateError : Swift.Hashable {} +extension nfclib.CertificateUsage : Swift.Equatable {} +extension nfclib.CertificateUsage : Swift.Hashable {} +extension nfclib.OperationReadCertificate : Swift.Sendable {} +extension nfclib.UnblockPINError : Swift.Equatable {} +extension nfclib.UnblockPINError : Swift.Hashable {} +extension nfclib.OperationUnblockPin : Swift.Sendable {} +extension nfclib.NFCConnection : Swift.Sendable {} +extension nfclib.CardField : Swift.Equatable {} +extension nfclib.CardField : Swift.Hashable {} +extension nfclib.CardField : Swift.RawRepresentable {} +extension nfclib.OperationReadPublicData : Swift.Sendable {} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/nfclib b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/nfclib new file mode 100755 index 00000000..d3713554 Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64/nfclib.framework/nfclib differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Headers/nfclib-Swift.h b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Headers/nfclib-Swift.h new file mode 100644 index 00000000..0c082a71 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Headers/nfclib-Swift.h @@ -0,0 +1,814 @@ +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +#ifndef NFCLIB_SWIFT_H +#define NFCLIB_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif // defined(__OBJC__) +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module" +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#pragma clang diagnostic pop +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef unsigned char char8_t; +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +# else +# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM_TAG) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM_TAG enum +# else +# define SWIFT_ENUM_TAG +# endif +#endif +#if !defined(SWIFT_ENUM_FWD_DECL) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type; +# else +# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name; +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_AVAILABILITY_DOMAIN) +# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if !__has_feature(nullability) +# define _Nonnull +# define _Nullable +# define _Null_unspecified +#elif !defined(__OBJC__) +# pragma clang diagnostic ignored "-Wnullability-extension" +#endif +#if !__has_feature(nullability_nullable_result) +# define _Nullable_result _Nullable +#endif +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="nfclib",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +#if defined(__cplusplus) +} // extern "C" +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import ObjectiveC; +#endif + +#endif // defined(__OBJC__) +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="nfclib",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) + +SWIFT_CLASS("_TtC6nfclib31OperationAuthenticateWithWebEID") +@interface OperationAuthenticateWithWebEID : NSObject +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +SWIFT_CLASS("_TtC6nfclib24OperationReadCertificate") +@interface OperationReadCertificate : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib23OperationReadPublicData") +@interface OperationReadPublicData : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib17OperationSignHash") +@interface OperationSignHash : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib19OperationUnblockPin") +@interface OperationUnblockPin : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +#endif // defined(__OBJC__) +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#elif defined(__x86_64__) && __x86_64__ +// Generated by Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +#ifndef NFCLIB_SWIFT_H +#define NFCLIB_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif // defined(__OBJC__) +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module" +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#pragma clang diagnostic pop +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef unsigned char char8_t; +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +# else +# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM_TAG) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM_TAG enum +# else +# define SWIFT_ENUM_TAG +# endif +#endif +#if !defined(SWIFT_ENUM_FWD_DECL) +# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum) +# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type; +# else +# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name; +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_AVAILABILITY_DOMAIN) +# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if !__has_feature(nullability) +# define _Nonnull +# define _Nullable +# define _Null_unspecified +#elif !defined(__OBJC__) +# pragma clang diagnostic ignored "-Wnullability-extension" +#endif +#if !__has_feature(nullability_nullable_result) +# define _Nullable_result _Nullable +#endif +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="nfclib",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +#if defined(__cplusplus) +} // extern "C" +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import ObjectiveC; +#endif + +#endif // defined(__OBJC__) +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="nfclib",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) + +SWIFT_CLASS("_TtC6nfclib31OperationAuthenticateWithWebEID") +@interface OperationAuthenticateWithWebEID : NSObject +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +SWIFT_CLASS("_TtC6nfclib24OperationReadCertificate") +@interface OperationReadCertificate : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib23OperationReadPublicData") +@interface OperationReadPublicData : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib17OperationSignHash") +@interface OperationSignHash : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +SWIFT_CLASS("_TtC6nfclib19OperationUnblockPin") +@interface OperationUnblockPin : NSObject +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +#endif // defined(__OBJC__) +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#else +#error unsupported Swift architecture +#endif diff --git a/Modules/IdCardLib/Sources/IdCardLib/Extensions/TKBERTLVRecord+Extensions.swift b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Headers/nfclib.h similarity index 65% rename from Modules/IdCardLib/Sources/IdCardLib/Extensions/TKBERTLVRecord+Extensions.swift rename to Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Headers/nfclib.h index 1409610c..9ab9e1be 100644 --- a/Modules/IdCardLib/Sources/IdCardLib/Extensions/TKBERTLVRecord+Extensions.swift +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Headers/nfclib.h @@ -1,5 +1,5 @@ /* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet + * Copyright 2017 - 2025 Riigi Infosüsteemi Amet * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -17,15 +17,12 @@ * */ -import CryptoTokenKit -internal import SwiftECC +#import -extension TKBERTLVRecord { - convenience init(tag: TKTLVTag, bytes: T) { - self.init(tag: tag, value: Data(bytes)) - } +//! Project version number for nfc_lib. +FOUNDATION_EXPORT double nfc_libVersionNumber; - convenience init(tag: TKTLVTag, publicKey: ECPublicKey) throws { - self.init(tag: tag, bytes: (try publicKey.x963Representation())) - } -} +//! Project version string for nfc_lib. +FOUNDATION_EXPORT const unsigned char nfc_libVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Info.plist b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Info.plist new file mode 100644 index 00000000..d361f82f Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Info.plist differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/module.modulemap b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/module.modulemap new file mode 100644 index 00000000..22ab0953 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/module.modulemap @@ -0,0 +1,10 @@ +framework module nfclib { + umbrella header "nfclib.h" + export * + + module * { export * } +} + +module nfclib.Swift { + header "nfclib-Swift.h" +} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo new file mode 100644 index 00000000..83f50e9d Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo new file mode 100644 index 00000000..e01c6385 Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.abi.json b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.abi.json new file mode 100644 index 00000000..08a76752 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.abi.json @@ -0,0 +1,15555 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "nfclib", + "printedName": "nfclib", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoKit", + "printedName": "CryptoKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "OperationSignHash", + "printedName": "OperationSignHash", + "children": [ + { + "kind": "Function", + "name": "startSigning", + "printedName": "startSigning(CAN:PIN2:hash:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC12startSigning3CAN4PIN24hash10Foundation4DataVSS_AA06SecureK0CAJtYaKF", + "mangledName": "$s6nfclib17OperationSignHashC12startSigning3CAN4PIN24hash10Foundation4DataVSS_AA06SecureK0CAJtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationSignHash", + "printedName": "nfclib.OperationSignHash", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash(im)init", + "mangledName": "$s6nfclib17OperationSignHashCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib17OperationSignHashC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib17OperationSignHashC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib17OperationSignHashC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash", + "mangledName": "$s6nfclib17OperationSignHashC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "WebEidData", + "printedName": "WebEidData", + "children": [ + { + "kind": "Var", + "name": "unverifiedCertificate", + "printedName": "unverifiedCertificate", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificateSSvp", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificateSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificateSSvg", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificateSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "signingCertificate", + "printedName": "signingCertificate", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC18signingCertificateSSvp", + "mangledName": "$s6nfclib10WebEidDataC18signingCertificateSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC18signingCertificateSSvg", + "mangledName": "$s6nfclib10WebEidDataC18signingCertificateSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "algorithm", + "printedName": "algorithm", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC9algorithmSSvp", + "mangledName": "$s6nfclib10WebEidDataC9algorithmSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC9algorithmSSvg", + "mangledName": "$s6nfclib10WebEidDataC9algorithmSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "signature", + "printedName": "signature", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC9signatureSSvp", + "mangledName": "$s6nfclib10WebEidDataC9signatureSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC9signatureSSvg", + "mangledName": "$s6nfclib10WebEidDataC9signatureSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(unverifiedCertificate:algorithm:signature:signingCertificate:)", + "children": [ + { + "kind": "TypeNominal", + "name": "WebEidData", + "printedName": "nfclib.WebEidData", + "usr": "s:6nfclib10WebEidDataC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificate9algorithm9signature07signingF0ACSS_S3Stcfc", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificate9algorithm9signature07signingF0ACSS_S3Stcfc", + "moduleName": "nfclib", + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "formattedDescription", + "printedName": "formattedDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC20formattedDescriptionSSvp", + "mangledName": "$s6nfclib10WebEidDataC20formattedDescriptionSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC20formattedDescriptionSSvg", + "mangledName": "$s6nfclib10WebEidDataC20formattedDescriptionSSvg", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:6nfclib10WebEidDataC", + "mangledName": "$s6nfclib10WebEidDataC", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Darwin", + "printedName": "Darwin", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "SecureData", + "printedName": "SecureData", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10SecureDataCyACSays5UInt8VGcfc", + "mangledName": "$s6nfclib10SecureDataCyACSays5UInt8VGcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10SecureDataCyAC10Foundation0C0Vcfc", + "mangledName": "$s6nfclib10SecureDataCyAC10Foundation0C0Vcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "withUnsafeBytes", + "printedName": "withUnsafeBytes(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UnsafeRawBufferPointer) throws -> τ_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "UnsafeRawBufferPointer", + "printedName": "Swift.UnsafeRawBufferPointer", + "usr": "s:SW" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC15withUnsafeBytesyxxSWKXEKlF", + "mangledName": "$s6nfclib10SecureDataC15withUnsafeBytesyxxSWKXEKlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "Final", + "Rethrows", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "withUnsafeMutableBytes", + "printedName": "withUnsafeMutableBytes(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UnsafeMutableRawBufferPointer) throws -> τ_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "UnsafeMutableRawBufferPointer", + "printedName": "Swift.UnsafeMutableRawBufferPointer", + "usr": "s:Sw" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC22withUnsafeMutableBytesyxxSwKXEKlF", + "mangledName": "$s6nfclib10SecureDataC22withUnsafeMutableBytesyxxSwKXEKlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "Final", + "Rethrows", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "count", + "printedName": "count", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10SecureDataC5countSivp", + "mangledName": "$s6nfclib10SecureDataC5countSivp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10SecureDataC5countSivg", + "mangledName": "$s6nfclib10SecureDataC5countSivg", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "secureZero", + "printedName": "secureZero()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC10secureZeroyyF", + "mangledName": "$s6nfclib10SecureDataC10secureZeroyyF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "asData", + "printedName": "asData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC02asC010Foundation0C0VyF", + "mangledName": "$s6nfclib10SecureDataC02asC010Foundation0C0VyF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib10SecureDataC", + "mangledName": "$s6nfclib10SecureDataC", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "rsaAlgorithmName", + "printedName": "rsaAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib16rsaAlgorithmNameSSvp", + "mangledName": "$s6nfclib16rsaAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib16rsaAlgorithmNameSSvg", + "mangledName": "$s6nfclib16rsaAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "ecAlgorithmName", + "printedName": "ecAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib15ecAlgorithmNameSSvp", + "mangledName": "$s6nfclib15ecAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib15ecAlgorithmNameSSvg", + "mangledName": "$s6nfclib15ecAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "unknownAlgorithmName", + "printedName": "unknownAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20unknownAlgorithmNameSSvp", + "mangledName": "$s6nfclib20unknownAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20unknownAlgorithmNameSSvg", + "mangledName": "$s6nfclib20unknownAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "convertBytesToX509Certificate", + "printedName": "convertBytesToX509Certificate(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecCertificate", + "printedName": "Security.SecCertificate", + "usr": "c:@T@SecCertificateRef" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib29convertBytesToX509CertificateySo03SecF3Refa10Foundation4DataVKF", + "mangledName": "$s6nfclib29convertBytesToX509CertificateySo03SecF3Refa10Foundation4DataVKF", + "moduleName": "nfclib", + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "CertificateConversionError", + "printedName": "CertificateConversionError", + "children": [ + { + "kind": "Var", + "name": "creationFailed", + "printedName": "creationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateConversionError.Type) -> nfclib.CertificateConversionError", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateConversionError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib26CertificateConversionErrorO14creationFailedyA2CmF", + "mangledName": "$s6nfclib26CertificateConversionErrorO14creationFailedyA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + }, + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib26CertificateConversionErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib26CertificateConversionErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib26CertificateConversionErrorO9hashValueSivp", + "mangledName": "$s6nfclib26CertificateConversionErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib26CertificateConversionErrorO9hashValueSivg", + "mangledName": "$s6nfclib26CertificateConversionErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib26CertificateConversionErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib26CertificateConversionErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib26CertificateConversionErrorO", + "mangledName": "$s6nfclib26CertificateConversionErrorO", + "moduleName": "nfclib", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "X509", + "printedName": "X509", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "AuthenticateWithWebEidError", + "printedName": "AuthenticateWithWebEidError", + "children": [ + { + "kind": "Var", + "name": "failedToReadPublicKey", + "printedName": "failedToReadPublicKey", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO21failedToReadPublicKeyyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO21failedToReadPublicKeyyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToDetermineAlgorithm", + "printedName": "failedToDetermineAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO26failedToDetermineAlgorithmyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO26failedToDetermineAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToHashData", + "printedName": "failedToHashData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO16failedToHashDatayA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO16failedToHashDatayA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToMapAlgorithm", + "printedName": "failedToMapAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO20failedToMapAlgorithmyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO20failedToMapAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedCertificateExpired", + "printedName": "failedCertificateExpired", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO24failedCertificateExpiredyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO24failedCertificateExpiredyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedCertificateNotYetValid", + "printedName": "failedCertificateNotYetValid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO28failedCertificateNotYetValidyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO28failedCertificateNotYetValidyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO9hashValueSivp", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO9hashValueSivg", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationAuthenticateWithWebEID", + "printedName": "OperationAuthenticateWithWebEID", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(CAN:pin1:challenge:origin:)", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationAuthenticateWithWebEID", + "printedName": "nfclib.OperationAuthenticateWithWebEID", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC3CAN4pin19challenge6originACSS_AA10SecureDataCS2Stcfc", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC3CAN4pin19challenge6originACSS_AA10SecureDataCS2Stcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading()", + "children": [ + { + "kind": "TypeNominal", + "name": "WebEidData", + "printedName": "nfclib.WebEidData", + "usr": "s:6nfclib10WebEidDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC12startReadingAA0E7EidDataCyYaKF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC12startReadingAA0E7EidDataCyYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationAuthenticateWithWebEID", + "printedName": "nfclib.OperationAuthenticateWithWebEID", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID(im)init", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_9didDetectySo06NFCTaghI0C_Say7CoreNFC0L0OGtF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_9didDetectySo06NFCTaghI0C_Say7CoreNFC0L0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getAlgorithmNameTypeAndLength", + "printedName": "getAlgorithmNameTypeAndLength(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(algorithm: Swift.String, keyLength: Swift.Int)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(algorithm: Swift.String, keyLength: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "SecKey", + "printedName": "Security.SecKey", + "usr": "c:@T@SecKeyRef" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC29getAlgorithmNameTypeAndLength4fromSS9algorithm_Si03keyL0tSgSo9SecKeyRefa_tF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC29getAlgorithmNameTypeAndLength4fromSS9algorithm_Si03keyL0tSgSo9SecKeyRefa_tF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC31tagReaderSessionDidBecomeActiveyySo06NFCTaghI0CF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC31tagReaderSessionDidBecomeActiveyySo06NFCTaghI0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_013didInvalidateD5ErrorySo06NFCTaghI0C_s0L0_ptF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_013didInvalidateD5ErrorySo06NFCTaghI0C_s0L0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "mapToAlgorithm", + "printedName": "mapToAlgorithm(algorithm:bitLength:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC14mapToAlgorithm9algorithm9bitLengthSSSgSS_SitF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC14mapToAlgorithm9algorithm9bitLengthSSSgSS_SitF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "SignatureAlgorithmInfo", + "printedName": "SignatureAlgorithmInfo", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4nameSSvp", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4nameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4nameSSvg", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4nameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bitSize", + "printedName": "bitSize", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib22SignatureAlgorithmInfoV7bitSizeSivp", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV7bitSizeSivp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV7bitSizeSivg", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV7bitSizeSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(name:bitSize:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SignatureAlgorithmInfo", + "printedName": "nfclib.SignatureAlgorithmInfo", + "usr": "s:6nfclib22SignatureAlgorithmInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4name7bitSizeACSS_Sitcfc", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4name7bitSizeACSS_Sitcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib22SignatureAlgorithmInfoV", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "OSLog", + "printedName": "OSLog", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "CardReaderNFC", + "printedName": "CardReaderNFC", + "children": [ + { + "kind": "TypeDecl", + "name": "PasswordType", + "printedName": "PasswordType", + "children": [ + { + "kind": "Var", + "name": "id_PasswordType_MRZ", + "printedName": "id_PasswordType_MRZ", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.PasswordType.Type) -> nfclib.CardReaderNFC.PasswordType", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.PasswordType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_MRZyA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_MRZyA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "id_PasswordType_CAN", + "printedName": "id_PasswordType_CAN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.PasswordType.Type) -> nfclib.CardReaderNFC.PasswordType", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.PasswordType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_CANyA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_CANyA2EmF", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "data", + "printedName": "data", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvp", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvg", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.PasswordType?", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValueAESgs5UInt8V_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValueAESgs5UInt8V_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvp", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvg", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "enumRawTypeName": "UInt8", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "MappingType", + "printedName": "MappingType", + "children": [ + { + "kind": "Var", + "name": "id_PACE_ECDH_GM_AES_CBC_CMAC_256", + "printedName": "id_PACE_ECDH_GM_AES_CBC_CMAC_256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.MappingType.Type) -> nfclib.CardReaderNFC.MappingType", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.MappingType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_GM_AES_CBC_CMAC_256yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_GM_AES_CBC_CMAC_256yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "id_PACE_ECDH_IM_AES_CBC_CMAC_256", + "printedName": "id_PACE_ECDH_IM_AES_CBC_CMAC_256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.MappingType.Type) -> nfclib.CardReaderNFC.MappingType", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.MappingType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_IM_AES_CBC_CMAC_256yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_IM_AES_CBC_CMAC_256yA2EmF", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "data", + "printedName": "data", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvp", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvp", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvg", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.MappingType?", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueAESgSS_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueAESgSS_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvp", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvg", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO", + "moduleName": "nfclib", + "enumRawTypeName": "String", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ParameterId", + "printedName": "ParameterId", + "children": [ + { + "kind": "Var", + "name": "EC256r1", + "printedName": "EC256r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC256r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC256r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "BP256r1", + "printedName": "BP256r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP256r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP256r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "EC384r1", + "printedName": "EC384r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC384r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC384r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 2 + }, + { + "kind": "Var", + "name": "BP384r1", + "printedName": "BP384r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP384r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP384r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 3 + }, + { + "kind": "Var", + "name": "BP512r1", + "printedName": "BP512r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP512r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP512r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 4 + }, + { + "kind": "Var", + "name": "EC521r1", + "printedName": "EC521r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC521r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC521r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 5 + }, + { + "kind": "Var", + "name": "domain", + "printedName": "domain", + "children": [ + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvp", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvp", + "moduleName": "nfclib", + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvg", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.ParameterId?", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValueAESgs5UInt8V_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValueAESgs5UInt8V_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvp", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvg", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "enumRawTypeName": "UInt8", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Var", + "name": "tag", + "printedName": "tag", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvp", + "mangledName": "$s6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvg", + "mangledName": "$s6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "ksEnc", + "printedName": "ksEnc", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ksMac", + "printedName": "ksMac", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 2, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "SSC", + "printedName": "SSC", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 3, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReaderNFC", + "printedName": "nfclib.CardReaderNFC", + "usr": "s:6nfclib13CardReaderNFCC" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC_3CANACSo13NFCISO7816Tag_p_SStYaKcfc", + "mangledName": "$s6nfclib13CardReaderNFCC_3CANACSo13NFCISO7816Tag_p_SStYaKcfc", + "moduleName": "nfclib", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "transmit", + "printedName": "transmit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(responseData: [Swift.UInt8], sw: Swift.UInt16)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13CardReaderNFCC8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "mangledName": "$s6nfclib13CardReaderNFCC8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "moduleName": "nfclib", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib13CardReaderNFCC", + "mangledName": "$s6nfclib13CardReaderNFCC", + "moduleName": "nfclib", + "isOpen": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardReader", + "printedName": "CardReader", + "usr": "s:6nfclib10CardReaderP", + "mangledName": "$s6nfclib10CardReaderP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "Idemia", + "printedName": "Idemia", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC12canChangePUKSbvp", + "mangledName": "$s6nfclib6IdemiaC12canChangePUKSbvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC12canChangePUKSbvg", + "mangledName": "$s6nfclib6IdemiaC12canChangePUKSbvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC6readerAA10CardReader_pvp", + "mangledName": "$s6nfclib6IdemiaC6readerAA10CardReader_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC6readerAA10CardReader_pvg", + "mangledName": "$s6nfclib6IdemiaC6readerAA10CardReader_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib6IdemiaC8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib6IdemiaC8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:atr:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6IdemiaC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:aid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6IdemiaC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:selectAID:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "mangledName": "$s6nfclib6IdemiaC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC14readPublicDataAA8CardInfoVyYaKF", + "mangledName": "$s6nfclib6IdemiaC14readPublicDataAA8CardInfoVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6IdemiaC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6IdemiaC24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "mangledName": "$s6nfclib6IdemiaC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6IdemiaC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib6IdemiaC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6IdemiaC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib6IdemiaC", + "mangledName": "$s6nfclib6IdemiaC", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "children": [ + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvp", + "mangledName": "$s6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvp", + "moduleName": "nfclib", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvg", + "mangledName": "$s6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20CardCommandsInternalP8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib20CardCommandsInternalP8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20CardCommandsInternalP8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib20CardCommandsInternalP8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "select", + "printedName": "select(p1Byte:p2Byte:file:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE6select6p1Byte02p2G04file10Foundation4DataVs5UInt8V_ALSayALGtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE6select6p1Byte02p2G04file10Foundation4DataVs5UInt8V_ALSayALGtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readFile", + "printedName": "readFile(p1Byte:file:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE8readFile6p1Byte4file10Foundation4DataVs5UInt8V_SayAKGtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE8readFile6p1Byte4file10Foundation4DataVs5UInt8V_SayAKGtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE10changeCode_2to06verifyF0ys5UInt8V_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE10changeCode_2to06verifyF0ys5UInt8V_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.SecureData?", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE11unblockCode_3puk03newF0ys5UInt8V_AA10SecureDataCSgAJtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE11unblockCode_3puk03newF0ys5UInt8V_AA10SecureDataCSgAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE10verifyCode_4codeys5UInt8V_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE10verifyCode_4codeys5UInt8V_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setSecEnv", + "printedName": "setSecEnv(mode:algo:keyRef:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.UInt8]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE9setSecEnv4mode4algo6keyRefys5UInt8V_SayAIGSgAItYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE9setSecEnv4mode4algo6keyRefys5UInt8V_SayAIGSgAItYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "ReadCertificateError", + "printedName": "ReadCertificateError", + "children": [ + { + "kind": "Var", + "name": "certificateUsageNotSpecified", + "printedName": "certificateUsageNotSpecified", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO28certificateUsageNotSpecifiedyA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO28certificateUsageNotSpecifiedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToReadCertificate", + "printedName": "failedToReadCertificate", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO08failedTobC0yA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO08failedTobC0yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "general", + "printedName": "general", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO7generalyA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO7generalyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20ReadCertificateErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib20ReadCertificateErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20ReadCertificateErrorO9hashValueSivp", + "mangledName": "$s6nfclib20ReadCertificateErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20ReadCertificateErrorO9hashValueSivg", + "mangledName": "$s6nfclib20ReadCertificateErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20ReadCertificateErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib20ReadCertificateErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib20ReadCertificateErrorO", + "mangledName": "$s6nfclib20ReadCertificateErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CertificateUsage", + "printedName": "CertificateUsage", + "children": [ + { + "kind": "Var", + "name": "auth", + "printedName": "auth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateUsage.Type) -> nfclib.CertificateUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateUsage.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib16CertificateUsageO4authyA2CmF", + "mangledName": "$s6nfclib16CertificateUsageO4authyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sign", + "printedName": "sign", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateUsage.Type) -> nfclib.CertificateUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateUsage.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib16CertificateUsageO4signyA2CmF", + "mangledName": "$s6nfclib16CertificateUsageO4signyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib16CertificateUsageO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib16CertificateUsageO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib16CertificateUsageO9hashValueSivp", + "mangledName": "$s6nfclib16CertificateUsageO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib16CertificateUsageO9hashValueSivg", + "mangledName": "$s6nfclib16CertificateUsageO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib16CertificateUsageO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib16CertificateUsageO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib16CertificateUsageO", + "mangledName": "$s6nfclib16CertificateUsageO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationReadCertificate", + "printedName": "OperationReadCertificate", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:certUsage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecCertificate", + "printedName": "Security.SecCertificate", + "usr": "c:@T@SecCertificateRef" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC12startReading3CAN9certUsageSo03SecD3RefaSS_AA0dI0OtYaKF", + "mangledName": "$s6nfclib24OperationReadCertificateC12startReading3CAN9certUsageSo03SecD3RefaSS_AA0dI0OtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationReadCertificate", + "printedName": "nfclib.OperationReadCertificate", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate(im)init", + "mangledName": "$s6nfclib24OperationReadCertificateCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib24OperationReadCertificateC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib24OperationReadCertificateC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib24OperationReadCertificateC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate", + "mangledName": "$s6nfclib24OperationReadCertificateC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "Thales", + "printedName": "Thales", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC12canChangePUKSbvp", + "mangledName": "$s6nfclib6ThalesC12canChangePUKSbvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC12canChangePUKSbvg", + "mangledName": "$s6nfclib6ThalesC12canChangePUKSbvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC6readerAA10CardReader_pvp", + "mangledName": "$s6nfclib6ThalesC6readerAA10CardReader_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC6readerAA10CardReader_pvg", + "mangledName": "$s6nfclib6ThalesC6readerAA10CardReader_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib6ThalesC8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib6ThalesC8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:atr:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtKcfc", + "mangledName": "$s6nfclib6ThalesC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtKcfc", + "moduleName": "nfclib", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:aid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6ThalesC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:selectAID:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "mangledName": "$s6nfclib6ThalesC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC14readPublicDataAA8CardInfoVyYaKF", + "mangledName": "$s6nfclib6ThalesC14readPublicDataAA8CardInfoVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6ThalesC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6ThalesC24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "mangledName": "$s6nfclib6ThalesC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6ThalesC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib6ThalesC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6ThalesC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "mangledName": "$s6nfclib6ThalesC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib6ThalesC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "mangledName": "$s6nfclib6ThalesC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib6ThalesC", + "mangledName": "$s6nfclib6ThalesC", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "OSLog", + "printedName": "OSLog", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "Preconcurrency" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "SendableISO7816Tag", + "printedName": "SendableISO7816Tag", + "children": [ + { + "kind": "Var", + "name": "tag", + "printedName": "tag", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Var", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvp", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "fixedbinaryorder": 0, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvg", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvs", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvs", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvM", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvM", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib18SendableISO7816TagV3tagACSo010NFCISO7816D0_p_tcfc", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagACSo010NFCISO7816D0_p_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "sendCommand", + "printedName": "sendCommand(cls:ins:p1Byte:p2Byte:data:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "hasDefaultArg": true, + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J04data02leJ010Foundation4DataVs5UInt8V_A3oMSitYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J04data02leJ010Foundation4DataVs5UInt8V_A3oMSitYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendCommand", + "printedName": "sendCommand(cls:ins:p1Byte:p2Byte:records:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CryptoTokenKit.TKTLVRecord]", + "children": [ + { + "kind": "TypeNominal", + "name": "TKTLVRecord", + "printedName": "CryptoTokenKit.TKTLVRecord", + "usr": "c:objc(cs)TKTLVRecord" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J07records02leJ010Foundation4DataVs5UInt8V_A3OSaySo11TKTLVRecordCGSitYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J07records02leJ010Foundation4DataVs5UInt8V_A3OSaySo11TKTLVRecordCGSitYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendPaceCommand", + "printedName": "sendPaceCommand(records:tagExpected:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CryptoTokenKit.TKTLVRecord]", + "children": [ + { + "kind": "TypeNominal", + "name": "TKTLVRecord", + "printedName": "CryptoTokenKit.TKTLVRecord", + "usr": "c:objc(cs)TKTLVRecord" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV15sendPaceCommand7records11tagExpectedSo14TKBERTLVRecordCSaySo11TKTLVRecordCG_s6UInt64VtYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV15sendPaceCommand7records11tagExpectedSo14TKBERTLVRecordCSaySo11TKTLVRecordCG_s6UInt64VtYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib18SendableISO7816TagV", + "mangledName": "$s6nfclib18SendableISO7816TagV", + "moduleName": "nfclib", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "UnblockPINError", + "printedName": "UnblockPINError", + "children": [ + { + "kind": "Var", + "name": "missingRequiredParameter", + "printedName": "missingRequiredParameter", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO24missingRequiredParameteryA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO24missingRequiredParameteryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO6failedyA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO6failedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "general", + "printedName": "general", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO7generalyA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO7generalyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib15UnblockPINErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib15UnblockPINErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib15UnblockPINErrorO9hashValueSivp", + "mangledName": "$s6nfclib15UnblockPINErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib15UnblockPINErrorO9hashValueSivg", + "mangledName": "$s6nfclib15UnblockPINErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib15UnblockPINErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib15UnblockPINErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib15UnblockPINErrorO", + "mangledName": "$s6nfclib15UnblockPINErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationUnblockPin", + "printedName": "OperationUnblockPin", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:codeType:puk:newPin:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC12startReading3CAN8codeType3puk03newD0ySS_AA04CodeI0OAA10SecureDataCALtYaKF", + "mangledName": "$s6nfclib19OperationUnblockPinC12startReading3CAN8codeType3puk03newD0ySS_AA04CodeI0OAA10SecureDataCALtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationUnblockPin", + "printedName": "nfclib.OperationUnblockPin", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin(im)init", + "mangledName": "$s6nfclib19OperationUnblockPinCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib19OperationUnblockPinC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib19OperationUnblockPinC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib19OperationUnblockPinC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin", + "mangledName": "$s6nfclib19OperationUnblockPinC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "Preconcurrency" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "NFCConnection", + "printedName": "NFCConnection", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCConnection", + "printedName": "nfclib.NFCConnection", + "usr": "s:6nfclib13NFCConnectionC" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13NFCConnectionCACycfc", + "mangledName": "$s6nfclib13NFCConnectionCACycfc", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "setup", + "printedName": "setup(_:tags:)", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13NFCConnectionC5setup_4tagsSo13NFCISO7816Tag_pSo19NFCTagReaderSessionC_Say7CoreNFC0G0OGtYaKF", + "mangledName": "$s6nfclib13NFCConnectionC5setup_4tagsSo13NFCISO7816Tag_pSo19NFCTagReaderSessionC_Say7CoreNFC0G0OGtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getCardCommands", + "printedName": "getCardCommands(_:tag:CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardCommands", + "printedName": "any nfclib.CardCommands", + "usr": "s:6nfclib12CardCommandsP" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13NFCConnectionC15getCardCommands_3tag3CANAA0dE0_pSo19NFCTagReaderSessionC_So13NFCISO7816Tag_pSStYaKF", + "mangledName": "$s6nfclib13NFCConnectionC15getCardCommands_3tag3CANAA0dE0_pSo19NFCTagReaderSessionC_So13NFCISO7816Tag_pSStYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib13NFCConnectionC", + "mangledName": "$s6nfclib13NFCConnectionC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ProgressBar", + "printedName": "ProgressBar", + "children": [ + { + "kind": "Var", + "name": "totalSteps", + "printedName": "totalSteps", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib11ProgressBarV10totalSteps33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "mangledName": "$s6nfclib11ProgressBarV10totalSteps33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Var", + "name": "currentStep", + "printedName": "currentStep", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib11ProgressBarV11currentStep33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "mangledName": "$s6nfclib11ProgressBarV11currentStep33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(currentStep:totalSteps:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ProgressBar", + "printedName": "nfclib.ProgressBar", + "usr": "s:6nfclib11ProgressBarV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib11ProgressBarV11currentStep10totalStepsACSi_Sitcfc", + "mangledName": "$s6nfclib11ProgressBarV11currentStep10totalStepsACSi_Sitcfc", + "moduleName": "nfclib", + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "generate", + "printedName": "generate()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib11ProgressBarV8generateSSyF", + "mangledName": "$s6nfclib11ProgressBarV8generateSSyF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib11ProgressBarV", + "mangledName": "$s6nfclib11ProgressBarV", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "AES", + "printedName": "AES", + "children": [ + { + "kind": "Var", + "name": "BlockSize", + "printedName": "BlockSize", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC9BlockSizeSivpZ", + "mangledName": "$s6nfclib3AESC9BlockSizeSivpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC9BlockSizeSivgZ", + "mangledName": "$s6nfclib3AESC9BlockSizeSivgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "Zero", + "printedName": "Zero", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4ZeroSays5UInt8VGvpZ", + "mangledName": "$s6nfclib3AESC4ZeroSays5UInt8VGvpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4ZeroSays5UInt8VGvgZ", + "mangledName": "$s6nfclib3AESC4ZeroSays5UInt8VGvgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CBC", + "printedName": "CBC", + "children": [ + { + "kind": "Var", + "name": "key", + "printedName": "key", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "any Foundation.ContiguousBytes & Foundation.DataProtocol" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC3CBCC3key33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "mangledName": "$s6nfclib3AESC3CBCC3key33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Var", + "name": "ivVal", + "printedName": "ivVal", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "any Foundation.ContiguousBytes & Foundation.DataProtocol" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC3CBCC5ivVal33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "mangledName": "$s6nfclib3AESC3CBCC5ivVal33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(key:ivVal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_1", + "hasDefaultArg": true + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESC3CBCC3key5ivValAEx_q_tc10Foundation15ContiguousBytesRzAH12DataProtocolRzAhIR_AhJR_r0_lufc", + "mangledName": "$s6nfclib3AESC3CBCC3key5ivValAEx_q_tc10Foundation15ContiguousBytesRzAH12DataProtocolRzAhIR_AhJR_r0_lufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0, τ_0_1 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol, τ_0_1 : Foundation.ContiguousBytes, τ_0_1 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encrypt", + "printedName": "encrypt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC3CBCC7encryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "mangledName": "$s6nfclib3AESC3CBCC7encryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decrypt", + "printedName": "decrypt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC3CBCC7decryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "mangledName": "$s6nfclib3AESC3CBCC7decryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC3CBCC", + "mangledName": "$s6nfclib3AESC3CBCC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CMAC", + "printedName": "CMAC", + "children": [ + { + "kind": "Var", + "name": "RBytes", + "printedName": "RBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC6RBytesSays5UInt8VGvpZ", + "mangledName": "$s6nfclib3AESC4CMACC6RBytesSays5UInt8VGvpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC6RBytesSays5UInt8VGvgZ", + "mangledName": "$s6nfclib3AESC4CMACC6RBytesSays5UInt8VGvgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cipher", + "printedName": "cipher", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC6cipherAC3CBCCvp", + "mangledName": "$s6nfclib3AESC4CMACC6cipherAC3CBCCvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC6cipherAC3CBCCvg", + "mangledName": "$s6nfclib3AESC4CMACC6cipherAC3CBCCvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "k1Bytes", + "printedName": "k1Bytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvp", + "mangledName": "$s6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvg", + "mangledName": "$s6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "k2Bytes", + "printedName": "k2Bytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvp", + "mangledName": "$s6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvg", + "mangledName": "$s6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(key:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CMAC", + "printedName": "nfclib.AES.CMAC", + "usr": "s:6nfclib3AESC4CMACC" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESC4CMACC3keyAEx_tKc10Foundation15ContiguousBytesRzAG12DataProtocolRzlufc", + "mangledName": "$s6nfclib3AESC4CMACC3keyAEx_tKc10Foundation15ContiguousBytesRzAG12DataProtocolRzlufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(bytes:count:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:s10ArraySliceV" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC4CMACC12authenticate5bytes5counts10ArraySliceVys5UInt8VGx_SitK10Foundation15ContiguousBytesRzAN12DataProtocolRzSi5IndexSlRtzlF", + "mangledName": "$s6nfclib3AESC4CMACC12authenticate5bytes5counts10ArraySliceVys5UInt8VGx_SitK10Foundation15ContiguousBytesRzAN12DataProtocolRzSi5IndexSlRtzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC4CMACC", + "mangledName": "$s6nfclib3AESC4CMACC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AES", + "printedName": "nfclib.AES", + "usr": "s:6nfclib3AESC" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESCACycfc", + "mangledName": "$s6nfclib3AESCACycfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC", + "mangledName": "$s6nfclib3AESC", + "moduleName": "nfclib", + "isOpen": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "HashLength", + "printedName": "HashLength", + "children": [ + { + "kind": "Var", + "name": "bits256", + "printedName": "bits256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits256yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits256yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "bits384", + "printedName": "bits384", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits384yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits384yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "bits512", + "printedName": "bits512", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits512yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits512yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 2 + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.HashLength?", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10HashLengthO8rawValueACSgSi_tcfc", + "mangledName": "$s6nfclib10HashLengthO8rawValueACSgSi_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10HashLengthO8rawValueSivp", + "mangledName": "$s6nfclib10HashLengthO8rawValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10HashLengthO8rawValueSivg", + "mangledName": "$s6nfclib10HashLengthO8rawValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib10HashLengthO", + "mangledName": "$s6nfclib10HashLengthO", + "moduleName": "nfclib", + "enumRawTypeName": "Int", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Function", + "name": "hashLengthFromInt", + "printedName": "hashLengthFromInt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.HashLength?", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17hashLengthFromIntyAA04HashC0OSgSiF", + "mangledName": "$s6nfclib17hashLengthFromIntyAA04HashC0OSgSiF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sha", + "printedName": "sha(hashLength:data:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3sha10hashLength4data10Foundation4DataVSgAA04HashD0O_AGtF", + "mangledName": "$s6nfclib3sha10hashLength4data10Foundation4DataVSgAA04HashD0O_AGtF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "IdCardError", + "printedName": "IdCardError", + "children": [ + { + "kind": "Var", + "name": "wrongCAN", + "printedName": "wrongCAN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO8wrongCANyA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO8wrongCANyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "wrongPIN", + "printedName": "wrongPIN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> (Swift.Int) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(triesLeft: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO8wrongPINyACSi_tcACmF", + "mangledName": "$s6nfclib11IdCardErrorO8wrongPINyACSi_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidNewPIN", + "printedName": "invalidNewPIN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO13invalidNewPINyA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO13invalidNewPINyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sessionError", + "printedName": "sessionError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO07sessionD0yA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO07sessionD0yA2CmF", + "moduleName": "nfclib" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib11IdCardErrorO", + "mangledName": "$s6nfclib11IdCardErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "IdCardInternalError", + "printedName": "IdCardInternalError", + "children": [ + { + "kind": "Var", + "name": "missingRESTag", + "printedName": "missingRESTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13missingRESTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13missingRESTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "missingMACTag", + "printedName": "missingMACTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13missingMACTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13missingMACTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidMACValue", + "printedName": "invalidMACValue", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15invalidMACValueyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15invalidMACValueyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedReadingField", + "printedName": "failedReadingField", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (nfclib.CardField) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO18failedReadingFieldyAcA0cH0OcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO18failedReadingFieldyAcA0cH0OcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "hexConversionFailed", + "printedName": "hexConversionFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO19hexConversionFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO19hexConversionFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "AESCBCError", + "printedName": "AESCBCError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO11AESCBCErroryA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO11AESCBCErroryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sendCommandFailed", + "printedName": "sendCommandFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO17sendCommandFailedyACSS_tcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO17sendCommandFailedyACSS_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidResponse", + "printedName": "invalidResponse", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15invalidResponseyACSS_tcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15invalidResponseyACSS_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "swError", + "printedName": "swError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.UInt16) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt16) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO02swE0yACs6UInt16VcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO02swE0yACs6UInt16VcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pinVerificationFailed", + "printedName": "pinVerificationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21pinVerificationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21pinVerificationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "remainingPinRetryCount", + "printedName": "remainingPinRetryCount", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.Int) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO22remainingPinRetryCountyACSicACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO22remainingPinRetryCountyACSicACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidNewPin", + "printedName": "invalidNewPin", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13invalidNewPinyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13invalidNewPinyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "notSupportedCodeType", + "printedName": "notSupportedCodeType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20notSupportedCodeTypeyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20notSupportedCodeTypeyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dataPaddingError", + "printedName": "dataPaddingError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO011dataPaddingE0yA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO011dataPaddingE0yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidAPDU", + "printedName": "invalidAPDU", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO11invalidAPDUyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO11invalidAPDUyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "authenticationFailed", + "printedName": "authenticationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20authenticationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20authenticationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "canAuthenticationFailed", + "printedName": "canAuthenticationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO23canAuthenticationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO23canAuthenticationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidTag", + "printedName": "invalidTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO10invalidTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO10invalidTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "cardNotSupported", + "printedName": "cardNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO16cardNotSupportedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO16cardNotSupportedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "nfcNotSupported", + "printedName": "nfcNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15nfcNotSupportedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15nfcNotSupportedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "connectionFailed", + "printedName": "connectionFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO16connectionFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO16connectionFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "multipleTagsDetected", + "printedName": "multipleTagsDetected", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20multipleTagsDetectedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20multipleTagsDetectedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "couldNotVerifyChipsMAC", + "printedName": "couldNotVerifyChipsMAC", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO22couldNotVerifyChipsMACyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO22couldNotVerifyChipsMACyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "cancelledByUser", + "printedName": "cancelledByUser", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15cancelledByUseryA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15cancelledByUseryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sessionInvalidated", + "printedName": "sessionInvalidated", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO18sessionInvalidatedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO18sessionInvalidatedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "readerProcessFailed", + "printedName": "readerProcessFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO19readerProcessFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO19readerProcessFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToRemovePadding", + "printedName": "failedToRemovePadding", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21failedToRemovePaddingyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21failedToRemovePaddingyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "notSupportedAlgorithm", + "printedName": "notSupportedAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21notSupportedAlgorithmyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21notSupportedAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "getIdCardError", + "printedName": "getIdCardError()", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19IdCardInternalErrorO03getbcE0AA0bcE0OyF", + "mangledName": "$s6nfclib19IdCardInternalErrorO03getbcE0AA0bcE0OyF", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib19IdCardInternalErrorO", + "mangledName": "$s6nfclib19IdCardInternalErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "PinError", + "printedName": "PinError", + "children": [ + { + "kind": "Var", + "name": "msg", + "printedName": "msg", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8PinErrorV3msgSSvp", + "mangledName": "$s6nfclib8PinErrorV3msgSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8PinErrorV3msgSSvg", + "mangledName": "$s6nfclib8PinErrorV3msgSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "remainingCount", + "printedName": "remainingCount", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8PinErrorV14remainingCountSivp", + "mangledName": "$s6nfclib8PinErrorV14remainingCountSivp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8PinErrorV14remainingCountSivg", + "mangledName": "$s6nfclib8PinErrorV14remainingCountSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(msg:remainingCount:)", + "children": [ + { + "kind": "TypeNominal", + "name": "PinError", + "printedName": "nfclib.PinError", + "usr": "s:6nfclib8PinErrorV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8PinErrorV3msg14remainingCountACSS_Sitcfc", + "mangledName": "$s6nfclib8PinErrorV3msg14remainingCountACSS_Sitcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib8PinErrorV", + "mangledName": "$s6nfclib8PinErrorV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardInfo", + "printedName": "CardInfo", + "children": [ + { + "kind": "Var", + "name": "givenName", + "printedName": "givenName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV9givenNameSSvp", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvg", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvs", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvM", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "surname", + "printedName": "surname", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV7surnameSSvp", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvg", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvs", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvM", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "personalCode", + "printedName": "personalCode", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvp", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvg", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvs", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvM", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "citizenship", + "printedName": "citizenship", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvp", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvg", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvs", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvM", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "documentNumber", + "printedName": "documentNumber", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvp", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvg", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvs", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvM", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "dateOfExpiry", + "printedName": "dateOfExpiry", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvp", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvg", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvs", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvM", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(givenName:surname:personalCode:citizenship:documentNumber:dateOfExpiry:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8CardInfoV9givenName7surname12personalCode11citizenship14documentNumber12dateOfExpiryACSS_S5Stcfc", + "mangledName": "$s6nfclib8CardInfoV9givenName7surname12personalCode11citizenship14documentNumber12dateOfExpiryACSS_S5Stcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "formattedDescription", + "printedName": "formattedDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV20formattedDescriptionSSvp", + "mangledName": "$s6nfclib8CardInfoV20formattedDescriptionSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV20formattedDescriptionSSvg", + "mangledName": "$s6nfclib8CardInfoV20formattedDescriptionSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV9hashValueSivp", + "mangledName": "$s6nfclib8CardInfoV9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9hashValueSivg", + "mangledName": "$s6nfclib8CardInfoV9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib8CardInfoV4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib8CardInfoV4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib8CardInfoV2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib8CardInfoV2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib8CardInfoV", + "mangledName": "$s6nfclib8CardInfoV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardField", + "printedName": "CardField", + "children": [ + { + "kind": "Var", + "name": "surname", + "printedName": "surname", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO7surnameyA2CmF", + "mangledName": "$s6nfclib9CardFieldO7surnameyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "firstName", + "printedName": "firstName", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO9firstNameyA2CmF", + "mangledName": "$s6nfclib9CardFieldO9firstNameyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sex", + "printedName": "sex", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO3sexyA2CmF", + "mangledName": "$s6nfclib9CardFieldO3sexyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "citizenship", + "printedName": "citizenship", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO11citizenshipyA2CmF", + "mangledName": "$s6nfclib9CardFieldO11citizenshipyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dateAndPlaceOfBirth", + "printedName": "dateAndPlaceOfBirth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO19dateAndPlaceOfBirthyA2CmF", + "mangledName": "$s6nfclib9CardFieldO19dateAndPlaceOfBirthyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "personalCode", + "printedName": "personalCode", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO12personalCodeyA2CmF", + "mangledName": "$s6nfclib9CardFieldO12personalCodeyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "documentNr", + "printedName": "documentNr", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO10documentNryA2CmF", + "mangledName": "$s6nfclib9CardFieldO10documentNryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dateOfExpiry", + "printedName": "dateOfExpiry", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO12dateOfExpiryyA2CmF", + "mangledName": "$s6nfclib9CardFieldO12dateOfExpiryyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardField?", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib9CardFieldO8rawValueACSgSi_tcfc", + "mangledName": "$s6nfclib9CardFieldO8rawValueACSgSi_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib9CardFieldO8rawValueSivp", + "mangledName": "$s6nfclib9CardFieldO8rawValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib9CardFieldO8rawValueSivg", + "mangledName": "$s6nfclib9CardFieldO8rawValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib9CardFieldO", + "mangledName": "$s6nfclib9CardFieldO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "OperationReadPublicData", + "printedName": "OperationReadPublicData", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC12startReading3CANAA8CardInfoVSS_tYaKF", + "mangledName": "$s6nfclib23OperationReadPublicDataC12startReading3CANAA8CardInfoVSS_tYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationReadPublicData", + "printedName": "nfclib.OperationReadPublicData", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData(im)init", + "mangledName": "$s6nfclib23OperationReadPublicDataCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC16tagReaderSession_9didDetectySo06NFCTaggH0C_Say7CoreNFC0K0OGtF", + "mangledName": "$s6nfclib23OperationReadPublicDataC16tagReaderSession_9didDetectySo06NFCTaggH0C_Say7CoreNFC0K0OGtF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC31tagReaderSessionDidBecomeActiveyySo06NFCTaggH0CF", + "mangledName": "$s6nfclib23OperationReadPublicDataC31tagReaderSessionDidBecomeActiveyySo06NFCTaggH0CF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC16tagReaderSession_22didInvalidateWithErrorySo06NFCTaggH0C_s0L0_ptF", + "mangledName": "$s6nfclib23OperationReadPublicDataC16tagReaderSession_22didInvalidateWithErrorySo06NFCTaggH0C_s0L0_ptF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData", + "mangledName": "$s6nfclib23OperationReadPublicDataC", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "Final", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CardReader", + "printedName": "CardReader", + "children": [ + { + "kind": "Function", + "name": "transmit", + "printedName": "transmit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(responseData: [Swift.UInt8], sw: Swift.UInt16)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10CardReaderP8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "mangledName": "$s6nfclib10CardReaderP8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardReader>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendAPDU", + "printedName": "sendAPDU(cls:ins:p1Byte:p2Byte:data:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any Swift.Collection)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Collection", + "printedName": "any Swift.Collection", + "usr": "s:Sl" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt8?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10CardReaderPAAE8sendAPDU3cls3ins6p1Byte02p2I04data02leI010Foundation4DataVs5UInt8V_A3OSl_pAO7ElementRts_XPSgAOSgtYaKF", + "mangledName": "$s6nfclib10CardReaderPAAE8sendAPDU3cls3ins6p1Byte02p2I04data02leI010Foundation4DataVs5UInt8V_A3OSl_pAO7ElementRts_XPSgAOSgtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardReader>", + "sugared_genericSig": "", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib10CardReaderP", + "mangledName": "$s6nfclib10CardReaderP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CodeType", + "printedName": "CodeType", + "children": [ + { + "kind": "Var", + "name": "puk", + "printedName": "puk", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO3pukyA2CmF", + "mangledName": "$s6nfclib8CodeTypeO3pukyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pin1", + "printedName": "pin1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO4pin1yA2CmF", + "mangledName": "$s6nfclib8CodeTypeO4pin1yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pin2", + "printedName": "pin2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO4pin2yA2CmF", + "mangledName": "$s6nfclib8CodeTypeO4pin2yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CodeTypeO4nameSSvp", + "mangledName": "$s6nfclib8CodeTypeO4nameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CodeTypeO4nameSSvg", + "mangledName": "$s6nfclib8CodeTypeO4nameSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CodeType?", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8CodeTypeO8rawValueACSgSu_tcfc", + "mangledName": "$s6nfclib8CodeTypeO8rawValueACSgSu_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CodeTypeO8rawValueSuvp", + "mangledName": "$s6nfclib8CodeTypeO8rawValueSuvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CodeTypeO8rawValueSuvg", + "mangledName": "$s6nfclib8CodeTypeO8rawValueSuvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib8CodeTypeO", + "mangledName": "$s6nfclib8CodeTypeO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "UInt", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardCommands", + "printedName": "CardCommands", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib12CardCommandsP12canChangePUKSbvp", + "mangledName": "$s6nfclib12CardCommandsP12canChangePUKSbvp", + "moduleName": "nfclib", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib12CardCommandsP12canChangePUKSbvg", + "mangledName": "$s6nfclib12CardCommandsP12canChangePUKSbvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP14readPublicDataAA0B4InfoVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP14readPublicDataAA0B4InfoVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0E4TypeOYaKF", + "mangledName": "$s6nfclib12CardCommandsP24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0E4TypeOYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP10changeCode_2to06verifyE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib12CardCommandsP10changeCode_2to06verifyE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP10verifyCode_4codeyAA0E4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib12CardCommandsP10verifyCode_4codeyAA0E4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP11unblockCode_3puk03newE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib12CardCommandsP11unblockCode_3puk03newE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP12authenticate3for8withPin110Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP12authenticate3for8withPin110Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureJ0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureJ0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP11decryptData_8withPin110Foundation0E0VAH_AA06SecureE0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP11decryptData_8withPin110Foundation0E0VAH_AA06SecureE0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "TKBERTLVRecord", + "printedName": "TKBERTLVRecord", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:bytes:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Constructor", + "usr": "s:So14TKBERTLVRecordC6nfclibE3tag5bytesABs6UInt64V_xtc10Foundation12DataProtocolRzlufc", + "mangledName": "$sSo14TKBERTLVRecordC6nfclibE3tag5bytesABs6UInt64V_xtc10Foundation12DataProtocolRzlufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:publicKey:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "ECPublicKey", + "printedName": "SwiftECC.ECPublicKey", + "usr": "s:8SwiftECC11ECPublicKeyC" + } + ], + "declKind": "Constructor", + "usr": "s:So14TKBERTLVRecordC6nfclibE3tag9publicKeyABs6UInt64V_8SwiftECC08ECPublicE0CtKcfc", + "mangledName": "$sSo14TKBERTLVRecordC6nfclibE3tag9publicKeyABs6UInt64V_8SwiftECC08ECPublicE0CtKcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Convenience" + } + ], + "declKind": "Class", + "usr": "c:objc(cs)TKBERTLVRecord", + "moduleName": "CryptoTokenKit", + "isOpen": true, + "intro_iOS": "10.0", + "objc_name": "TKBERTLVRecord", + "declAttributes": [ + "Available", + "ObjC", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)TKTLVRecord", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "CryptoTokenKit.TKTLVRecord", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "Var", + "name": "hex", + "printedName": "hex", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10Foundation12DataProtocolP6nfclibE3hexSSvp", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE3hexSSvp", + "moduleName": "nfclib", + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10Foundation12DataProtocolP6nfclibE3hexSSvg", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE3hexSSvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "chunked", + "printedName": "chunked(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0.SubSequence]", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibE7chunked4intoSay11SubSequenceQzGSi_tF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE7chunked4intoSay11SubSequenceQzGSi_tF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "removePadding", + "printedName": "removePadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibE13removePadding11SubSequenceQzyKF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE13removePadding11SubSequenceQzyKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "toHex", + "printedName": "toHex", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvp", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvp", + "moduleName": "nfclib", + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvg", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "chunked", + "printedName": "chunked(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0.SubSequence]", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE7chunked4intoSay11SubSequenceQzGSi_tF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE7chunked4intoSay11SubSequenceQzGSi_tF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "removePadding", + "printedName": "removePadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE13removePadding11SubSequenceQzyKF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE13removePadding11SubSequenceQzyKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(hex:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "τ_0_0?", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE3hexxSgSS_tcfc", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE3hexxSgSS_tcfc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "addPadding", + "printedName": "addPadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE10addPaddingxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE10addPaddingxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "^", + "printedName": "^(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_xtFZ", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_xtFZ", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "^", + "printedName": "^(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_1_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_qd__tSlRd__s5UInt8V7ElementRtd__lFZ", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_qd__tSlRd__s5UInt8V7ElementRtd__lFZ", + "moduleName": "nfclib", + "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_1_0 : Swift.Collection, τ_0_0.Index == Swift.Int, τ_1_0.Element == Swift.UInt8>", + "sugared_genericSig": "", + "static": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "increment", + "printedName": "increment()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE9incrementxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE9incrementxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "declAttributes": [ + "Mutating" + ], + "isFromExtension": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "leftShiftOneBit", + "printedName": "leftShiftOneBit()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE15leftShiftOneBitxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE15leftShiftOneBitxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP", + "moduleName": "Foundation", + "genericSig": "<τ_0_0 : Swift.RandomAccessCollection, τ_0_0.Element == Swift.UInt8, τ_0_0.Regions : Swift.BidirectionalCollection, τ_0_0.SubSequence : Foundation.DataProtocol, τ_0_0.Regions.Element : Foundation.ContiguousBytes, τ_0_0.Regions.Element : Foundation.DataProtocol, τ_0_0.Regions.Element.SubSequence : Foundation.ContiguousBytes>", + "sugared_genericSig": "", + "intro_Macosx": "10.10", + "intro_iOS": "8.0", + "intro_tvOS": "9.0", + "intro_watchOS": "2.0", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "usr": "s:ST", + "mangledName": "$sST" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt16", + "printedName": "UInt16", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:s6UInt16V6nfclibEyABs5UInt8V_AEtcfc", + "mangledName": "$ss6UInt16V6nfclibEyABs5UInt8V_AEtcfc", + "moduleName": "nfclib", + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:s6UInt16V", + "mangledName": "$ss6UInt16V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt16.Words", + "usr": "s:s6UInt16V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt16.SIMD2Storage", + "usr": "s:s6UInt16V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt16.SIMD4Storage", + "usr": "s:s6UInt16V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt16.SIMD8Storage", + "usr": "s:s6UInt16V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt16.SIMD16Storage", + "usr": "s:s6UInt16V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt16.SIMD32Storage", + "usr": "s:s6UInt16V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt16.SIMD64Storage", + "usr": "s:s6UInt16V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "_StringElement", + "printedName": "_StringElement", + "usr": "s:s14_StringElementP", + "mangledName": "$ss14_StringElementP" + }, + { + "kind": "Conformance", + "name": "ASN1IntegerRepresentable", + "printedName": "ASN1IntegerRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerBytes", + "printedName": "IntegerBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "IntegerBytesCollection", + "printedName": "SwiftASN1.IntegerBytesCollection", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "usr": "s:9SwiftASN122IntegerBytesCollectionV" + } + ] + } + ], + "usr": "s:9SwiftASN10B20IntegerRepresentableP", + "mangledName": "$s9SwiftASN10B20IntegerRepresentableP" + }, + { + "kind": "Conformance", + "name": "BERImplicitlyTaggable", + "printedName": "BERImplicitlyTaggable", + "usr": "s:9SwiftASN121BERImplicitlyTaggableP", + "mangledName": "$s9SwiftASN121BERImplicitlyTaggableP" + }, + { + "kind": "Conformance", + "name": "BERParseable", + "printedName": "BERParseable", + "usr": "s:9SwiftASN112BERParseableP", + "mangledName": "$s9SwiftASN112BERParseableP" + }, + { + "kind": "Conformance", + "name": "BERSerializable", + "printedName": "BERSerializable", + "usr": "s:9SwiftASN115BERSerializableP", + "mangledName": "$s9SwiftASN115BERSerializableP" + }, + { + "kind": "Conformance", + "name": "DERImplicitlyTaggable", + "printedName": "DERImplicitlyTaggable", + "usr": "s:9SwiftASN121DERImplicitlyTaggableP", + "mangledName": "$s9SwiftASN121DERImplicitlyTaggableP" + }, + { + "kind": "Conformance", + "name": "DERParseable", + "printedName": "DERParseable", + "usr": "s:9SwiftASN112DERParseableP", + "mangledName": "$s9SwiftASN112DERParseableP" + }, + { + "kind": "Conformance", + "name": "DERSerializable", + "printedName": "DERSerializable", + "usr": "s:9SwiftASN115DERSerializableP", + "mangledName": "$s9SwiftASN115DERSerializableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NFCTagReaderSession", + "printedName": "NFCTagReaderSession", + "declKind": "Class", + "usr": "c:objc(cs)NFCTagReaderSession", + "moduleName": "CoreNFC", + "isOpen": true, + "intro_iOS": "13.0", + "objc_name": "NFCTagReaderSession", + "declAttributes": [ + "Available", + "ObjC", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NFCReaderSession", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "CoreNFC.NFCReaderSession", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NFCTag", + "printedName": "NFCTag", + "declKind": "Enum", + "usr": "s:7CoreNFC6NFCTagO", + "mangledName": "$s7CoreNFC6NFCTagO", + "moduleName": "CoreNFC", + "intro_iOS": "13.0", + "declAttributes": [ + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ECPublicKey", + "printedName": "ECPublicKey", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(domain:point:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SwiftECC.ECPublicKey?", + "children": [ + { + "kind": "TypeNominal", + "name": "ECPublicKey", + "printedName": "SwiftECC.ECPublicKey", + "usr": "s:8SwiftECC11ECPublicKeyC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Constructor", + "usr": "s:8SwiftECC11ECPublicKeyC6nfclibE6domain5pointACSgAA6DomainC_10Foundation4DataVtKcfc", + "mangledName": "$s8SwiftECC11ECPublicKeyC6nfclibE6domain5pointACSgAA6DomainC_10Foundation4DataVtKcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "x963Representation", + "printedName": "x963Representation()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:8SwiftECC11ECPublicKeyC6nfclibE18x963RepresentationSays5UInt8VGyKF", + "mangledName": "$s8SwiftECC11ECPublicKeyC6nfclibE18x963RepresentationSays5UInt8VGyKF", + "moduleName": "nfclib", + "isOpen": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:8SwiftECC11ECPublicKeyC", + "mangledName": "$s8SwiftECC11ECPublicKeyC", + "moduleName": "SwiftECC", + "isOpen": true, + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Array", + "printedName": "Array", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(hex:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:Sa6nfclibs5UInt8VRszlE3hexSayACGSS_tcfc", + "mangledName": "$sSa6nfclibs5UInt8VRszlE3hexSayACGSS_tcfc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 == Swift.UInt8>", + "sugared_genericSig": "", + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:Sa", + "mangledName": "$sSa", + "moduleName": "Swift", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "EagerMove", + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "ContiguousBytes", + "printedName": "ContiguousBytes", + "usr": "s:10Foundation15ContiguousBytesP", + "mangledName": "$s10Foundation15ContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "Regions", + "printedName": "Regions", + "children": [ + { + "kind": "TypeNominal", + "name": "CollectionOfOne", + "printedName": "Swift.CollectionOfOne<[Swift.UInt8]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s15CollectionOfOneV" + } + ] + } + ], + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP" + }, + { + "kind": "Conformance", + "name": "DecodableWithConfiguration", + "printedName": "DecodableWithConfiguration", + "children": [ + { + "kind": "TypeWitness", + "name": "DecodingConfiguration", + "printedName": "DecodingConfiguration", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.DecodingConfiguration" + } + ] + } + ], + "usr": "s:10Foundation26DecodableWithConfigurationP", + "mangledName": "$s10Foundation26DecodableWithConfigurationP" + }, + { + "kind": "Conformance", + "name": "EncodableWithConfiguration", + "printedName": "EncodableWithConfiguration", + "children": [ + { + "kind": "TypeWitness", + "name": "EncodingConfiguration", + "printedName": "EncodingConfiguration", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.EncodingConfiguration" + } + ] + } + ], + "usr": "s:10Foundation26EncodableWithConfigurationP", + "mangledName": "$s10Foundation26EncodableWithConfigurationP" + }, + { + "kind": "Conformance", + "name": "MutableDataProtocol", + "printedName": "MutableDataProtocol", + "usr": "s:10Foundation19MutableDataProtocolP", + "mangledName": "$s10Foundation19MutableDataProtocolP" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexingIterator", + "printedName": "Swift.IndexingIterator<[τ_0_0]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s16IndexingIteratorV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "MutableCollection", + "printedName": "MutableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + } + ], + "usr": "s:SM", + "mangledName": "$sSM" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "RangeReplaceableCollection", + "printedName": "RangeReplaceableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + } + ], + "usr": "s:Sm", + "mangledName": "$sSm" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexingIterator", + "printedName": "Swift.IndexingIterator<[τ_0_0]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s16IndexingIteratorV" + } + ] + } + ], + "usr": "s:ST", + "mangledName": "$sST" + }, + { + "kind": "Conformance", + "name": "_ArrayProtocol", + "printedName": "_ArrayProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "_Buffer", + "printedName": "_Buffer", + "children": [ + { + "kind": "TypeNominal", + "name": "_ArrayBuffer", + "printedName": "Swift._ArrayBuffer<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s12_ArrayBufferV" + } + ] + } + ], + "usr": "s:s14_ArrayProtocolP", + "mangledName": "$ss14_ArrayProtocolP" + }, + { + "kind": "Conformance", + "name": "_DestructorSafeContainer", + "printedName": "_DestructorSafeContainer", + "usr": "s:s24_DestructorSafeContainerP", + "mangledName": "$ss24_DestructorSafeContainerP" + }, + { + "kind": "Conformance", + "name": "_HasContiguousBytes", + "printedName": "_HasContiguousBytes", + "usr": "s:s19_HasContiguousBytesP", + "mangledName": "$ss19_HasContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSArray", + "printedName": "Foundation.NSArray", + "usr": "c:objc(cs)NSArray" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "StringLiteral", + "offset": 1066, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "Array", + "offset": 1114, + "length": 6, + "value": "[0x00]" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "StringLiteral", + "offset": 1193, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 927, + "length": 5, + "value": "\"RSA\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 962, + "length": 4, + "value": "\"EC\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 1001, + "length": 9, + "value": "\"Unknown\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1019, + "length": 27, + "value": "\"ee.ria.digidoc.RIADigiDoc\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1058, + "length": 15, + "value": "\"CardReaderNFC\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1182, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1245, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1562, + "length": 22, + "value": "\"04007f00070202040204\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1660, + "length": 22, + "value": "\"04007f00070202040404\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1942, + "length": 2, + "value": "12" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1968, + "length": 2, + "value": "13" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1994, + "length": 2, + "value": "15" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2020, + "length": 2, + "value": "16" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2046, + "length": 2, + "value": "17" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2072, + "length": 2, + "value": "18" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 852, + "length": 67, + "value": "\"3B DB 96 00 80 B1 FE 45 1F 83 00 12 23 3F 53 65 49 44 0F 90 00 F1\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 952, + "length": 70, + "value": "\"3B DC 96 00 80 B1 FE 45 1F 83 00 12 23 3F 54 65 49 44 32 0F 90 00 C3\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1054, + "length": 49, + "value": "\"A0 00 00 00 77 01 08 00 07 00 00 FE 00 00 01 00\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1139, + "length": 49, + "value": "\"51 53 43 44 20 41 70 70 6C 69 63 61 74 69 6F 6E\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1228, + "length": 40, + "value": "\"E8 28 BD 08 0F F2 50 4F 54 20 41 57 50\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1299, + "length": 4, + "value": "0x81" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1333, + "length": 4, + "value": "0x9F" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "BooleanLiteral", + "offset": 1774, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1832, + "length": 4, + "value": "0xFF" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommandsInternal.swift", + "kind": "IntegerLiteral", + "offset": 1216, + "length": 4, + "value": "0x04" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommandsInternal.swift", + "kind": "IntegerLiteral", + "offset": 1238, + "length": 4, + "value": "0x0C" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadCertificate.swift", + "kind": "StringLiteral", + "offset": 1489, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadCertificate.swift", + "kind": "StringLiteral", + "offset": 1574, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1103, + "length": 76, + "value": "\"3B FF 96 00 00 80 31 FE 43 80 31 B8 53 65 49 44 64 B0 85 05 10 12 23 3F 1D\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1222, + "length": 37, + "value": "\"A0 00 00 00 63 50 4B 43 53 2D 31 35\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1308, + "length": 49, + "value": "\"A0 00 00 00 18 10 02 03 00 00 00 00 00 00 00 01\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1399, + "length": 4, + "value": "0x01" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1444, + "length": 4, + "value": "0x05" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "BooleanLiteral", + "offset": 1479, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1538, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Extensions\/NFCISO7816Tag+Extensions.swift", + "kind": "IntegerLiteral", + "offset": 1169, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Extensions\/NFCISO7816Tag+Extensions.swift", + "kind": "IntegerLiteral", + "offset": 2281, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationUnblockPin.swift", + "kind": "StringLiteral", + "offset": 1174, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationUnblockPin.swift", + "kind": "StringLiteral", + "offset": 1319, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/ProgressBar.swift", + "kind": "IntegerLiteral", + "offset": 936, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "IntegerLiteral", + "offset": 1026, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "Array", + "offset": 2744, + "length": 298, + "value": "[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87]" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "IntegerLiteral", + "offset": 3562, + "length": 1, + "value": "8" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 885, + "length": 3, + "value": "256" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 908, + "length": 3, + "value": "384" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 931, + "length": 3, + "value": "512" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1104, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1134, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1169, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1203, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1240, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1275, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1858, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1870, + "length": 9, + "value": "2" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1890, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1904, + "length": 11, + "value": "4" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1926, + "length": 19, + "value": "5" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1956, + "length": 12, + "value": "6" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 10, + "value": "7" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 2000, + "length": 12, + "value": "8" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadPublicData.swift", + "kind": "StringLiteral", + "offset": 1061, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadPublicData.swift", + "kind": "StringLiteral", + "offset": 1101, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 2950, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 2984, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 3006, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 877, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 895, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 913, + "length": 1, + "value": "2" + } + ] +} \ No newline at end of file diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface new file mode 100644 index 00000000..e402adf7 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -0,0 +1,229 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -Onone -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name nfclib +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2 +import BigInt +import CommonCrypto +@preconcurrency import CoreNFC +import CryptoKit +import CryptoTokenKit +import Darwin +import Foundation +import OSLog +import Security +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_exported import nfclib +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationSignHash : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startSigning(CAN: Swift.String, PIN2: nfclib.SecureData, hash: Foundation.Data) async throws -> Foundation.Data + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationSignHash : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_hasMissingDesignatedInitializers final public class WebEidData : Swift.Sendable { + final public let unverifiedCertificate: Swift.String + final public let signingCertificate: Swift.String + final public let algorithm: Swift.String + final public let signature: Swift.String + final public var formattedDescription: Swift.String { + get + } + @objc deinit +} +final public class SecureData : Swift.Sendable { + public init(_ bytes: [Swift.UInt8]) + public init(_ data: Foundation.Data) + @objc deinit + final public var count: Swift.Int { + get + } + final public func secureZero() +} +public let rsaAlgorithmName: Swift.String +public let ecAlgorithmName: Swift.String +public let unknownAlgorithmName: Swift.String +public enum AuthenticateWithWebEidError : Swift.Error { + case failedToReadPublicKey + case failedToDetermineAlgorithm + case failedToHashData + case failedToMapAlgorithm + case failedCertificateExpired + case failedCertificateNotYetValid + public static func == (a: nfclib.AuthenticateWithWebEidError, b: nfclib.AuthenticateWithWebEidError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_Concurrency.MainActor public class OperationAuthenticateWithWebEID : ObjectiveC.NSObject { + @_Concurrency.MainActor public init(CAN: Swift.String, pin1: nfclib.SecureData, challenge: Swift.String, origin: Swift.String) + @_Concurrency.MainActor public func startReading() async throws -> nfclib.WebEidData + @objc deinit +} +extension nfclib.OperationAuthenticateWithWebEID : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func getAlgorithmNameTypeAndLength(from key: Security.SecKey) -> (algorithm: Swift.String, keyLength: Swift.Int)? + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) + @_Concurrency.MainActor public func mapToAlgorithm(algorithm: Swift.String, bitLength: Swift.Int) -> Swift.String? +} +public struct SignatureAlgorithmInfo { +} +public enum ReadCertificateError : Swift.Error { + case certificateUsageNotSpecified + case failedToReadCertificate + case general + public static func == (a: nfclib.ReadCertificateError, b: nfclib.ReadCertificateError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CertificateUsage { + case auth + case sign + public static func == (a: nfclib.CertificateUsage, b: nfclib.CertificateUsage) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension CoreNFC.NFCTagReaderSession : @unchecked @retroactive Swift.Sendable { +} +extension CoreNFC.NFCTag : @unchecked @retroactive Swift.Sendable { +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationReadCertificate : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, certUsage: nfclib.CertificateUsage) async throws -> Security.SecCertificate + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadCertificate : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum UnblockPINError : Swift.Error { + case missingRequiredParameter + case failed + case general + public static func == (a: nfclib.UnblockPINError, b: nfclib.UnblockPINError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationUnblockPin : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, codeType: nfclib.CodeType, puk: nfclib.SecureData, newPin: nfclib.SecureData) async throws + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationUnblockPin : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_Concurrency.MainActor public class NFCConnection { + @_Concurrency.MainActor public init() + @_Concurrency.MainActor public func setup(_ session: CoreNFC.NFCTagReaderSession, tags: [CoreNFC.NFCTag]) async throws -> any CoreNFC.NFCISO7816Tag + @_Concurrency.MainActor public func getCardCommands(_: CoreNFC.NFCTagReaderSession, tag: any CoreNFC.NFCISO7816Tag, CAN: Swift.String) async throws -> any nfclib.CardCommands + @objc deinit +} +public enum IdCardError : Swift.Error { + case wrongCAN, wrongPIN(triesLeft: Swift.Int), invalidNewPIN, sessionError +} +public enum IdCardInternalError : Swift.Error { + case missingRESTag, missingMACTag, invalidMACValue, failedReadingField(nfclib.CardField), hexConversionFailed, AESCBCError, sendCommandFailed(message: Swift.String), invalidResponse(message: Swift.String), swError(Swift.UInt16), pinVerificationFailed, remainingPinRetryCount(Swift.Int), invalidNewPin, notSupportedCodeType, dataPaddingError, invalidAPDU, authenticationFailed, canAuthenticationFailed, invalidTag, cardNotSupported, nfcNotSupported, connectionFailed, multipleTagsDetected, couldNotVerifyChipsMAC, cancelledByUser, sessionInvalidated, readerProcessFailed, failedToRemovePadding, notSupportedAlgorithm + public func getIdCardError() -> nfclib.IdCardError +} +public struct PinError : Swift.Error { +} +public struct CardInfo : Swift.Sendable, Swift.Hashable { + public var givenName: Swift.String + public var surname: Swift.String + public var personalCode: Swift.String + public var citizenship: Swift.String + public var documentNumber: Swift.String + public var dateOfExpiry: Swift.String + public init(givenName: Swift.String = "", surname: Swift.String = "", personalCode: Swift.String = "", citizenship: Swift.String = "", documentNumber: Swift.String = "", dateOfExpiry: Swift.String = "") + public var formattedDescription: Swift.String { + get + } + public static func == (a: nfclib.CardInfo, b: nfclib.CardInfo) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CardField : Swift.Int, Swift.Sendable { + case surname, firstName, sex, citizenship, dateAndPlaceOfBirth, personalCode, documentNr, dateOfExpiry + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor final public class OperationReadPublicData : ObjectiveC.NSObject { + @_Concurrency.MainActor final public func startReading(CAN: Swift.String) async throws -> nfclib.CardInfo + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadPublicData : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor final public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor final public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor final public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum CodeType : Swift.UInt, Swift.Sendable { + case puk + case pin1 + case pin2 + public var name: Swift.String { + get + } + public init?(rawValue: Swift.UInt) + public typealias RawValue = Swift.UInt + public var rawValue: Swift.UInt { + get + } +} +public protocol CardCommands : Swift.Sendable { + var canChangePUK: Swift.Bool { get } + func readPublicData() async throws -> nfclib.CardInfo + func readAuthenticationCertificate() async throws -> Foundation.Data + func readSignatureCertificate() async throws -> Foundation.Data + func readCodeTryCounterRecord(_ type: nfclib.CodeType) async throws -> (retryCount: Swift.UInt8, pinActive: Swift.Bool) + func changeCode(_ type: nfclib.CodeType, to code: nfclib.SecureData, verifyCode: nfclib.SecureData) async throws + func verifyCode(_ type: nfclib.CodeType, code: nfclib.SecureData) async throws + func unblockCode(_ type: nfclib.CodeType, puk: nfclib.SecureData, newCode: nfclib.SecureData) async throws + func authenticate(for hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data + func calculateSignature(for hash: Foundation.Data, withPin2 pin2: nfclib.SecureData) async throws -> Foundation.Data + func decryptData(_ hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data +} +extension Foundation.DataProtocol where Self : Foundation.MutableDataProtocol, Self.Index == Swift.Int { + public static func ^ (xVal: Self, yVal: Self) -> Self +} +extension nfclib.OperationSignHash : Swift.Sendable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Equatable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Hashable {} +extension nfclib.OperationAuthenticateWithWebEID : Swift.Sendable {} +extension nfclib.CodeType : Swift.Equatable {} +extension nfclib.CodeType : Swift.Hashable {} +extension nfclib.CodeType : Swift.RawRepresentable {} +extension nfclib.ReadCertificateError : Swift.Equatable {} +extension nfclib.ReadCertificateError : Swift.Hashable {} +extension nfclib.CertificateUsage : Swift.Equatable {} +extension nfclib.CertificateUsage : Swift.Hashable {} +extension nfclib.OperationReadCertificate : Swift.Sendable {} +extension nfclib.UnblockPINError : Swift.Equatable {} +extension nfclib.UnblockPINError : Swift.Hashable {} +extension nfclib.OperationUnblockPin : Swift.Sendable {} +extension nfclib.NFCConnection : Swift.Sendable {} +extension nfclib.CardField : Swift.Equatable {} +extension nfclib.CardField : Swift.Hashable {} +extension nfclib.CardField : Swift.RawRepresentable {} +extension nfclib.OperationReadPublicData : Swift.Sendable {} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftdoc new file mode 100644 index 00000000..6205db08 Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftinterface new file mode 100644 index 00000000..e402adf7 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -0,0 +1,229 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -Onone -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name nfclib +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2 +import BigInt +import CommonCrypto +@preconcurrency import CoreNFC +import CryptoKit +import CryptoTokenKit +import Darwin +import Foundation +import OSLog +import Security +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_exported import nfclib +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationSignHash : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startSigning(CAN: Swift.String, PIN2: nfclib.SecureData, hash: Foundation.Data) async throws -> Foundation.Data + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationSignHash : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_hasMissingDesignatedInitializers final public class WebEidData : Swift.Sendable { + final public let unverifiedCertificate: Swift.String + final public let signingCertificate: Swift.String + final public let algorithm: Swift.String + final public let signature: Swift.String + final public var formattedDescription: Swift.String { + get + } + @objc deinit +} +final public class SecureData : Swift.Sendable { + public init(_ bytes: [Swift.UInt8]) + public init(_ data: Foundation.Data) + @objc deinit + final public var count: Swift.Int { + get + } + final public func secureZero() +} +public let rsaAlgorithmName: Swift.String +public let ecAlgorithmName: Swift.String +public let unknownAlgorithmName: Swift.String +public enum AuthenticateWithWebEidError : Swift.Error { + case failedToReadPublicKey + case failedToDetermineAlgorithm + case failedToHashData + case failedToMapAlgorithm + case failedCertificateExpired + case failedCertificateNotYetValid + public static func == (a: nfclib.AuthenticateWithWebEidError, b: nfclib.AuthenticateWithWebEidError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_Concurrency.MainActor public class OperationAuthenticateWithWebEID : ObjectiveC.NSObject { + @_Concurrency.MainActor public init(CAN: Swift.String, pin1: nfclib.SecureData, challenge: Swift.String, origin: Swift.String) + @_Concurrency.MainActor public func startReading() async throws -> nfclib.WebEidData + @objc deinit +} +extension nfclib.OperationAuthenticateWithWebEID : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func getAlgorithmNameTypeAndLength(from key: Security.SecKey) -> (algorithm: Swift.String, keyLength: Swift.Int)? + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) + @_Concurrency.MainActor public func mapToAlgorithm(algorithm: Swift.String, bitLength: Swift.Int) -> Swift.String? +} +public struct SignatureAlgorithmInfo { +} +public enum ReadCertificateError : Swift.Error { + case certificateUsageNotSpecified + case failedToReadCertificate + case general + public static func == (a: nfclib.ReadCertificateError, b: nfclib.ReadCertificateError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CertificateUsage { + case auth + case sign + public static func == (a: nfclib.CertificateUsage, b: nfclib.CertificateUsage) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension CoreNFC.NFCTagReaderSession : @unchecked @retroactive Swift.Sendable { +} +extension CoreNFC.NFCTag : @unchecked @retroactive Swift.Sendable { +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationReadCertificate : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, certUsage: nfclib.CertificateUsage) async throws -> Security.SecCertificate + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadCertificate : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum UnblockPINError : Swift.Error { + case missingRequiredParameter + case failed + case general + public static func == (a: nfclib.UnblockPINError, b: nfclib.UnblockPINError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationUnblockPin : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, codeType: nfclib.CodeType, puk: nfclib.SecureData, newPin: nfclib.SecureData) async throws + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationUnblockPin : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_Concurrency.MainActor public class NFCConnection { + @_Concurrency.MainActor public init() + @_Concurrency.MainActor public func setup(_ session: CoreNFC.NFCTagReaderSession, tags: [CoreNFC.NFCTag]) async throws -> any CoreNFC.NFCISO7816Tag + @_Concurrency.MainActor public func getCardCommands(_: CoreNFC.NFCTagReaderSession, tag: any CoreNFC.NFCISO7816Tag, CAN: Swift.String) async throws -> any nfclib.CardCommands + @objc deinit +} +public enum IdCardError : Swift.Error { + case wrongCAN, wrongPIN(triesLeft: Swift.Int), invalidNewPIN, sessionError +} +public enum IdCardInternalError : Swift.Error { + case missingRESTag, missingMACTag, invalidMACValue, failedReadingField(nfclib.CardField), hexConversionFailed, AESCBCError, sendCommandFailed(message: Swift.String), invalidResponse(message: Swift.String), swError(Swift.UInt16), pinVerificationFailed, remainingPinRetryCount(Swift.Int), invalidNewPin, notSupportedCodeType, dataPaddingError, invalidAPDU, authenticationFailed, canAuthenticationFailed, invalidTag, cardNotSupported, nfcNotSupported, connectionFailed, multipleTagsDetected, couldNotVerifyChipsMAC, cancelledByUser, sessionInvalidated, readerProcessFailed, failedToRemovePadding, notSupportedAlgorithm + public func getIdCardError() -> nfclib.IdCardError +} +public struct PinError : Swift.Error { +} +public struct CardInfo : Swift.Sendable, Swift.Hashable { + public var givenName: Swift.String + public var surname: Swift.String + public var personalCode: Swift.String + public var citizenship: Swift.String + public var documentNumber: Swift.String + public var dateOfExpiry: Swift.String + public init(givenName: Swift.String = "", surname: Swift.String = "", personalCode: Swift.String = "", citizenship: Swift.String = "", documentNumber: Swift.String = "", dateOfExpiry: Swift.String = "") + public var formattedDescription: Swift.String { + get + } + public static func == (a: nfclib.CardInfo, b: nfclib.CardInfo) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CardField : Swift.Int, Swift.Sendable { + case surname, firstName, sex, citizenship, dateAndPlaceOfBirth, personalCode, documentNr, dateOfExpiry + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor final public class OperationReadPublicData : ObjectiveC.NSObject { + @_Concurrency.MainActor final public func startReading(CAN: Swift.String) async throws -> nfclib.CardInfo + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadPublicData : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor final public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor final public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor final public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum CodeType : Swift.UInt, Swift.Sendable { + case puk + case pin1 + case pin2 + public var name: Swift.String { + get + } + public init?(rawValue: Swift.UInt) + public typealias RawValue = Swift.UInt + public var rawValue: Swift.UInt { + get + } +} +public protocol CardCommands : Swift.Sendable { + var canChangePUK: Swift.Bool { get } + func readPublicData() async throws -> nfclib.CardInfo + func readAuthenticationCertificate() async throws -> Foundation.Data + func readSignatureCertificate() async throws -> Foundation.Data + func readCodeTryCounterRecord(_ type: nfclib.CodeType) async throws -> (retryCount: Swift.UInt8, pinActive: Swift.Bool) + func changeCode(_ type: nfclib.CodeType, to code: nfclib.SecureData, verifyCode: nfclib.SecureData) async throws + func verifyCode(_ type: nfclib.CodeType, code: nfclib.SecureData) async throws + func unblockCode(_ type: nfclib.CodeType, puk: nfclib.SecureData, newCode: nfclib.SecureData) async throws + func authenticate(for hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data + func calculateSignature(for hash: Foundation.Data, withPin2 pin2: nfclib.SecureData) async throws -> Foundation.Data + func decryptData(_ hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data +} +extension Foundation.DataProtocol where Self : Foundation.MutableDataProtocol, Self.Index == Swift.Int { + public static func ^ (xVal: Self, yVal: Self) -> Self +} +extension nfclib.OperationSignHash : Swift.Sendable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Equatable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Hashable {} +extension nfclib.OperationAuthenticateWithWebEID : Swift.Sendable {} +extension nfclib.CodeType : Swift.Equatable {} +extension nfclib.CodeType : Swift.Hashable {} +extension nfclib.CodeType : Swift.RawRepresentable {} +extension nfclib.ReadCertificateError : Swift.Equatable {} +extension nfclib.ReadCertificateError : Swift.Hashable {} +extension nfclib.CertificateUsage : Swift.Equatable {} +extension nfclib.CertificateUsage : Swift.Hashable {} +extension nfclib.OperationReadCertificate : Swift.Sendable {} +extension nfclib.UnblockPINError : Swift.Equatable {} +extension nfclib.UnblockPINError : Swift.Hashable {} +extension nfclib.OperationUnblockPin : Swift.Sendable {} +extension nfclib.NFCConnection : Swift.Sendable {} +extension nfclib.CardField : Swift.Equatable {} +extension nfclib.CardField : Swift.Hashable {} +extension nfclib.CardField : Swift.RawRepresentable {} +extension nfclib.OperationReadPublicData : Swift.Sendable {} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.abi.json b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.abi.json new file mode 100644 index 00000000..08a76752 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -0,0 +1,15555 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "nfclib", + "printedName": "nfclib", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoKit", + "printedName": "CryptoKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "OperationSignHash", + "printedName": "OperationSignHash", + "children": [ + { + "kind": "Function", + "name": "startSigning", + "printedName": "startSigning(CAN:PIN2:hash:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC12startSigning3CAN4PIN24hash10Foundation4DataVSS_AA06SecureK0CAJtYaKF", + "mangledName": "$s6nfclib17OperationSignHashC12startSigning3CAN4PIN24hash10Foundation4DataVSS_AA06SecureK0CAJtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationSignHash", + "printedName": "nfclib.OperationSignHash", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash(im)init", + "mangledName": "$s6nfclib17OperationSignHashCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib17OperationSignHashC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib17OperationSignHashC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17OperationSignHashC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib17OperationSignHashC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationSignHash", + "mangledName": "$s6nfclib17OperationSignHashC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "WebEidData", + "printedName": "WebEidData", + "children": [ + { + "kind": "Var", + "name": "unverifiedCertificate", + "printedName": "unverifiedCertificate", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificateSSvp", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificateSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificateSSvg", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificateSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "signingCertificate", + "printedName": "signingCertificate", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC18signingCertificateSSvp", + "mangledName": "$s6nfclib10WebEidDataC18signingCertificateSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC18signingCertificateSSvg", + "mangledName": "$s6nfclib10WebEidDataC18signingCertificateSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "algorithm", + "printedName": "algorithm", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC9algorithmSSvp", + "mangledName": "$s6nfclib10WebEidDataC9algorithmSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC9algorithmSSvg", + "mangledName": "$s6nfclib10WebEidDataC9algorithmSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "signature", + "printedName": "signature", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC9signatureSSvp", + "mangledName": "$s6nfclib10WebEidDataC9signatureSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC9signatureSSvg", + "mangledName": "$s6nfclib10WebEidDataC9signatureSSvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(unverifiedCertificate:algorithm:signature:signingCertificate:)", + "children": [ + { + "kind": "TypeNominal", + "name": "WebEidData", + "printedName": "nfclib.WebEidData", + "usr": "s:6nfclib10WebEidDataC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10WebEidDataC21unverifiedCertificate9algorithm9signature07signingF0ACSS_S3Stcfc", + "mangledName": "$s6nfclib10WebEidDataC21unverifiedCertificate9algorithm9signature07signingF0ACSS_S3Stcfc", + "moduleName": "nfclib", + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "formattedDescription", + "printedName": "formattedDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10WebEidDataC20formattedDescriptionSSvp", + "mangledName": "$s6nfclib10WebEidDataC20formattedDescriptionSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10WebEidDataC20formattedDescriptionSSvg", + "mangledName": "$s6nfclib10WebEidDataC20formattedDescriptionSSvg", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:6nfclib10WebEidDataC", + "mangledName": "$s6nfclib10WebEidDataC", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Darwin", + "printedName": "Darwin", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "SecureData", + "printedName": "SecureData", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10SecureDataCyACSays5UInt8VGcfc", + "mangledName": "$s6nfclib10SecureDataCyACSays5UInt8VGcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10SecureDataCyAC10Foundation0C0Vcfc", + "mangledName": "$s6nfclib10SecureDataCyAC10Foundation0C0Vcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "withUnsafeBytes", + "printedName": "withUnsafeBytes(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UnsafeRawBufferPointer) throws -> τ_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "UnsafeRawBufferPointer", + "printedName": "Swift.UnsafeRawBufferPointer", + "usr": "s:SW" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC15withUnsafeBytesyxxSWKXEKlF", + "mangledName": "$s6nfclib10SecureDataC15withUnsafeBytesyxxSWKXEKlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "Final", + "Rethrows", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "withUnsafeMutableBytes", + "printedName": "withUnsafeMutableBytes(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UnsafeMutableRawBufferPointer) throws -> τ_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "UnsafeMutableRawBufferPointer", + "printedName": "Swift.UnsafeMutableRawBufferPointer", + "usr": "s:Sw" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC22withUnsafeMutableBytesyxxSwKXEKlF", + "mangledName": "$s6nfclib10SecureDataC22withUnsafeMutableBytesyxxSwKXEKlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "Final", + "Rethrows", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "count", + "printedName": "count", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10SecureDataC5countSivp", + "mangledName": "$s6nfclib10SecureDataC5countSivp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10SecureDataC5countSivg", + "mangledName": "$s6nfclib10SecureDataC5countSivg", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "secureZero", + "printedName": "secureZero()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC10secureZeroyyF", + "mangledName": "$s6nfclib10SecureDataC10secureZeroyyF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "asData", + "printedName": "asData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10SecureDataC02asC010Foundation0C0VyF", + "mangledName": "$s6nfclib10SecureDataC02asC010Foundation0C0VyF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib10SecureDataC", + "mangledName": "$s6nfclib10SecureDataC", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "rsaAlgorithmName", + "printedName": "rsaAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib16rsaAlgorithmNameSSvp", + "mangledName": "$s6nfclib16rsaAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib16rsaAlgorithmNameSSvg", + "mangledName": "$s6nfclib16rsaAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "ecAlgorithmName", + "printedName": "ecAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib15ecAlgorithmNameSSvp", + "mangledName": "$s6nfclib15ecAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib15ecAlgorithmNameSSvg", + "mangledName": "$s6nfclib15ecAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "unknownAlgorithmName", + "printedName": "unknownAlgorithmName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20unknownAlgorithmNameSSvp", + "mangledName": "$s6nfclib20unknownAlgorithmNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20unknownAlgorithmNameSSvg", + "mangledName": "$s6nfclib20unknownAlgorithmNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "convertBytesToX509Certificate", + "printedName": "convertBytesToX509Certificate(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecCertificate", + "printedName": "Security.SecCertificate", + "usr": "c:@T@SecCertificateRef" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib29convertBytesToX509CertificateySo03SecF3Refa10Foundation4DataVKF", + "mangledName": "$s6nfclib29convertBytesToX509CertificateySo03SecF3Refa10Foundation4DataVKF", + "moduleName": "nfclib", + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "CertificateConversionError", + "printedName": "CertificateConversionError", + "children": [ + { + "kind": "Var", + "name": "creationFailed", + "printedName": "creationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateConversionError.Type) -> nfclib.CertificateConversionError", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateConversionError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib26CertificateConversionErrorO14creationFailedyA2CmF", + "mangledName": "$s6nfclib26CertificateConversionErrorO14creationFailedyA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + }, + { + "kind": "TypeNominal", + "name": "CertificateConversionError", + "printedName": "nfclib.CertificateConversionError", + "usr": "s:6nfclib26CertificateConversionErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib26CertificateConversionErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib26CertificateConversionErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib26CertificateConversionErrorO9hashValueSivp", + "mangledName": "$s6nfclib26CertificateConversionErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib26CertificateConversionErrorO9hashValueSivg", + "mangledName": "$s6nfclib26CertificateConversionErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib26CertificateConversionErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib26CertificateConversionErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib26CertificateConversionErrorO", + "mangledName": "$s6nfclib26CertificateConversionErrorO", + "moduleName": "nfclib", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "X509", + "printedName": "X509", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "AuthenticateWithWebEidError", + "printedName": "AuthenticateWithWebEidError", + "children": [ + { + "kind": "Var", + "name": "failedToReadPublicKey", + "printedName": "failedToReadPublicKey", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO21failedToReadPublicKeyyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO21failedToReadPublicKeyyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToDetermineAlgorithm", + "printedName": "failedToDetermineAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO26failedToDetermineAlgorithmyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO26failedToDetermineAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToHashData", + "printedName": "failedToHashData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO16failedToHashDatayA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO16failedToHashDatayA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToMapAlgorithm", + "printedName": "failedToMapAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO20failedToMapAlgorithmyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO20failedToMapAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedCertificateExpired", + "printedName": "failedCertificateExpired", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO24failedCertificateExpiredyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO24failedCertificateExpiredyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedCertificateNotYetValid", + "printedName": "failedCertificateNotYetValid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.AuthenticateWithWebEidError.Type) -> nfclib.AuthenticateWithWebEidError", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.AuthenticateWithWebEidError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO28failedCertificateNotYetValidyA2CmF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO28failedCertificateNotYetValidyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + }, + { + "kind": "TypeNominal", + "name": "AuthenticateWithWebEidError", + "printedName": "nfclib.AuthenticateWithWebEidError", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO9hashValueSivp", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO9hashValueSivg", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib27AuthenticateWithWebEidErrorO", + "mangledName": "$s6nfclib27AuthenticateWithWebEidErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationAuthenticateWithWebEID", + "printedName": "OperationAuthenticateWithWebEID", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(CAN:pin1:challenge:origin:)", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationAuthenticateWithWebEID", + "printedName": "nfclib.OperationAuthenticateWithWebEID", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC3CAN4pin19challenge6originACSS_AA10SecureDataCS2Stcfc", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC3CAN4pin19challenge6originACSS_AA10SecureDataCS2Stcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading()", + "children": [ + { + "kind": "TypeNominal", + "name": "WebEidData", + "printedName": "nfclib.WebEidData", + "usr": "s:6nfclib10WebEidDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC12startReadingAA0E7EidDataCyYaKF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC12startReadingAA0E7EidDataCyYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationAuthenticateWithWebEID", + "printedName": "nfclib.OperationAuthenticateWithWebEID", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID(im)init", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_9didDetectySo06NFCTaghI0C_Say7CoreNFC0L0OGtF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_9didDetectySo06NFCTaghI0C_Say7CoreNFC0L0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getAlgorithmNameTypeAndLength", + "printedName": "getAlgorithmNameTypeAndLength(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(algorithm: Swift.String, keyLength: Swift.Int)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(algorithm: Swift.String, keyLength: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "SecKey", + "printedName": "Security.SecKey", + "usr": "c:@T@SecKeyRef" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC29getAlgorithmNameTypeAndLength4fromSS9algorithm_Si03keyL0tSgSo9SecKeyRefa_tF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC29getAlgorithmNameTypeAndLength4fromSS9algorithm_Si03keyL0tSgSo9SecKeyRefa_tF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC31tagReaderSessionDidBecomeActiveyySo06NFCTaghI0CF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC31tagReaderSessionDidBecomeActiveyySo06NFCTaghI0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_013didInvalidateD5ErrorySo06NFCTaghI0C_s0L0_ptF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC16tagReaderSession_013didInvalidateD5ErrorySo06NFCTaghI0C_s0L0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "mapToAlgorithm", + "printedName": "mapToAlgorithm(algorithm:bitLength:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib31OperationAuthenticateWithWebEIDC14mapToAlgorithm9algorithm9bitLengthSSSgSS_SitF", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC14mapToAlgorithm9algorithm9bitLengthSSSgSS_SitF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationAuthenticateWithWebEID", + "mangledName": "$s6nfclib31OperationAuthenticateWithWebEIDC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "SignatureAlgorithmInfo", + "printedName": "SignatureAlgorithmInfo", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4nameSSvp", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4nameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4nameSSvg", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4nameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bitSize", + "printedName": "bitSize", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib22SignatureAlgorithmInfoV7bitSizeSivp", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV7bitSizeSivp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV7bitSizeSivg", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV7bitSizeSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(name:bitSize:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SignatureAlgorithmInfo", + "printedName": "nfclib.SignatureAlgorithmInfo", + "usr": "s:6nfclib22SignatureAlgorithmInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib22SignatureAlgorithmInfoV4name7bitSizeACSS_Sitcfc", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV4name7bitSizeACSS_Sitcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib22SignatureAlgorithmInfoV", + "mangledName": "$s6nfclib22SignatureAlgorithmInfoV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "OSLog", + "printedName": "OSLog", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "CardReaderNFC", + "printedName": "CardReaderNFC", + "children": [ + { + "kind": "TypeDecl", + "name": "PasswordType", + "printedName": "PasswordType", + "children": [ + { + "kind": "Var", + "name": "id_PasswordType_MRZ", + "printedName": "id_PasswordType_MRZ", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.PasswordType.Type) -> nfclib.CardReaderNFC.PasswordType", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.PasswordType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_MRZyA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_MRZyA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "id_PasswordType_CAN", + "printedName": "id_PasswordType_CAN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.PasswordType.Type) -> nfclib.CardReaderNFC.PasswordType", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.PasswordType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_CANyA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO03id_eF4_CANyA2EmF", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "data", + "printedName": "data", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvp", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvg", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO4dataSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.PasswordType?", + "children": [ + { + "kind": "TypeNominal", + "name": "PasswordType", + "printedName": "nfclib.CardReaderNFC.PasswordType", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValueAESgs5UInt8V_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValueAESgs5UInt8V_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvp", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvg", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO8rawValues5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC12PasswordTypeO", + "mangledName": "$s6nfclib13CardReaderNFCC12PasswordTypeO", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "enumRawTypeName": "UInt8", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "MappingType", + "printedName": "MappingType", + "children": [ + { + "kind": "Var", + "name": "id_PACE_ECDH_GM_AES_CBC_CMAC_256", + "printedName": "id_PACE_ECDH_GM_AES_CBC_CMAC_256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.MappingType.Type) -> nfclib.CardReaderNFC.MappingType", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.MappingType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_GM_AES_CBC_CMAC_256yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_GM_AES_CBC_CMAC_256yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "id_PACE_ECDH_IM_AES_CBC_CMAC_256", + "printedName": "id_PACE_ECDH_IM_AES_CBC_CMAC_256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.MappingType.Type) -> nfclib.CardReaderNFC.MappingType", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.MappingType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_IM_AES_CBC_CMAC_256yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO32id_PACE_ECDH_IM_AES_CBC_CMAC_256yA2EmF", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "data", + "printedName": "data", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvp", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvp", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvg", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO4data10Foundation4DataVvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.MappingType?", + "children": [ + { + "kind": "TypeNominal", + "name": "MappingType", + "printedName": "nfclib.CardReaderNFC.MappingType", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueAESgSS_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueAESgSS_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvp", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvg", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO8rawValueSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC11MappingTypeO", + "mangledName": "$s6nfclib13CardReaderNFCC11MappingTypeO", + "moduleName": "nfclib", + "enumRawTypeName": "String", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ParameterId", + "printedName": "ParameterId", + "children": [ + { + "kind": "Var", + "name": "EC256r1", + "printedName": "EC256r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC256r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC256r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "BP256r1", + "printedName": "BP256r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP256r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP256r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "EC384r1", + "printedName": "EC384r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC384r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC384r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 2 + }, + { + "kind": "Var", + "name": "BP384r1", + "printedName": "BP384r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP384r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP384r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 3 + }, + { + "kind": "Var", + "name": "BP512r1", + "printedName": "BP512r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7BP512r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7BP512r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 4 + }, + { + "kind": "Var", + "name": "EC521r1", + "printedName": "EC521r1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardReaderNFC.ParameterId.Type) -> nfclib.CardReaderNFC.ParameterId", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardReaderNFC.ParameterId.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO7EC521r1yA2EmF", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO7EC521r1yA2EmF", + "moduleName": "nfclib", + "fixedbinaryorder": 5 + }, + { + "kind": "Var", + "name": "domain", + "printedName": "domain", + "children": [ + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvp", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvp", + "moduleName": "nfclib", + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvg", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO6domain8SwiftECC6DomainCvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardReaderNFC.ParameterId?", + "children": [ + { + "kind": "TypeNominal", + "name": "ParameterId", + "printedName": "nfclib.CardReaderNFC.ParameterId", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValueAESgs5UInt8V_tcfc", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValueAESgs5UInt8V_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvp", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvg", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO8rawValues5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib13CardReaderNFCC11ParameterIdO", + "mangledName": "$s6nfclib13CardReaderNFCC11ParameterIdO", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "enumRawTypeName": "UInt8", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Var", + "name": "tag", + "printedName": "tag", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvp", + "mangledName": "$s6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvg", + "mangledName": "$s6nfclib13CardReaderNFCC3tagAA18SendableISO7816TagVvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "ksEnc", + "printedName": "ksEnc", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC5ksEncSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ksMac", + "printedName": "ksMac", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 2, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC5ksMacSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "SSC", + "printedName": "SSC", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvp", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvp", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage" + ], + "fixedbinaryorder": 3, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvg", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvs", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvs", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib13CardReaderNFCC3SSCSays5UInt8VGvM", + "mangledName": "$s6nfclib13CardReaderNFCC3SSCSays5UInt8VGvM", + "moduleName": "nfclib", + "implicit": true, + "isOpen": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReaderNFC", + "printedName": "nfclib.CardReaderNFC", + "usr": "s:6nfclib13CardReaderNFCC" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13CardReaderNFCC_3CANACSo13NFCISO7816Tag_p_SStYaKcfc", + "mangledName": "$s6nfclib13CardReaderNFCC_3CANACSo13NFCISO7816Tag_p_SStYaKcfc", + "moduleName": "nfclib", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "transmit", + "printedName": "transmit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(responseData: [Swift.UInt8], sw: Swift.UInt16)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13CardReaderNFCC8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "mangledName": "$s6nfclib13CardReaderNFCC8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "moduleName": "nfclib", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib13CardReaderNFCC", + "mangledName": "$s6nfclib13CardReaderNFCC", + "moduleName": "nfclib", + "isOpen": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardReader", + "printedName": "CardReader", + "usr": "s:6nfclib10CardReaderP", + "mangledName": "$s6nfclib10CardReaderP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "Idemia", + "printedName": "Idemia", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC12canChangePUKSbvp", + "mangledName": "$s6nfclib6IdemiaC12canChangePUKSbvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC12canChangePUKSbvg", + "mangledName": "$s6nfclib6IdemiaC12canChangePUKSbvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC6readerAA10CardReader_pvp", + "mangledName": "$s6nfclib6IdemiaC6readerAA10CardReader_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC6readerAA10CardReader_pvg", + "mangledName": "$s6nfclib6IdemiaC6readerAA10CardReader_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6IdemiaC8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib6IdemiaC8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6IdemiaC8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib6IdemiaC8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:atr:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6IdemiaC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:aid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6IdemiaC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:selectAID:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Idemia?", + "children": [ + { + "kind": "TypeNominal", + "name": "Idemia", + "printedName": "nfclib.Idemia", + "usr": "s:6nfclib6IdemiaC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6IdemiaC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "mangledName": "$s6nfclib6IdemiaC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC14readPublicDataAA8CardInfoVyYaKF", + "mangledName": "$s6nfclib6IdemiaC14readPublicDataAA8CardInfoVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6IdemiaC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6IdemiaC24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "mangledName": "$s6nfclib6IdemiaC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6IdemiaC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib6IdemiaC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6IdemiaC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6IdemiaC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "mangledName": "$s6nfclib6IdemiaC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib6IdemiaC", + "mangledName": "$s6nfclib6IdemiaC", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "children": [ + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvp", + "mangledName": "$s6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvp", + "moduleName": "nfclib", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvg", + "mangledName": "$s6nfclib20CardCommandsInternalP6readerAA0B6Reader_pvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20CardCommandsInternalP8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib20CardCommandsInternalP8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20CardCommandsInternalP8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib20CardCommandsInternalP8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "select", + "printedName": "select(p1Byte:p2Byte:file:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE6select6p1Byte02p2G04file10Foundation4DataVs5UInt8V_ALSayALGtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE6select6p1Byte02p2G04file10Foundation4DataVs5UInt8V_ALSayALGtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readFile", + "printedName": "readFile(p1Byte:file:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE8readFile6p1Byte4file10Foundation4DataVs5UInt8V_SayAKGtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE8readFile6p1Byte4file10Foundation4DataVs5UInt8V_SayAKGtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE10changeCode_2to06verifyF0ys5UInt8V_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE10changeCode_2to06verifyF0ys5UInt8V_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.SecureData?", + "children": [ + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE11unblockCode_3puk03newF0ys5UInt8V_AA10SecureDataCSgAJtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE11unblockCode_3puk03newF0ys5UInt8V_AA10SecureDataCSgAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE10verifyCode_4codeys5UInt8V_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE10verifyCode_4codeys5UInt8V_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setSecEnv", + "printedName": "setSecEnv(mode:algo:keyRef:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.UInt8]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20CardCommandsInternalPAAE9setSecEnv4mode4algo6keyRefys5UInt8V_SayAIGSgAItYaKF", + "mangledName": "$s6nfclib20CardCommandsInternalPAAE9setSecEnv4mode4algo6keyRefys5UInt8V_SayAIGSgAItYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommandsInternal>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "ReadCertificateError", + "printedName": "ReadCertificateError", + "children": [ + { + "kind": "Var", + "name": "certificateUsageNotSpecified", + "printedName": "certificateUsageNotSpecified", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO28certificateUsageNotSpecifiedyA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO28certificateUsageNotSpecifiedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToReadCertificate", + "printedName": "failedToReadCertificate", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO08failedTobC0yA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO08failedTobC0yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "general", + "printedName": "general", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.ReadCertificateError.Type) -> nfclib.ReadCertificateError", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.ReadCertificateError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib20ReadCertificateErrorO7generalyA2CmF", + "mangledName": "$s6nfclib20ReadCertificateErrorO7generalyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + }, + { + "kind": "TypeNominal", + "name": "ReadCertificateError", + "printedName": "nfclib.ReadCertificateError", + "usr": "s:6nfclib20ReadCertificateErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20ReadCertificateErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib20ReadCertificateErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib20ReadCertificateErrorO9hashValueSivp", + "mangledName": "$s6nfclib20ReadCertificateErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib20ReadCertificateErrorO9hashValueSivg", + "mangledName": "$s6nfclib20ReadCertificateErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib20ReadCertificateErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib20ReadCertificateErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib20ReadCertificateErrorO", + "mangledName": "$s6nfclib20ReadCertificateErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CertificateUsage", + "printedName": "CertificateUsage", + "children": [ + { + "kind": "Var", + "name": "auth", + "printedName": "auth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateUsage.Type) -> nfclib.CertificateUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateUsage.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib16CertificateUsageO4authyA2CmF", + "mangledName": "$s6nfclib16CertificateUsageO4authyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sign", + "printedName": "sign", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CertificateUsage.Type) -> nfclib.CertificateUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CertificateUsage.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib16CertificateUsageO4signyA2CmF", + "mangledName": "$s6nfclib16CertificateUsageO4signyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib16CertificateUsageO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib16CertificateUsageO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib16CertificateUsageO9hashValueSivp", + "mangledName": "$s6nfclib16CertificateUsageO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib16CertificateUsageO9hashValueSivg", + "mangledName": "$s6nfclib16CertificateUsageO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib16CertificateUsageO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib16CertificateUsageO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib16CertificateUsageO", + "mangledName": "$s6nfclib16CertificateUsageO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationReadCertificate", + "printedName": "OperationReadCertificate", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:certUsage:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SecCertificate", + "printedName": "Security.SecCertificate", + "usr": "c:@T@SecCertificateRef" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "CertificateUsage", + "printedName": "nfclib.CertificateUsage", + "usr": "s:6nfclib16CertificateUsageO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC12startReading3CAN9certUsageSo03SecD3RefaSS_AA0dI0OtYaKF", + "mangledName": "$s6nfclib24OperationReadCertificateC12startReading3CAN9certUsageSo03SecD3RefaSS_AA0dI0OtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationReadCertificate", + "printedName": "nfclib.OperationReadCertificate", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate(im)init", + "mangledName": "$s6nfclib24OperationReadCertificateCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib24OperationReadCertificateC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib24OperationReadCertificateC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib24OperationReadCertificateC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib24OperationReadCertificateC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationReadCertificate", + "mangledName": "$s6nfclib24OperationReadCertificateC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "Thales", + "printedName": "Thales", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC12canChangePUKSbvp", + "mangledName": "$s6nfclib6ThalesC12canChangePUKSbvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC12canChangePUKSbvg", + "mangledName": "$s6nfclib6ThalesC12canChangePUKSbvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "reader", + "printedName": "reader", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC6readerAA10CardReader_pvp", + "mangledName": "$s6nfclib6ThalesC6readerAA10CardReader_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC6readerAA10CardReader_pvg", + "mangledName": "$s6nfclib6ThalesC6readerAA10CardReader_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "fillChar", + "printedName": "fillChar", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:6nfclib6ThalesC8fillChars5UInt8Vvp", + "mangledName": "$s6nfclib6ThalesC8fillChars5UInt8Vvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib6ThalesC8fillChars5UInt8Vvg", + "mangledName": "$s6nfclib6ThalesC8fillChars5UInt8Vvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:atr:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtKcfc", + "mangledName": "$s6nfclib6ThalesC6reader3atrACSgAA10CardReader_p_Says5UInt8VGtKcfc", + "moduleName": "nfclib", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:aid:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "mangledName": "$s6nfclib6ThalesC6reader3aidACSgAA10CardReader_p_Says5UInt8VGtcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(reader:selectAID:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.Thales?", + "children": [ + { + "kind": "TypeNominal", + "name": "Thales", + "printedName": "nfclib.Thales", + "usr": "s:6nfclib6ThalesC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CardReader", + "printedName": "any nfclib.CardReader", + "usr": "s:6nfclib10CardReaderP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib6ThalesC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "mangledName": "$s6nfclib6ThalesC6reader9selectAIDACSgAA10CardReader_p_SbtYacfc", + "moduleName": "nfclib", + "declAttributes": [ + "Required" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC14readPublicDataAA8CardInfoVyYaKF", + "mangledName": "$s6nfclib6ThalesC14readPublicDataAA8CardInfoVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6ThalesC29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib6ThalesC24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "mangledName": "$s6nfclib6ThalesC24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0D4TypeOYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6ThalesC10changeCode_2to06verifyD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib6ThalesC10verifyCode_4codeyAA0D4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib6ThalesC11unblockCode_3puk03newD0yAA0D4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "mangledName": "$s6nfclib6ThalesC12authenticate3for8withPin110Foundation4DataVAI_AA06SecureH0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib6ThalesC18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib6ThalesC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "mangledName": "$s6nfclib6ThalesC11decryptData_8withPin110Foundation0D0VAH_AA06SecureD0CtYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib6ThalesC", + "mangledName": "$s6nfclib6ThalesC", + "moduleName": "nfclib", + "declAttributes": [ + "Final" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CardCommandsInternal", + "printedName": "CardCommandsInternal", + "usr": "s:6nfclib20CardCommandsInternalP", + "mangledName": "$s6nfclib20CardCommandsInternalP" + }, + { + "kind": "Conformance", + "name": "CardCommands", + "printedName": "CardCommands", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "OSLog", + "printedName": "OSLog", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "Preconcurrency" + ] + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "SendableISO7816Tag", + "printedName": "SendableISO7816Tag", + "children": [ + { + "kind": "Var", + "name": "tag", + "printedName": "tag", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Var", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvp", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "fixedbinaryorder": 0, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvg", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvs", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvs", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvM", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagSo010NFCISO7816D0_pvM", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:)", + "children": [ + { + "kind": "TypeNominal", + "name": "SendableISO7816Tag", + "printedName": "nfclib.SendableISO7816Tag", + "usr": "s:6nfclib18SendableISO7816TagV" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib18SendableISO7816TagV3tagACSo010NFCISO7816D0_p_tcfc", + "mangledName": "$s6nfclib18SendableISO7816TagV3tagACSo010NFCISO7816D0_p_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "sendCommand", + "printedName": "sendCommand(cls:ins:p1Byte:p2Byte:data:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "hasDefaultArg": true, + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J04data02leJ010Foundation4DataVs5UInt8V_A3oMSitYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J04data02leJ010Foundation4DataVs5UInt8V_A3oMSitYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendCommand", + "printedName": "sendCommand(cls:ins:p1Byte:p2Byte:records:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CryptoTokenKit.TKTLVRecord]", + "children": [ + { + "kind": "TypeNominal", + "name": "TKTLVRecord", + "printedName": "CryptoTokenKit.TKTLVRecord", + "usr": "c:objc(cs)TKTLVRecord" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J07records02leJ010Foundation4DataVs5UInt8V_A3OSaySo11TKTLVRecordCGSitYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV11sendCommand3cls3ins6p1Byte02p2J07records02leJ010Foundation4DataVs5UInt8V_A3OSaySo11TKTLVRecordCGSitYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendPaceCommand", + "printedName": "sendPaceCommand(records:tagExpected:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CryptoTokenKit.TKTLVRecord]", + "children": [ + { + "kind": "TypeNominal", + "name": "TKTLVRecord", + "printedName": "CryptoTokenKit.TKTLVRecord", + "usr": "c:objc(cs)TKTLVRecord" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Func", + "usr": "s:6nfclib18SendableISO7816TagV15sendPaceCommand7records11tagExpectedSo14TKBERTLVRecordCSaySo11TKTLVRecordCG_s6UInt64VtYaKF", + "mangledName": "$s6nfclib18SendableISO7816TagV15sendPaceCommand7records11tagExpectedSo14TKBERTLVRecordCSaySo11TKTLVRecordCG_s6UInt64VtYaKF", + "moduleName": "nfclib", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib18SendableISO7816TagV", + "mangledName": "$s6nfclib18SendableISO7816TagV", + "moduleName": "nfclib", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "Security", + "printedName": "Security", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "UnblockPINError", + "printedName": "UnblockPINError", + "children": [ + { + "kind": "Var", + "name": "missingRequiredParameter", + "printedName": "missingRequiredParameter", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO24missingRequiredParameteryA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO24missingRequiredParameteryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failed", + "printedName": "failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO6failedyA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO6failedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "general", + "printedName": "general", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.UnblockPINError.Type) -> nfclib.UnblockPINError", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.UnblockPINError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib15UnblockPINErrorO7generalyA2CmF", + "mangledName": "$s6nfclib15UnblockPINErrorO7generalyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + }, + { + "kind": "TypeNominal", + "name": "UnblockPINError", + "printedName": "nfclib.UnblockPINError", + "usr": "s:6nfclib15UnblockPINErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib15UnblockPINErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib15UnblockPINErrorO2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib15UnblockPINErrorO9hashValueSivp", + "mangledName": "$s6nfclib15UnblockPINErrorO9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib15UnblockPINErrorO9hashValueSivg", + "mangledName": "$s6nfclib15UnblockPINErrorO9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib15UnblockPINErrorO4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib15UnblockPINErrorO4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib15UnblockPINErrorO", + "mangledName": "$s6nfclib15UnblockPINErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "OperationUnblockPin", + "printedName": "OperationUnblockPin", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:codeType:puk:newPin:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC12startReading3CAN8codeType3puk03newD0ySS_AA04CodeI0OAA10SecureDataCALtYaKF", + "mangledName": "$s6nfclib19OperationUnblockPinC12startReading3CAN8codeType3puk03newD0ySS_AA04CodeI0OAA10SecureDataCALtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationUnblockPin", + "printedName": "nfclib.OperationUnblockPin", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin(im)init", + "mangledName": "$s6nfclib19OperationUnblockPinCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "mangledName": "$s6nfclib19OperationUnblockPinC16tagReaderSession_9didDetectySo06NFCTagfG0C_Say7CoreNFC0J0OGtF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "mangledName": "$s6nfclib19OperationUnblockPinC31tagReaderSessionDidBecomeActiveyySo06NFCTagfG0CF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19OperationUnblockPinC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "mangledName": "$s6nfclib19OperationUnblockPinC16tagReaderSession_22didInvalidateWithErrorySo06NFCTagfG0C_s0K0_ptF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationUnblockPin", + "mangledName": "$s6nfclib19OperationUnblockPinC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "Preconcurrency" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "NFCConnection", + "printedName": "NFCConnection", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCConnection", + "printedName": "nfclib.NFCConnection", + "usr": "s:6nfclib13NFCConnectionC" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib13NFCConnectionCACycfc", + "mangledName": "$s6nfclib13NFCConnectionCACycfc", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "setup", + "printedName": "setup(_:tags:)", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13NFCConnectionC5setup_4tagsSo13NFCISO7816Tag_pSo19NFCTagReaderSessionC_Say7CoreNFC0G0OGtYaKF", + "mangledName": "$s6nfclib13NFCConnectionC5setup_4tagsSo13NFCISO7816Tag_pSo19NFCTagReaderSessionC_Say7CoreNFC0G0OGtYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "Custom", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getCardCommands", + "printedName": "getCardCommands(_:tag:CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardCommands", + "printedName": "any nfclib.CardCommands", + "usr": "s:6nfclib12CardCommandsP" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "NFCISO7816Tag", + "printedName": "any CoreNFC.NFCISO7816Tag", + "usr": "c:objc(pl)NFCISO7816Tag" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib13NFCConnectionC15getCardCommands_3tag3CANAA0dE0_pSo19NFCTagReaderSessionC_So13NFCISO7816Tag_pSStYaKF", + "mangledName": "$s6nfclib13NFCConnectionC15getCardCommands_3tag3CANAA0dE0_pSo19NFCTagReaderSessionC_So13NFCISO7816Tag_pSStYaKF", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib13NFCConnectionC", + "mangledName": "$s6nfclib13NFCConnectionC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "Custom" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ProgressBar", + "printedName": "ProgressBar", + "children": [ + { + "kind": "Var", + "name": "totalSteps", + "printedName": "totalSteps", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib11ProgressBarV10totalSteps33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "mangledName": "$s6nfclib11ProgressBarV10totalSteps33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Var", + "name": "currentStep", + "printedName": "currentStep", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib11ProgressBarV11currentStep33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "mangledName": "$s6nfclib11ProgressBarV11currentStep33_1AA606DA0C7C84ED195AE0AE1E9AC532LLSivp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(currentStep:totalSteps:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ProgressBar", + "printedName": "nfclib.ProgressBar", + "usr": "s:6nfclib11ProgressBarV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib11ProgressBarV11currentStep10totalStepsACSi_Sitcfc", + "mangledName": "$s6nfclib11ProgressBarV11currentStep10totalStepsACSi_Sitcfc", + "moduleName": "nfclib", + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "generate", + "printedName": "generate()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib11ProgressBarV8generateSSyF", + "mangledName": "$s6nfclib11ProgressBarV8generateSSyF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib11ProgressBarV", + "mangledName": "$s6nfclib11ProgressBarV", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "AES", + "printedName": "AES", + "children": [ + { + "kind": "Var", + "name": "BlockSize", + "printedName": "BlockSize", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC9BlockSizeSivpZ", + "mangledName": "$s6nfclib3AESC9BlockSizeSivpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC9BlockSizeSivgZ", + "mangledName": "$s6nfclib3AESC9BlockSizeSivgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "Zero", + "printedName": "Zero", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4ZeroSays5UInt8VGvpZ", + "mangledName": "$s6nfclib3AESC4ZeroSays5UInt8VGvpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4ZeroSays5UInt8VGvgZ", + "mangledName": "$s6nfclib3AESC4ZeroSays5UInt8VGvgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CBC", + "printedName": "CBC", + "children": [ + { + "kind": "Var", + "name": "key", + "printedName": "key", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "any Foundation.ContiguousBytes & Foundation.DataProtocol" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC3CBCC3key33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "mangledName": "$s6nfclib3AESC3CBCC3key33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Var", + "name": "ivVal", + "printedName": "ivVal", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "any Foundation.ContiguousBytes & Foundation.DataProtocol" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC3CBCC5ivVal33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "mangledName": "$s6nfclib3AESC3CBCC5ivVal33_118F4A36F5270C36AB21110C074B0C98LL10Foundation15ContiguousBytes_AH12DataProtocolpvp", + "moduleName": "nfclib", + "isInternal": true, + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(key:ivVal:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_1", + "hasDefaultArg": true + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESC3CBCC3key5ivValAEx_q_tc10Foundation15ContiguousBytesRzAH12DataProtocolRzAhIR_AhJR_r0_lufc", + "mangledName": "$s6nfclib3AESC3CBCC3key5ivValAEx_q_tc10Foundation15ContiguousBytesRzAH12DataProtocolRzAhIR_AhJR_r0_lufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0, τ_0_1 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol, τ_0_1 : Foundation.ContiguousBytes, τ_0_1 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encrypt", + "printedName": "encrypt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC3CBCC7encryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "mangledName": "$s6nfclib3AESC3CBCC7encryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decrypt", + "printedName": "decrypt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC3CBCC7decryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "mangledName": "$s6nfclib3AESC3CBCC7decryptySays5UInt8VGxK10Foundation15ContiguousBytesRzAJ12DataProtocolRzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC3CBCC", + "mangledName": "$s6nfclib3AESC3CBCC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CMAC", + "printedName": "CMAC", + "children": [ + { + "kind": "Var", + "name": "RBytes", + "printedName": "RBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC6RBytesSays5UInt8VGvpZ", + "mangledName": "$s6nfclib3AESC4CMACC6RBytesSays5UInt8VGvpZ", + "moduleName": "nfclib", + "static": true, + "declAttributes": [ + "HasInitialValue", + "Final", + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC6RBytesSays5UInt8VGvgZ", + "mangledName": "$s6nfclib3AESC4CMACC6RBytesSays5UInt8VGvgZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "cipher", + "printedName": "cipher", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC6cipherAC3CBCCvp", + "mangledName": "$s6nfclib3AESC4CMACC6cipherAC3CBCCvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 0, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "CBC", + "printedName": "nfclib.AES.CBC", + "usr": "s:6nfclib3AESC3CBCC" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC6cipherAC3CBCCvg", + "mangledName": "$s6nfclib3AESC4CMACC6cipherAC3CBCCvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "k1Bytes", + "printedName": "k1Bytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvp", + "mangledName": "$s6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 1, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvg", + "mangledName": "$s6nfclib3AESC4CMACC7k1BytesSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "k2Bytes", + "printedName": "k2Bytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvp", + "mangledName": "$s6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvp", + "moduleName": "nfclib", + "declAttributes": [ + "Final", + "HasStorage" + ], + "fixedbinaryorder": 2, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvg", + "mangledName": "$s6nfclib3AESC4CMACC7k2BytesSays5UInt8VGvg", + "moduleName": "nfclib", + "implicit": true, + "declAttributes": [ + "Transparent", + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(key:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CMAC", + "printedName": "nfclib.AES.CMAC", + "usr": "s:6nfclib3AESC4CMACC" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESC4CMACC3keyAEx_tKc10Foundation15ContiguousBytesRzAG12DataProtocolRzlufc", + "mangledName": "$s6nfclib3AESC4CMACC3keyAEx_tKc10Foundation15ContiguousBytesRzAG12DataProtocolRzlufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(bytes:count:)", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:s10ArraySliceV" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "hasDefaultArg": true, + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3AESC4CMACC12authenticate5bytes5counts10ArraySliceVys5UInt8VGx_SitK10Foundation15ContiguousBytesRzAN12DataProtocolRzSi5IndexSlRtzlF", + "mangledName": "$s6nfclib3AESC4CMACC12authenticate5bytes5counts10ArraySliceVys5UInt8VGx_SitK10Foundation15ContiguousBytesRzAN12DataProtocolRzSi5IndexSlRtzlF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.ContiguousBytes, τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isOpen": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC4CMACC", + "mangledName": "$s6nfclib3AESC4CMACC", + "moduleName": "nfclib", + "isOpen": true, + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AES", + "printedName": "nfclib.AES", + "usr": "s:6nfclib3AESC" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib3AESCACycfc", + "mangledName": "$s6nfclib3AESCACycfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "s:6nfclib3AESC", + "mangledName": "$s6nfclib3AESC", + "moduleName": "nfclib", + "isOpen": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "HashLength", + "printedName": "HashLength", + "children": [ + { + "kind": "Var", + "name": "bits256", + "printedName": "bits256", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits256yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits256yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 0 + }, + { + "kind": "Var", + "name": "bits384", + "printedName": "bits384", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits384yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits384yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 1 + }, + { + "kind": "Var", + "name": "bits512", + "printedName": "bits512", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.HashLength.Type) -> nfclib.HashLength", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.HashLength.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib10HashLengthO7bits512yA2CmF", + "mangledName": "$s6nfclib10HashLengthO7bits512yA2CmF", + "moduleName": "nfclib", + "fixedbinaryorder": 2 + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.HashLength?", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib10HashLengthO8rawValueACSgSi_tcfc", + "mangledName": "$s6nfclib10HashLengthO8rawValueACSgSi_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib10HashLengthO8rawValueSivp", + "mangledName": "$s6nfclib10HashLengthO8rawValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib10HashLengthO8rawValueSivg", + "mangledName": "$s6nfclib10HashLengthO8rawValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib10HashLengthO", + "mangledName": "$s6nfclib10HashLengthO", + "moduleName": "nfclib", + "enumRawTypeName": "Int", + "isEnumExhaustive": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + } + ] + }, + { + "kind": "Function", + "name": "hashLengthFromInt", + "printedName": "hashLengthFromInt(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.HashLength?", + "children": [ + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:6nfclib17hashLengthFromIntyAA04HashC0OSgSiF", + "mangledName": "$s6nfclib17hashLengthFromIntyAA04HashC0OSgSiF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sha", + "printedName": "sha(hashLength:data:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.Data?", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "HashLength", + "printedName": "nfclib.HashLength", + "usr": "s:6nfclib10HashLengthO" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib3sha10hashLength4data10Foundation4DataVSgAA04HashD0O_AGtF", + "mangledName": "$s6nfclib3sha10hashLength4data10Foundation4DataVSgAA04HashD0O_AGtF", + "moduleName": "nfclib", + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "IdCardError", + "printedName": "IdCardError", + "children": [ + { + "kind": "Var", + "name": "wrongCAN", + "printedName": "wrongCAN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO8wrongCANyA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO8wrongCANyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "wrongPIN", + "printedName": "wrongPIN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> (Swift.Int) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(triesLeft: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO8wrongPINyACSi_tcACmF", + "mangledName": "$s6nfclib11IdCardErrorO8wrongPINyACSi_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidNewPIN", + "printedName": "invalidNewPIN", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO13invalidNewPINyA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO13invalidNewPINyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sessionError", + "printedName": "sessionError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardError.Type) -> nfclib.IdCardError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib11IdCardErrorO07sessionD0yA2CmF", + "mangledName": "$s6nfclib11IdCardErrorO07sessionD0yA2CmF", + "moduleName": "nfclib" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib11IdCardErrorO", + "mangledName": "$s6nfclib11IdCardErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "IdCardInternalError", + "printedName": "IdCardInternalError", + "children": [ + { + "kind": "Var", + "name": "missingRESTag", + "printedName": "missingRESTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13missingRESTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13missingRESTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "missingMACTag", + "printedName": "missingMACTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13missingMACTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13missingMACTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidMACValue", + "printedName": "invalidMACValue", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15invalidMACValueyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15invalidMACValueyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedReadingField", + "printedName": "failedReadingField", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (nfclib.CardField) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO18failedReadingFieldyAcA0cH0OcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO18failedReadingFieldyAcA0cH0OcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "hexConversionFailed", + "printedName": "hexConversionFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO19hexConversionFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO19hexConversionFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "AESCBCError", + "printedName": "AESCBCError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO11AESCBCErroryA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO11AESCBCErroryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sendCommandFailed", + "printedName": "sendCommandFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO17sendCommandFailedyACSS_tcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO17sendCommandFailedyACSS_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidResponse", + "printedName": "invalidResponse", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15invalidResponseyACSS_tcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15invalidResponseyACSS_tcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "swError", + "printedName": "swError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.UInt16) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt16) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO02swE0yACs6UInt16VcACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO02swE0yACs6UInt16VcACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pinVerificationFailed", + "printedName": "pinVerificationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21pinVerificationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21pinVerificationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "remainingPinRetryCount", + "printedName": "remainingPinRetryCount", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> (Swift.Int) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO22remainingPinRetryCountyACSicACmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO22remainingPinRetryCountyACSicACmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidNewPin", + "printedName": "invalidNewPin", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO13invalidNewPinyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO13invalidNewPinyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "notSupportedCodeType", + "printedName": "notSupportedCodeType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20notSupportedCodeTypeyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20notSupportedCodeTypeyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dataPaddingError", + "printedName": "dataPaddingError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO011dataPaddingE0yA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO011dataPaddingE0yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidAPDU", + "printedName": "invalidAPDU", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO11invalidAPDUyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO11invalidAPDUyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "authenticationFailed", + "printedName": "authenticationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20authenticationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20authenticationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "canAuthenticationFailed", + "printedName": "canAuthenticationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO23canAuthenticationFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO23canAuthenticationFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "invalidTag", + "printedName": "invalidTag", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO10invalidTagyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO10invalidTagyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "cardNotSupported", + "printedName": "cardNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO16cardNotSupportedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO16cardNotSupportedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "nfcNotSupported", + "printedName": "nfcNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15nfcNotSupportedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15nfcNotSupportedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "connectionFailed", + "printedName": "connectionFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO16connectionFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO16connectionFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "multipleTagsDetected", + "printedName": "multipleTagsDetected", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO20multipleTagsDetectedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO20multipleTagsDetectedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "couldNotVerifyChipsMAC", + "printedName": "couldNotVerifyChipsMAC", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO22couldNotVerifyChipsMACyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO22couldNotVerifyChipsMACyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "cancelledByUser", + "printedName": "cancelledByUser", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO15cancelledByUseryA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO15cancelledByUseryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sessionInvalidated", + "printedName": "sessionInvalidated", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO18sessionInvalidatedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO18sessionInvalidatedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "readerProcessFailed", + "printedName": "readerProcessFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO19readerProcessFailedyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO19readerProcessFailedyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "failedToRemovePadding", + "printedName": "failedToRemovePadding", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21failedToRemovePaddingyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21failedToRemovePaddingyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "notSupportedAlgorithm", + "printedName": "notSupportedAlgorithm", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.IdCardInternalError.Type) -> nfclib.IdCardInternalError", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.IdCardInternalError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardInternalError", + "printedName": "nfclib.IdCardInternalError", + "usr": "s:6nfclib19IdCardInternalErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib19IdCardInternalErrorO21notSupportedAlgorithmyA2CmF", + "mangledName": "$s6nfclib19IdCardInternalErrorO21notSupportedAlgorithmyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Function", + "name": "getIdCardError", + "printedName": "getIdCardError()", + "children": [ + { + "kind": "TypeNominal", + "name": "IdCardError", + "printedName": "nfclib.IdCardError", + "usr": "s:6nfclib11IdCardErrorO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib19IdCardInternalErrorO03getbcE0AA0bcE0OyF", + "mangledName": "$s6nfclib19IdCardInternalErrorO03getbcE0AA0bcE0OyF", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:6nfclib19IdCardInternalErrorO", + "mangledName": "$s6nfclib19IdCardInternalErrorO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "PinError", + "printedName": "PinError", + "children": [ + { + "kind": "Var", + "name": "msg", + "printedName": "msg", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8PinErrorV3msgSSvp", + "mangledName": "$s6nfclib8PinErrorV3msgSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8PinErrorV3msgSSvg", + "mangledName": "$s6nfclib8PinErrorV3msgSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "remainingCount", + "printedName": "remainingCount", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8PinErrorV14remainingCountSivp", + "mangledName": "$s6nfclib8PinErrorV14remainingCountSivp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8PinErrorV14remainingCountSivg", + "mangledName": "$s6nfclib8PinErrorV14remainingCountSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(msg:remainingCount:)", + "children": [ + { + "kind": "TypeNominal", + "name": "PinError", + "printedName": "nfclib.PinError", + "usr": "s:6nfclib8PinErrorV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8PinErrorV3msg14remainingCountACSS_Sitcfc", + "mangledName": "$s6nfclib8PinErrorV3msg14remainingCountACSS_Sitcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib8PinErrorV", + "mangledName": "$s6nfclib8PinErrorV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardInfo", + "printedName": "CardInfo", + "children": [ + { + "kind": "Var", + "name": "givenName", + "printedName": "givenName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV9givenNameSSvp", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvg", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvs", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9givenNameSSvM", + "mangledName": "$s6nfclib8CardInfoV9givenNameSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "surname", + "printedName": "surname", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV7surnameSSvp", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvg", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvs", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV7surnameSSvM", + "mangledName": "$s6nfclib8CardInfoV7surnameSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "personalCode", + "printedName": "personalCode", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvp", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvg", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvs", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12personalCodeSSvM", + "mangledName": "$s6nfclib8CardInfoV12personalCodeSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "citizenship", + "printedName": "citizenship", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvp", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvg", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvs", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV11citizenshipSSvM", + "mangledName": "$s6nfclib8CardInfoV11citizenshipSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "documentNumber", + "printedName": "documentNumber", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvp", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvg", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvs", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV14documentNumberSSvM", + "mangledName": "$s6nfclib8CardInfoV14documentNumberSSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "dateOfExpiry", + "printedName": "dateOfExpiry", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvp", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvp", + "moduleName": "nfclib", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvg", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvs", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvs", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV12dateOfExpirySSvM", + "mangledName": "$s6nfclib8CardInfoV12dateOfExpirySSvM", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(givenName:surname:personalCode:citizenship:documentNumber:dateOfExpiry:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "hasDefaultArg": true, + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8CardInfoV9givenName7surname12personalCode11citizenship14documentNumber12dateOfExpiryACSS_S5Stcfc", + "mangledName": "$s6nfclib8CardInfoV9givenName7surname12personalCode11citizenship14documentNumber12dateOfExpiryACSS_S5Stcfc", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "formattedDescription", + "printedName": "formattedDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV20formattedDescriptionSSvp", + "mangledName": "$s6nfclib8CardInfoV20formattedDescriptionSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV20formattedDescriptionSSvg", + "mangledName": "$s6nfclib8CardInfoV20formattedDescriptionSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CardInfoV9hashValueSivp", + "mangledName": "$s6nfclib8CardInfoV9hashValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CardInfoV9hashValueSivg", + "mangledName": "$s6nfclib8CardInfoV9hashValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib8CardInfoV4hash4intoys6HasherVz_tF", + "mangledName": "$s6nfclib8CardInfoV4hash4intoys6HasherVz_tF", + "moduleName": "nfclib", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib8CardInfoV2eeoiySbAC_ACtFZ", + "mangledName": "$s6nfclib8CardInfoV2eeoiySbAC_ACtFZ", + "moduleName": "nfclib", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:6nfclib8CardInfoV", + "mangledName": "$s6nfclib8CardInfoV", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardField", + "printedName": "CardField", + "children": [ + { + "kind": "Var", + "name": "surname", + "printedName": "surname", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO7surnameyA2CmF", + "mangledName": "$s6nfclib9CardFieldO7surnameyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "firstName", + "printedName": "firstName", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO9firstNameyA2CmF", + "mangledName": "$s6nfclib9CardFieldO9firstNameyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "sex", + "printedName": "sex", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO3sexyA2CmF", + "mangledName": "$s6nfclib9CardFieldO3sexyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "citizenship", + "printedName": "citizenship", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO11citizenshipyA2CmF", + "mangledName": "$s6nfclib9CardFieldO11citizenshipyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dateAndPlaceOfBirth", + "printedName": "dateAndPlaceOfBirth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO19dateAndPlaceOfBirthyA2CmF", + "mangledName": "$s6nfclib9CardFieldO19dateAndPlaceOfBirthyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "personalCode", + "printedName": "personalCode", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO12personalCodeyA2CmF", + "mangledName": "$s6nfclib9CardFieldO12personalCodeyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "documentNr", + "printedName": "documentNr", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO10documentNryA2CmF", + "mangledName": "$s6nfclib9CardFieldO10documentNryA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "dateOfExpiry", + "printedName": "dateOfExpiry", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CardField.Type) -> nfclib.CardField", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CardField.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib9CardFieldO12dateOfExpiryyA2CmF", + "mangledName": "$s6nfclib9CardFieldO12dateOfExpiryyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CardField?", + "children": [ + { + "kind": "TypeNominal", + "name": "CardField", + "printedName": "nfclib.CardField", + "usr": "s:6nfclib9CardFieldO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib9CardFieldO8rawValueACSgSi_tcfc", + "mangledName": "$s6nfclib9CardFieldO8rawValueACSgSi_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:6nfclib9CardFieldO8rawValueSivp", + "mangledName": "$s6nfclib9CardFieldO8rawValueSivp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib9CardFieldO8rawValueSivg", + "mangledName": "$s6nfclib9CardFieldO8rawValueSivg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib9CardFieldO", + "mangledName": "$s6nfclib9CardFieldO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "CoreNFC", + "printedName": "CoreNFC", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CommonCrypto", + "printedName": "CommonCrypto", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "CryptoTokenKit", + "printedName": "CryptoTokenKit", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "Import", + "name": "BigInt", + "printedName": "BigInt", + "declKind": "Import", + "moduleName": "nfclib" + }, + { + "kind": "TypeDecl", + "name": "OperationReadPublicData", + "printedName": "OperationReadPublicData", + "children": [ + { + "kind": "Function", + "name": "startReading", + "printedName": "startReading(CAN:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC12startReading3CANAA8CardInfoVSS_tYaKF", + "mangledName": "$s6nfclib23OperationReadPublicDataC12startReading3CANAA8CardInfoVSS_tYaKF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "OperationReadPublicData", + "printedName": "nfclib.OperationReadPublicData", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData" + } + ], + "declKind": "Constructor", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData(im)init", + "mangledName": "$s6nfclib23OperationReadPublicDataCACycfc", + "moduleName": "nfclib", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Custom", + "Override" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didDetect:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[CoreNFC.NFCTag]", + "children": [ + { + "kind": "TypeNominal", + "name": "NFCTag", + "printedName": "CoreNFC.NFCTag", + "usr": "s:7CoreNFC6NFCTagO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC16tagReaderSession_9didDetectySo06NFCTaggH0C_Say7CoreNFC0K0OGtF", + "mangledName": "$s6nfclib23OperationReadPublicDataC16tagReaderSession_9didDetectySo06NFCTaggH0C_Say7CoreNFC0K0OGtF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSessionDidBecomeActive", + "printedName": "tagReaderSessionDidBecomeActive(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC31tagReaderSessionDidBecomeActiveyySo06NFCTaggH0CF", + "mangledName": "$s6nfclib23OperationReadPublicDataC31tagReaderSessionDidBecomeActiveyySo06NFCTaggH0CF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "tagReaderSession", + "printedName": "tagReaderSession(_:didInvalidateWithError:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "NFCTagReaderSession", + "printedName": "CoreNFC.NFCTagReaderSession", + "usr": "c:objc(cs)NFCTagReaderSession" + }, + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "declKind": "Func", + "usr": "s:6nfclib23OperationReadPublicDataC16tagReaderSession_22didInvalidateWithErrorySo06NFCTaggH0C_s0L0_ptF", + "mangledName": "$s6nfclib23OperationReadPublicDataC16tagReaderSession_22didInvalidateWithErrorySo06NFCTaggH0C_s0L0_ptF", + "moduleName": "nfclib", + "declAttributes": [ + "Custom", + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "c:@M@nfclib@objc(cs)OperationReadPublicData", + "mangledName": "$s6nfclib23OperationReadPublicDataC", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl", + "Final", + "Custom", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSObject", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "NFCTagReaderSessionDelegate", + "printedName": "NFCTagReaderSessionDelegate", + "usr": "s:7CoreNFC27NFCTagReaderSessionDelegateP", + "mangledName": "$s7CoreNFC27NFCTagReaderSessionDelegateP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CardReader", + "printedName": "CardReader", + "children": [ + { + "kind": "Function", + "name": "transmit", + "printedName": "transmit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(responseData: [Swift.UInt8], sw: Swift.UInt16)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10CardReaderP8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "mangledName": "$s6nfclib10CardReaderP8transmitySays5UInt8VG12responseData_s6UInt16V2swtAGYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardReader>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sendAPDU", + "printedName": "sendAPDU(cls:ins:p1Byte:p2Byte:data:leByte:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "hasDefaultArg": true, + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any Swift.Collection)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Collection", + "printedName": "any Swift.Collection", + "usr": "s:Sl" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt8?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:6nfclib10CardReaderPAAE8sendAPDU3cls3ins6p1Byte02p2I04data02leI010Foundation4DataVs5UInt8V_A3OSl_pAO7ElementRts_XPSgAOSgtYaKF", + "mangledName": "$s6nfclib10CardReaderPAAE8sendAPDU3cls3ins6p1Byte02p2I04data02leI010Foundation4DataVs5UInt8V_A3OSl_pAO7ElementRts_XPSgAOSgtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardReader>", + "sugared_genericSig": "", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib10CardReaderP", + "mangledName": "$s6nfclib10CardReaderP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "CodeType", + "printedName": "CodeType", + "children": [ + { + "kind": "Var", + "name": "puk", + "printedName": "puk", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO3pukyA2CmF", + "mangledName": "$s6nfclib8CodeTypeO3pukyA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pin1", + "printedName": "pin1", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO4pin1yA2CmF", + "mangledName": "$s6nfclib8CodeTypeO4pin1yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "pin2", + "printedName": "pin2", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(nfclib.CodeType.Type) -> nfclib.CodeType", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "nfclib.CodeType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:6nfclib8CodeTypeO4pin2yA2CmF", + "mangledName": "$s6nfclib8CodeTypeO4pin2yA2CmF", + "moduleName": "nfclib" + }, + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CodeTypeO4nameSSvp", + "mangledName": "$s6nfclib8CodeTypeO4nameSSvp", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CodeTypeO4nameSSvg", + "mangledName": "$s6nfclib8CodeTypeO4nameSSvg", + "moduleName": "nfclib", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "nfclib.CodeType?", + "children": [ + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Constructor", + "usr": "s:6nfclib8CodeTypeO8rawValueACSgSu_tcfc", + "mangledName": "$s6nfclib8CodeTypeO8rawValueACSgSu_tcfc", + "moduleName": "nfclib", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:6nfclib8CodeTypeO8rawValueSuvp", + "mangledName": "$s6nfclib8CodeTypeO8rawValueSuvp", + "moduleName": "nfclib", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib8CodeTypeO8rawValueSuvg", + "mangledName": "$s6nfclib8CodeTypeO8rawValueSuvg", + "moduleName": "nfclib", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:6nfclib8CodeTypeO", + "mangledName": "$s6nfclib8CodeTypeO", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ], + "enumRawTypeName": "UInt", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "CardCommands", + "printedName": "CardCommands", + "children": [ + { + "kind": "Var", + "name": "canChangePUK", + "printedName": "canChangePUK", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:6nfclib12CardCommandsP12canChangePUKSbvp", + "mangledName": "$s6nfclib12CardCommandsP12canChangePUKSbvp", + "moduleName": "nfclib", + "protocolReq": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:6nfclib12CardCommandsP12canChangePUKSbvg", + "mangledName": "$s6nfclib12CardCommandsP12canChangePUKSbvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "readPublicData", + "printedName": "readPublicData()", + "children": [ + { + "kind": "TypeNominal", + "name": "CardInfo", + "printedName": "nfclib.CardInfo", + "usr": "s:6nfclib8CardInfoV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP14readPublicDataAA0B4InfoVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP14readPublicDataAA0B4InfoVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readAuthenticationCertificate", + "printedName": "readAuthenticationCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP29readAuthenticationCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP29readAuthenticationCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readSignatureCertificate", + "printedName": "readSignatureCertificate()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP24readSignatureCertificate10Foundation4DataVyYaKF", + "mangledName": "$s6nfclib12CardCommandsP24readSignatureCertificate10Foundation4DataVyYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "readCodeTryCounterRecord", + "printedName": "readCodeTryCounterRecord(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(retryCount: Swift.UInt8, pinActive: Swift.Bool)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0E4TypeOYaKF", + "mangledName": "$s6nfclib12CardCommandsP24readCodeTryCounterRecordys5UInt8V10retryCount_Sb9pinActivetAA0E4TypeOYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "changeCode", + "printedName": "changeCode(_:to:verifyCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP10changeCode_2to06verifyE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib12CardCommandsP10changeCode_2to06verifyE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "verifyCode", + "printedName": "verifyCode(_:code:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP10verifyCode_4codeyAA0E4TypeO_AA10SecureDataCtYaKF", + "mangledName": "$s6nfclib12CardCommandsP10verifyCode_4codeyAA0E4TypeO_AA10SecureDataCtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "unblockCode", + "printedName": "unblockCode(_:puk:newCode:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CodeType", + "printedName": "nfclib.CodeType", + "usr": "s:6nfclib8CodeTypeO" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP11unblockCode_3puk03newE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "mangledName": "$s6nfclib12CardCommandsP11unblockCode_3puk03newE0yAA0E4TypeO_AA10SecureDataCAJtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticate", + "printedName": "authenticate(for:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP12authenticate3for8withPin110Foundation4DataVAI_AA06SecureI0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP12authenticate3for8withPin110Foundation4DataVAI_AA06SecureI0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "calculateSignature", + "printedName": "calculateSignature(for:withPin2:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureJ0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP18calculateSignature3for8withPin210Foundation4DataVAI_AA06SecureJ0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "decryptData", + "printedName": "decryptData(_:withPin1:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "SecureData", + "printedName": "nfclib.SecureData", + "usr": "s:6nfclib10SecureDataC" + } + ], + "declKind": "Func", + "usr": "s:6nfclib12CardCommandsP11decryptData_8withPin110Foundation0E0VAH_AA06SecureE0CtYaKF", + "mangledName": "$s6nfclib12CardCommandsP11decryptData_8withPin110Foundation0E0VAH_AA06SecureE0CtYaKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : nfclib.CardCommands>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:6nfclib12CardCommandsP", + "mangledName": "$s6nfclib12CardCommandsP", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "SwiftECC", + "printedName": "SwiftECC", + "declKind": "Import", + "moduleName": "nfclib", + "declAttributes": [ + "AccessControl" + ] + }, + { + "kind": "TypeDecl", + "name": "TKBERTLVRecord", + "printedName": "TKBERTLVRecord", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:bytes:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Constructor", + "usr": "s:So14TKBERTLVRecordC6nfclibE3tag5bytesABs6UInt64V_xtc10Foundation12DataProtocolRzlufc", + "mangledName": "$sSo14TKBERTLVRecordC6nfclibE3tag5bytesABs6UInt64V_xtc10Foundation12DataProtocolRzlufc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(tag:publicKey:)", + "children": [ + { + "kind": "TypeNominal", + "name": "TKBERTLVRecord", + "printedName": "CryptoTokenKit.TKBERTLVRecord", + "usr": "c:objc(cs)TKBERTLVRecord" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "ECPublicKey", + "printedName": "SwiftECC.ECPublicKey", + "usr": "s:8SwiftECC11ECPublicKeyC" + } + ], + "declKind": "Constructor", + "usr": "s:So14TKBERTLVRecordC6nfclibE3tag9publicKeyABs6UInt64V_8SwiftECC08ECPublicE0CtKcfc", + "mangledName": "$sSo14TKBERTLVRecordC6nfclibE3tag9publicKeyABs6UInt64V_8SwiftECC08ECPublicE0CtKcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Convenience" + } + ], + "declKind": "Class", + "usr": "c:objc(cs)TKBERTLVRecord", + "moduleName": "CryptoTokenKit", + "isOpen": true, + "intro_iOS": "10.0", + "objc_name": "TKBERTLVRecord", + "declAttributes": [ + "Available", + "ObjC", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)TKTLVRecord", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "CryptoTokenKit.TKTLVRecord", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "Var", + "name": "hex", + "printedName": "hex", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10Foundation12DataProtocolP6nfclibE3hexSSvp", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE3hexSSvp", + "moduleName": "nfclib", + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10Foundation12DataProtocolP6nfclibE3hexSSvg", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE3hexSSvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "chunked", + "printedName": "chunked(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0.SubSequence]", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibE7chunked4intoSay11SubSequenceQzGSi_tF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE7chunked4intoSay11SubSequenceQzGSi_tF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "removePadding", + "printedName": "removePadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibE13removePadding11SubSequenceQzyKF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibE13removePadding11SubSequenceQzyKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "toHex", + "printedName": "toHex", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvp", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvp", + "moduleName": "nfclib", + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvg", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE5toHexSSvg", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "chunked", + "printedName": "chunked(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0.SubSequence]", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE7chunked4intoSay11SubSequenceQzGSi_tF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE7chunked4intoSay11SubSequenceQzGSi_tF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "removePadding", + "printedName": "removePadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.SubSequence" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE13removePadding11SubSequenceQzyKF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibSi5IndexRtzrlE13removePadding11SubSequenceQzyKF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.DataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(hex:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "τ_0_0?", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE3hexxSgSS_tcfc", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE3hexxSgSS_tcfc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "addPadding", + "printedName": "addPadding()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE10addPaddingxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE10addPaddingxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "^", + "printedName": "^(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_xtFZ", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_xtFZ", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "^", + "printedName": "^(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_1_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_qd__tSlRd__s5UInt8V7ElementRtd__lFZ", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE1xoiyxx_qd__tSlRd__s5UInt8V7ElementRtd__lFZ", + "moduleName": "nfclib", + "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_1_0 : Swift.Collection, τ_0_0.Index == Swift.Int, τ_1_0.Element == Swift.UInt8>", + "sugared_genericSig": "", + "static": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "increment", + "printedName": "increment()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE9incrementxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE9incrementxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "declAttributes": [ + "Mutating" + ], + "isFromExtension": true, + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "leftShiftOneBit", + "printedName": "leftShiftOneBit()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "declKind": "Func", + "usr": "s:10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE15leftShiftOneBitxyF", + "mangledName": "$s10Foundation12DataProtocolP6nfclibAA07MutablebC0RzSi5IndexRtzrlE15leftShiftOneBitxyF", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 : Foundation.MutableDataProtocol, τ_0_0.Index == Swift.Int>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP", + "moduleName": "Foundation", + "genericSig": "<τ_0_0 : Swift.RandomAccessCollection, τ_0_0.Element == Swift.UInt8, τ_0_0.Regions : Swift.BidirectionalCollection, τ_0_0.SubSequence : Foundation.DataProtocol, τ_0_0.Regions.Element : Foundation.ContiguousBytes, τ_0_0.Regions.Element : Foundation.DataProtocol, τ_0_0.Regions.Element.SubSequence : Foundation.ContiguousBytes>", + "sugared_genericSig": "", + "intro_Macosx": "10.10", + "intro_iOS": "8.0", + "intro_tvOS": "9.0", + "intro_watchOS": "2.0", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "usr": "s:ST", + "mangledName": "$sST" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt16", + "printedName": "UInt16", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Constructor", + "usr": "s:s6UInt16V6nfclibEyABs5UInt8V_AEtcfc", + "mangledName": "$ss6UInt16V6nfclibEyABs5UInt8V_AEtcfc", + "moduleName": "nfclib", + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:s6UInt16V", + "mangledName": "$ss6UInt16V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt16.Words", + "usr": "s:s6UInt16V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt16.SIMD2Storage", + "usr": "s:s6UInt16V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt16.SIMD4Storage", + "usr": "s:s6UInt16V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt16.SIMD8Storage", + "usr": "s:s6UInt16V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt16.SIMD16Storage", + "usr": "s:s6UInt16V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt16.SIMD32Storage", + "usr": "s:s6UInt16V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt16.SIMD64Storage", + "usr": "s:s6UInt16V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "_StringElement", + "printedName": "_StringElement", + "usr": "s:s14_StringElementP", + "mangledName": "$ss14_StringElementP" + }, + { + "kind": "Conformance", + "name": "ASN1IntegerRepresentable", + "printedName": "ASN1IntegerRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerBytes", + "printedName": "IntegerBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "IntegerBytesCollection", + "printedName": "SwiftASN1.IntegerBytesCollection", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "usr": "s:9SwiftASN122IntegerBytesCollectionV" + } + ] + } + ], + "usr": "s:9SwiftASN10B20IntegerRepresentableP", + "mangledName": "$s9SwiftASN10B20IntegerRepresentableP" + }, + { + "kind": "Conformance", + "name": "BERImplicitlyTaggable", + "printedName": "BERImplicitlyTaggable", + "usr": "s:9SwiftASN121BERImplicitlyTaggableP", + "mangledName": "$s9SwiftASN121BERImplicitlyTaggableP" + }, + { + "kind": "Conformance", + "name": "BERParseable", + "printedName": "BERParseable", + "usr": "s:9SwiftASN112BERParseableP", + "mangledName": "$s9SwiftASN112BERParseableP" + }, + { + "kind": "Conformance", + "name": "BERSerializable", + "printedName": "BERSerializable", + "usr": "s:9SwiftASN115BERSerializableP", + "mangledName": "$s9SwiftASN115BERSerializableP" + }, + { + "kind": "Conformance", + "name": "DERImplicitlyTaggable", + "printedName": "DERImplicitlyTaggable", + "usr": "s:9SwiftASN121DERImplicitlyTaggableP", + "mangledName": "$s9SwiftASN121DERImplicitlyTaggableP" + }, + { + "kind": "Conformance", + "name": "DERParseable", + "printedName": "DERParseable", + "usr": "s:9SwiftASN112DERParseableP", + "mangledName": "$s9SwiftASN112DERParseableP" + }, + { + "kind": "Conformance", + "name": "DERSerializable", + "printedName": "DERSerializable", + "usr": "s:9SwiftASN115DERSerializableP", + "mangledName": "$s9SwiftASN115DERSerializableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NFCTagReaderSession", + "printedName": "NFCTagReaderSession", + "declKind": "Class", + "usr": "c:objc(cs)NFCTagReaderSession", + "moduleName": "CoreNFC", + "isOpen": true, + "intro_iOS": "13.0", + "objc_name": "NFCTagReaderSession", + "declAttributes": [ + "Available", + "ObjC", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NFCReaderSession", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "CoreNFC.NFCReaderSession", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NFCTag", + "printedName": "NFCTag", + "declKind": "Enum", + "usr": "s:7CoreNFC6NFCTagO", + "mangledName": "$s7CoreNFC6NFCTagO", + "moduleName": "CoreNFC", + "intro_iOS": "13.0", + "declAttributes": [ + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ECPublicKey", + "printedName": "ECPublicKey", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(domain:point:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "SwiftECC.ECPublicKey?", + "children": [ + { + "kind": "TypeNominal", + "name": "ECPublicKey", + "printedName": "SwiftECC.ECPublicKey", + "usr": "s:8SwiftECC11ECPublicKeyC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Domain", + "printedName": "SwiftECC.Domain", + "usr": "s:8SwiftECC6DomainC" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Constructor", + "usr": "s:8SwiftECC11ECPublicKeyC6nfclibE6domain5pointACSgAA6DomainC_10Foundation4DataVtKcfc", + "mangledName": "$s8SwiftECC11ECPublicKeyC6nfclibE6domain5pointACSgAA6DomainC_10Foundation4DataVtKcfc", + "moduleName": "nfclib", + "declAttributes": [ + "Convenience" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "x963Representation", + "printedName": "x963Representation()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:8SwiftECC11ECPublicKeyC6nfclibE18x963RepresentationSays5UInt8VGyKF", + "mangledName": "$s8SwiftECC11ECPublicKeyC6nfclibE18x963RepresentationSays5UInt8VGyKF", + "moduleName": "nfclib", + "isOpen": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:8SwiftECC11ECPublicKeyC", + "mangledName": "$s8SwiftECC11ECPublicKeyC", + "moduleName": "SwiftECC", + "isOpen": true, + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Array", + "printedName": "Array", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(hex:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:Sa6nfclibs5UInt8VRszlE3hexSayACGSS_tcfc", + "mangledName": "$sSa6nfclibs5UInt8VRszlE3hexSayACGSS_tcfc", + "moduleName": "nfclib", + "genericSig": "<τ_0_0 where τ_0_0 == Swift.UInt8>", + "sugared_genericSig": "", + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:Sa", + "mangledName": "$sSa", + "moduleName": "Swift", + "genericSig": "<τ_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "EagerMove", + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "ContiguousBytes", + "printedName": "ContiguousBytes", + "usr": "s:10Foundation15ContiguousBytesP", + "mangledName": "$s10Foundation15ContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "Regions", + "printedName": "Regions", + "children": [ + { + "kind": "TypeNominal", + "name": "CollectionOfOne", + "printedName": "Swift.CollectionOfOne<[Swift.UInt8]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s15CollectionOfOneV" + } + ] + } + ], + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP" + }, + { + "kind": "Conformance", + "name": "DecodableWithConfiguration", + "printedName": "DecodableWithConfiguration", + "children": [ + { + "kind": "TypeWitness", + "name": "DecodingConfiguration", + "printedName": "DecodingConfiguration", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.DecodingConfiguration" + } + ] + } + ], + "usr": "s:10Foundation26DecodableWithConfigurationP", + "mangledName": "$s10Foundation26DecodableWithConfigurationP" + }, + { + "kind": "Conformance", + "name": "EncodableWithConfiguration", + "printedName": "EncodableWithConfiguration", + "children": [ + { + "kind": "TypeWitness", + "name": "EncodingConfiguration", + "printedName": "EncodingConfiguration", + "children": [ + { + "kind": "TypeNominal", + "name": "DependentMember", + "printedName": "τ_0_0.EncodingConfiguration" + } + ] + } + ], + "usr": "s:10Foundation26EncodableWithConfigurationP", + "mangledName": "$s10Foundation26EncodableWithConfigurationP" + }, + { + "kind": "Conformance", + "name": "MutableDataProtocol", + "printedName": "MutableDataProtocol", + "usr": "s:10Foundation19MutableDataProtocolP", + "mangledName": "$s10Foundation19MutableDataProtocolP" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexingIterator", + "printedName": "Swift.IndexingIterator<[τ_0_0]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s16IndexingIteratorV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "MutableCollection", + "printedName": "MutableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + } + ], + "usr": "s:SM", + "mangledName": "$sSM" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "RangeReplaceableCollection", + "printedName": "RangeReplaceableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "ArraySlice", + "printedName": "Swift.ArraySlice<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s10ArraySliceV" + } + ] + } + ], + "usr": "s:Sm", + "mangledName": "$sSm" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SendableMetatype", + "printedName": "SendableMetatype", + "usr": "s:s16SendableMetatypeP", + "mangledName": "$ss16SendableMetatypeP" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexingIterator", + "printedName": "Swift.IndexingIterator<[τ_0_0]>", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[τ_0_0]", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:s16IndexingIteratorV" + } + ] + } + ], + "usr": "s:ST", + "mangledName": "$sST" + }, + { + "kind": "Conformance", + "name": "_ArrayProtocol", + "printedName": "_ArrayProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "_Buffer", + "printedName": "_Buffer", + "children": [ + { + "kind": "TypeNominal", + "name": "_ArrayBuffer", + "printedName": "Swift._ArrayBuffer<τ_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "τ_0_0" + } + ], + "usr": "s:s12_ArrayBufferV" + } + ] + } + ], + "usr": "s:s14_ArrayProtocolP", + "mangledName": "$ss14_ArrayProtocolP" + }, + { + "kind": "Conformance", + "name": "_DestructorSafeContainer", + "printedName": "_DestructorSafeContainer", + "usr": "s:s24_DestructorSafeContainerP", + "mangledName": "$ss24_DestructorSafeContainerP" + }, + { + "kind": "Conformance", + "name": "_HasContiguousBytes", + "printedName": "_HasContiguousBytes", + "usr": "s:s19_HasContiguousBytesP", + "mangledName": "$ss19_HasContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSArray", + "printedName": "Foundation.NSArray", + "usr": "c:objc(cs)NSArray" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "StringLiteral", + "offset": 1066, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "Array", + "offset": 1114, + "length": 6, + "value": "[0x00]" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationSignHash.swift", + "kind": "StringLiteral", + "offset": 1193, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 927, + "length": 5, + "value": "\"RSA\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 962, + "length": 4, + "value": "\"EC\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/Utilities.swift", + "kind": "StringLiteral", + "offset": 1001, + "length": 9, + "value": "\"Unknown\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1019, + "length": 27, + "value": "\"ee.ria.digidoc.RIADigiDoc\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1058, + "length": 15, + "value": "\"CardReaderNFC\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1182, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1245, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1562, + "length": 22, + "value": "\"04007f00070202040204\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "StringLiteral", + "offset": 1660, + "length": 22, + "value": "\"04007f00070202040404\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1942, + "length": 2, + "value": "12" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1968, + "length": 2, + "value": "13" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 1994, + "length": 2, + "value": "15" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2020, + "length": 2, + "value": "16" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2046, + "length": 2, + "value": "17" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReaderNFC.swift", + "kind": "IntegerLiteral", + "offset": 2072, + "length": 2, + "value": "18" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 852, + "length": 67, + "value": "\"3B DB 96 00 80 B1 FE 45 1F 83 00 12 23 3F 53 65 49 44 0F 90 00 F1\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 952, + "length": 70, + "value": "\"3B DC 96 00 80 B1 FE 45 1F 83 00 12 23 3F 54 65 49 44 32 0F 90 00 C3\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1054, + "length": 49, + "value": "\"A0 00 00 00 77 01 08 00 07 00 00 FE 00 00 01 00\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1139, + "length": 49, + "value": "\"51 53 43 44 20 41 70 70 6C 69 63 61 74 69 6F 6E\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "StringLiteral", + "offset": 1228, + "length": 40, + "value": "\"E8 28 BD 08 0F F2 50 4F 54 20 41 57 50\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1299, + "length": 4, + "value": "0x81" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1333, + "length": 4, + "value": "0x9F" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "BooleanLiteral", + "offset": 1774, + "length": 4, + "value": "true" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Idemia.swift", + "kind": "IntegerLiteral", + "offset": 1832, + "length": 4, + "value": "0xFF" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommandsInternal.swift", + "kind": "IntegerLiteral", + "offset": 1216, + "length": 4, + "value": "0x04" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommandsInternal.swift", + "kind": "IntegerLiteral", + "offset": 1238, + "length": 4, + "value": "0x0C" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadCertificate.swift", + "kind": "StringLiteral", + "offset": 1489, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadCertificate.swift", + "kind": "StringLiteral", + "offset": 1574, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1103, + "length": 76, + "value": "\"3B FF 96 00 00 80 31 FE 43 80 31 B8 53 65 49 44 64 B0 85 05 10 12 23 3F 1D\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1222, + "length": 37, + "value": "\"A0 00 00 00 63 50 4B 43 53 2D 31 35\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "StringLiteral", + "offset": 1308, + "length": 49, + "value": "\"A0 00 00 00 18 10 02 03 00 00 00 00 00 00 00 01\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1399, + "length": 4, + "value": "0x01" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1444, + "length": 4, + "value": "0x05" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "BooleanLiteral", + "offset": 1479, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/Thales.swift", + "kind": "IntegerLiteral", + "offset": 1538, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Extensions\/NFCISO7816Tag+Extensions.swift", + "kind": "IntegerLiteral", + "offset": 1169, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Extensions\/NFCISO7816Tag+Extensions.swift", + "kind": "IntegerLiteral", + "offset": 2281, + "length": 2, + "value": "-1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationUnblockPin.swift", + "kind": "StringLiteral", + "offset": 1174, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationUnblockPin.swift", + "kind": "StringLiteral", + "offset": 1319, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/ProgressBar.swift", + "kind": "IntegerLiteral", + "offset": 936, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "IntegerLiteral", + "offset": 1026, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "Array", + "offset": 2744, + "length": 298, + "value": "[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87]" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Utilities\/AES.swift", + "kind": "IntegerLiteral", + "offset": 3562, + "length": 1, + "value": "8" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 885, + "length": 3, + "value": "256" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 908, + "length": 3, + "value": "384" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/WebEID\/WebEIDHash.swift", + "kind": "IntegerLiteral", + "offset": 931, + "length": 3, + "value": "512" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1104, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1134, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1169, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1203, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1240, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "StringLiteral", + "offset": 1275, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1858, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1870, + "length": 9, + "value": "2" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1890, + "length": 3, + "value": "3" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1904, + "length": 11, + "value": "4" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1926, + "length": 19, + "value": "5" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1956, + "length": 12, + "value": "6" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 1979, + "length": 10, + "value": "7" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardInfo.swift", + "kind": "IntegerLiteral", + "offset": 2000, + "length": 12, + "value": "8" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadPublicData.swift", + "kind": "StringLiteral", + "offset": 1061, + "length": 2, + "value": "\"\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/Operations\/OperationReadPublicData.swift", + "kind": "StringLiteral", + "offset": 1101, + "length": 52, + "value": "\"Please place your ID card against the smart device\"" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 2950, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 2984, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardReader.swift", + "kind": "IntegerLiteral", + "offset": 3006, + "length": 4, + "value": "0x00" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 877, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 895, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/martenr\/Documents\/Github\/MOPP\/Official\/nfc-iOS-lib\/nfc-lib\/nfc-lib\/nfclib\/CardActions\/CardCommands.swift", + "kind": "IntegerLiteral", + "offset": 913, + "length": 1, + "value": "2" + } + ] +} \ No newline at end of file diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface new file mode 100644 index 00000000..58bafaa2 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -0,0 +1,229 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -Onone -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name nfclib +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2 +import BigInt +import CommonCrypto +@preconcurrency import CoreNFC +import CryptoKit +import CryptoTokenKit +import Darwin +import Foundation +import OSLog +import Security +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_exported import nfclib +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationSignHash : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startSigning(CAN: Swift.String, PIN2: nfclib.SecureData, hash: Foundation.Data) async throws -> Foundation.Data + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationSignHash : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_hasMissingDesignatedInitializers final public class WebEidData : Swift.Sendable { + final public let unverifiedCertificate: Swift.String + final public let signingCertificate: Swift.String + final public let algorithm: Swift.String + final public let signature: Swift.String + final public var formattedDescription: Swift.String { + get + } + @objc deinit +} +final public class SecureData : Swift.Sendable { + public init(_ bytes: [Swift.UInt8]) + public init(_ data: Foundation.Data) + @objc deinit + final public var count: Swift.Int { + get + } + final public func secureZero() +} +public let rsaAlgorithmName: Swift.String +public let ecAlgorithmName: Swift.String +public let unknownAlgorithmName: Swift.String +public enum AuthenticateWithWebEidError : Swift.Error { + case failedToReadPublicKey + case failedToDetermineAlgorithm + case failedToHashData + case failedToMapAlgorithm + case failedCertificateExpired + case failedCertificateNotYetValid + public static func == (a: nfclib.AuthenticateWithWebEidError, b: nfclib.AuthenticateWithWebEidError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_Concurrency.MainActor public class OperationAuthenticateWithWebEID : ObjectiveC.NSObject { + @_Concurrency.MainActor public init(CAN: Swift.String, pin1: nfclib.SecureData, challenge: Swift.String, origin: Swift.String) + @_Concurrency.MainActor public func startReading() async throws -> nfclib.WebEidData + @objc deinit +} +extension nfclib.OperationAuthenticateWithWebEID : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func getAlgorithmNameTypeAndLength(from key: Security.SecKey) -> (algorithm: Swift.String, keyLength: Swift.Int)? + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) + @_Concurrency.MainActor public func mapToAlgorithm(algorithm: Swift.String, bitLength: Swift.Int) -> Swift.String? +} +public struct SignatureAlgorithmInfo { +} +public enum ReadCertificateError : Swift.Error { + case certificateUsageNotSpecified + case failedToReadCertificate + case general + public static func == (a: nfclib.ReadCertificateError, b: nfclib.ReadCertificateError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CertificateUsage { + case auth + case sign + public static func == (a: nfclib.CertificateUsage, b: nfclib.CertificateUsage) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension CoreNFC.NFCTagReaderSession : @unchecked @retroactive Swift.Sendable { +} +extension CoreNFC.NFCTag : @unchecked @retroactive Swift.Sendable { +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationReadCertificate : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, certUsage: nfclib.CertificateUsage) async throws -> Security.SecCertificate + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadCertificate : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum UnblockPINError : Swift.Error { + case missingRequiredParameter + case failed + case general + public static func == (a: nfclib.UnblockPINError, b: nfclib.UnblockPINError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationUnblockPin : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, codeType: nfclib.CodeType, puk: nfclib.SecureData, newPin: nfclib.SecureData) async throws + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationUnblockPin : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_Concurrency.MainActor public class NFCConnection { + @_Concurrency.MainActor public init() + @_Concurrency.MainActor public func setup(_ session: CoreNFC.NFCTagReaderSession, tags: [CoreNFC.NFCTag]) async throws -> any CoreNFC.NFCISO7816Tag + @_Concurrency.MainActor public func getCardCommands(_: CoreNFC.NFCTagReaderSession, tag: any CoreNFC.NFCISO7816Tag, CAN: Swift.String) async throws -> any nfclib.CardCommands + @objc deinit +} +public enum IdCardError : Swift.Error { + case wrongCAN, wrongPIN(triesLeft: Swift.Int), invalidNewPIN, sessionError +} +public enum IdCardInternalError : Swift.Error { + case missingRESTag, missingMACTag, invalidMACValue, failedReadingField(nfclib.CardField), hexConversionFailed, AESCBCError, sendCommandFailed(message: Swift.String), invalidResponse(message: Swift.String), swError(Swift.UInt16), pinVerificationFailed, remainingPinRetryCount(Swift.Int), invalidNewPin, notSupportedCodeType, dataPaddingError, invalidAPDU, authenticationFailed, canAuthenticationFailed, invalidTag, cardNotSupported, nfcNotSupported, connectionFailed, multipleTagsDetected, couldNotVerifyChipsMAC, cancelledByUser, sessionInvalidated, readerProcessFailed, failedToRemovePadding, notSupportedAlgorithm + public func getIdCardError() -> nfclib.IdCardError +} +public struct PinError : Swift.Error { +} +public struct CardInfo : Swift.Sendable, Swift.Hashable { + public var givenName: Swift.String + public var surname: Swift.String + public var personalCode: Swift.String + public var citizenship: Swift.String + public var documentNumber: Swift.String + public var dateOfExpiry: Swift.String + public init(givenName: Swift.String = "", surname: Swift.String = "", personalCode: Swift.String = "", citizenship: Swift.String = "", documentNumber: Swift.String = "", dateOfExpiry: Swift.String = "") + public var formattedDescription: Swift.String { + get + } + public static func == (a: nfclib.CardInfo, b: nfclib.CardInfo) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CardField : Swift.Int, Swift.Sendable { + case surname, firstName, sex, citizenship, dateAndPlaceOfBirth, personalCode, documentNr, dateOfExpiry + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor final public class OperationReadPublicData : ObjectiveC.NSObject { + @_Concurrency.MainActor final public func startReading(CAN: Swift.String) async throws -> nfclib.CardInfo + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadPublicData : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor final public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor final public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor final public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum CodeType : Swift.UInt, Swift.Sendable { + case puk + case pin1 + case pin2 + public var name: Swift.String { + get + } + public init?(rawValue: Swift.UInt) + public typealias RawValue = Swift.UInt + public var rawValue: Swift.UInt { + get + } +} +public protocol CardCommands : Swift.Sendable { + var canChangePUK: Swift.Bool { get } + func readPublicData() async throws -> nfclib.CardInfo + func readAuthenticationCertificate() async throws -> Foundation.Data + func readSignatureCertificate() async throws -> Foundation.Data + func readCodeTryCounterRecord(_ type: nfclib.CodeType) async throws -> (retryCount: Swift.UInt8, pinActive: Swift.Bool) + func changeCode(_ type: nfclib.CodeType, to code: nfclib.SecureData, verifyCode: nfclib.SecureData) async throws + func verifyCode(_ type: nfclib.CodeType, code: nfclib.SecureData) async throws + func unblockCode(_ type: nfclib.CodeType, puk: nfclib.SecureData, newCode: nfclib.SecureData) async throws + func authenticate(for hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data + func calculateSignature(for hash: Foundation.Data, withPin2 pin2: nfclib.SecureData) async throws -> Foundation.Data + func decryptData(_ hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data +} +extension Foundation.DataProtocol where Self : Foundation.MutableDataProtocol, Self.Index == Swift.Int { + public static func ^ (xVal: Self, yVal: Self) -> Self +} +extension nfclib.OperationSignHash : Swift.Sendable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Equatable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Hashable {} +extension nfclib.OperationAuthenticateWithWebEID : Swift.Sendable {} +extension nfclib.CodeType : Swift.Equatable {} +extension nfclib.CodeType : Swift.Hashable {} +extension nfclib.CodeType : Swift.RawRepresentable {} +extension nfclib.ReadCertificateError : Swift.Equatable {} +extension nfclib.ReadCertificateError : Swift.Hashable {} +extension nfclib.CertificateUsage : Swift.Equatable {} +extension nfclib.CertificateUsage : Swift.Hashable {} +extension nfclib.OperationReadCertificate : Swift.Sendable {} +extension nfclib.UnblockPINError : Swift.Equatable {} +extension nfclib.UnblockPINError : Swift.Hashable {} +extension nfclib.OperationUnblockPin : Swift.Sendable {} +extension nfclib.NFCConnection : Swift.Sendable {} +extension nfclib.CardField : Swift.Equatable {} +extension nfclib.CardField : Swift.Hashable {} +extension nfclib.CardField : Swift.RawRepresentable {} +extension nfclib.OperationReadPublicData : Swift.Sendable {} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftdoc new file mode 100644 index 00000000..688ba95e Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftinterface new file mode 100644 index 00000000..58bafaa2 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -0,0 +1,229 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101) +// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -Onone -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name nfclib +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2 +import BigInt +import CommonCrypto +@preconcurrency import CoreNFC +import CryptoKit +import CryptoTokenKit +import Darwin +import Foundation +import OSLog +import Security +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_exported import nfclib +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationSignHash : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startSigning(CAN: Swift.String, PIN2: nfclib.SecureData, hash: Foundation.Data) async throws -> Foundation.Data + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationSignHash : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_hasMissingDesignatedInitializers final public class WebEidData : Swift.Sendable { + final public let unverifiedCertificate: Swift.String + final public let signingCertificate: Swift.String + final public let algorithm: Swift.String + final public let signature: Swift.String + final public var formattedDescription: Swift.String { + get + } + @objc deinit +} +final public class SecureData : Swift.Sendable { + public init(_ bytes: [Swift.UInt8]) + public init(_ data: Foundation.Data) + @objc deinit + final public var count: Swift.Int { + get + } + final public func secureZero() +} +public let rsaAlgorithmName: Swift.String +public let ecAlgorithmName: Swift.String +public let unknownAlgorithmName: Swift.String +public enum AuthenticateWithWebEidError : Swift.Error { + case failedToReadPublicKey + case failedToDetermineAlgorithm + case failedToHashData + case failedToMapAlgorithm + case failedCertificateExpired + case failedCertificateNotYetValid + public static func == (a: nfclib.AuthenticateWithWebEidError, b: nfclib.AuthenticateWithWebEidError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_Concurrency.MainActor public class OperationAuthenticateWithWebEID : ObjectiveC.NSObject { + @_Concurrency.MainActor public init(CAN: Swift.String, pin1: nfclib.SecureData, challenge: Swift.String, origin: Swift.String) + @_Concurrency.MainActor public func startReading() async throws -> nfclib.WebEidData + @objc deinit +} +extension nfclib.OperationAuthenticateWithWebEID : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func getAlgorithmNameTypeAndLength(from key: Security.SecKey) -> (algorithm: Swift.String, keyLength: Swift.Int)? + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) + @_Concurrency.MainActor public func mapToAlgorithm(algorithm: Swift.String, bitLength: Swift.Int) -> Swift.String? +} +public struct SignatureAlgorithmInfo { +} +public enum ReadCertificateError : Swift.Error { + case certificateUsageNotSpecified + case failedToReadCertificate + case general + public static func == (a: nfclib.ReadCertificateError, b: nfclib.ReadCertificateError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CertificateUsage { + case auth + case sign + public static func == (a: nfclib.CertificateUsage, b: nfclib.CertificateUsage) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension CoreNFC.NFCTagReaderSession : @unchecked @retroactive Swift.Sendable { +} +extension CoreNFC.NFCTag : @unchecked @retroactive Swift.Sendable { +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationReadCertificate : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, certUsage: nfclib.CertificateUsage) async throws -> Security.SecCertificate + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadCertificate : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum UnblockPINError : Swift.Error { + case missingRequiredParameter + case failed + case general + public static func == (a: nfclib.UnblockPINError, b: nfclib.UnblockPINError) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor public class OperationUnblockPin : ObjectiveC.NSObject { + @_Concurrency.MainActor public func startReading(CAN: Swift.String, codeType: nfclib.CodeType, puk: nfclib.SecureData, newPin: nfclib.SecureData) async throws + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationUnblockPin : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +@_Concurrency.MainActor public class NFCConnection { + @_Concurrency.MainActor public init() + @_Concurrency.MainActor public func setup(_ session: CoreNFC.NFCTagReaderSession, tags: [CoreNFC.NFCTag]) async throws -> any CoreNFC.NFCISO7816Tag + @_Concurrency.MainActor public func getCardCommands(_: CoreNFC.NFCTagReaderSession, tag: any CoreNFC.NFCISO7816Tag, CAN: Swift.String) async throws -> any nfclib.CardCommands + @objc deinit +} +public enum IdCardError : Swift.Error { + case wrongCAN, wrongPIN(triesLeft: Swift.Int), invalidNewPIN, sessionError +} +public enum IdCardInternalError : Swift.Error { + case missingRESTag, missingMACTag, invalidMACValue, failedReadingField(nfclib.CardField), hexConversionFailed, AESCBCError, sendCommandFailed(message: Swift.String), invalidResponse(message: Swift.String), swError(Swift.UInt16), pinVerificationFailed, remainingPinRetryCount(Swift.Int), invalidNewPin, notSupportedCodeType, dataPaddingError, invalidAPDU, authenticationFailed, canAuthenticationFailed, invalidTag, cardNotSupported, nfcNotSupported, connectionFailed, multipleTagsDetected, couldNotVerifyChipsMAC, cancelledByUser, sessionInvalidated, readerProcessFailed, failedToRemovePadding, notSupportedAlgorithm + public func getIdCardError() -> nfclib.IdCardError +} +public struct PinError : Swift.Error { +} +public struct CardInfo : Swift.Sendable, Swift.Hashable { + public var givenName: Swift.String + public var surname: Swift.String + public var personalCode: Swift.String + public var citizenship: Swift.String + public var documentNumber: Swift.String + public var dateOfExpiry: Swift.String + public init(givenName: Swift.String = "", surname: Swift.String = "", personalCode: Swift.String = "", citizenship: Swift.String = "", documentNumber: Swift.String = "", dateOfExpiry: Swift.String = "") + public var formattedDescription: Swift.String { + get + } + public static func == (a: nfclib.CardInfo, b: nfclib.CardInfo) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum CardField : Swift.Int, Swift.Sendable { + case surname, firstName, sex, citizenship, dateAndPlaceOfBirth, personalCode, documentNr, dateOfExpiry + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor final public class OperationReadPublicData : ObjectiveC.NSObject { + @_Concurrency.MainActor final public func startReading(CAN: Swift.String) async throws -> nfclib.CardInfo + @_Concurrency.MainActor @objc override dynamic public init() + @objc deinit +} +extension nfclib.OperationReadPublicData : @_Concurrency.MainActor CoreNFC.NFCTagReaderSessionDelegate { + @_Concurrency.MainActor final public func tagReaderSession(_ session: CoreNFC.NFCTagReaderSession, didDetect tags: [CoreNFC.NFCTag]) + @_Concurrency.MainActor final public func tagReaderSessionDidBecomeActive(_: CoreNFC.NFCTagReaderSession) + @_Concurrency.MainActor final public func tagReaderSession(_: CoreNFC.NFCTagReaderSession, didInvalidateWithError _: any Swift.Error) +} +public enum CodeType : Swift.UInt, Swift.Sendable { + case puk + case pin1 + case pin2 + public var name: Swift.String { + get + } + public init?(rawValue: Swift.UInt) + public typealias RawValue = Swift.UInt + public var rawValue: Swift.UInt { + get + } +} +public protocol CardCommands : Swift.Sendable { + var canChangePUK: Swift.Bool { get } + func readPublicData() async throws -> nfclib.CardInfo + func readAuthenticationCertificate() async throws -> Foundation.Data + func readSignatureCertificate() async throws -> Foundation.Data + func readCodeTryCounterRecord(_ type: nfclib.CodeType) async throws -> (retryCount: Swift.UInt8, pinActive: Swift.Bool) + func changeCode(_ type: nfclib.CodeType, to code: nfclib.SecureData, verifyCode: nfclib.SecureData) async throws + func verifyCode(_ type: nfclib.CodeType, code: nfclib.SecureData) async throws + func unblockCode(_ type: nfclib.CodeType, puk: nfclib.SecureData, newCode: nfclib.SecureData) async throws + func authenticate(for hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data + func calculateSignature(for hash: Foundation.Data, withPin2 pin2: nfclib.SecureData) async throws -> Foundation.Data + func decryptData(_ hash: Foundation.Data, withPin1 pin1: nfclib.SecureData) async throws -> Foundation.Data +} +extension Foundation.DataProtocol where Self : Foundation.MutableDataProtocol, Self.Index == Swift.Int { + public static func ^ (xVal: Self, yVal: Self) -> Self +} +extension nfclib.OperationSignHash : Swift.Sendable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Equatable {} +extension nfclib.AuthenticateWithWebEidError : Swift.Hashable {} +extension nfclib.OperationAuthenticateWithWebEID : Swift.Sendable {} +extension nfclib.CodeType : Swift.Equatable {} +extension nfclib.CodeType : Swift.Hashable {} +extension nfclib.CodeType : Swift.RawRepresentable {} +extension nfclib.ReadCertificateError : Swift.Equatable {} +extension nfclib.ReadCertificateError : Swift.Hashable {} +extension nfclib.CertificateUsage : Swift.Equatable {} +extension nfclib.CertificateUsage : Swift.Hashable {} +extension nfclib.OperationReadCertificate : Swift.Sendable {} +extension nfclib.UnblockPINError : Swift.Equatable {} +extension nfclib.UnblockPINError : Swift.Hashable {} +extension nfclib.OperationUnblockPin : Swift.Sendable {} +extension nfclib.NFCConnection : Swift.Sendable {} +extension nfclib.CardField : Swift.Equatable {} +extension nfclib.CardField : Swift.Hashable {} +extension nfclib.CardField : Swift.RawRepresentable {} +extension nfclib.OperationReadPublicData : Swift.Sendable {} diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/_CodeSignature/CodeResources b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/_CodeSignature/CodeResources new file mode 100644 index 00000000..b5f35331 --- /dev/null +++ b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/_CodeSignature/CodeResources @@ -0,0 +1,267 @@ + + + + + files + + Headers/nfclib-Swift.h + + YHgWlLirMJ0qs40frz2fMufOoLg= + + Headers/nfclib.h + + HLGVdH88PfmZ+nKIubGCbwnRq4w= + + Info.plist + + E7ErYb3LyBuUsMMMQIdp3Q0TqnM= + + Modules/module.modulemap + + P0GNQPoJ1ix1mgNbD/A0xg8Qsoc= + + Modules/nfclib.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo + + tzwUKrxbURrZ8sCoqqNqsTO9mag= + + Modules/nfclib.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo + + YzRBvWh7qKZTSV2XDPlSzjx5MRU= + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.abi.json + + SVi7UZ2v57aLOqN0EsOUGIg51qE= + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface + + UdHDRUVwCzXqzcR3MqxDUJuijWI= + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftdoc + + 8hdf3kejetjOA1ubeNn7rFco+Ko= + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftinterface + + UdHDRUVwCzXqzcR3MqxDUJuijWI= + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftmodule + + bioBzv/L1hggfBG1w22tCD9q/No= + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.abi.json + + SVi7UZ2v57aLOqN0EsOUGIg51qE= + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface + + s7LptY2DTH4xvpRJsrwFTmuokL0= + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftdoc + + j2CTp6UO57OG+IQvs+GPT6asaAA= + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftinterface + + s7LptY2DTH4xvpRJsrwFTmuokL0= + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftmodule + + IdehuCjZJqgNcUwz4vbI3PCeBsA= + + + files2 + + Headers/nfclib-Swift.h + + hash2 + + cewgIJYdcMNLPD7bdMZxGYYtZ20NfrYHLQ+DFATDQ9I= + + + Headers/nfclib.h + + hash2 + + ymPa2WAUR0jF5FEoU0+axZmV4642rRG23TO1gDvNuV8= + + + Modules/module.modulemap + + hash2 + + zrcFxqc0kUqScedleGcoqNwy331bzJmPH55qEDoyQH4= + + + Modules/nfclib.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo + + hash2 + + YL0Bw2Szbru+hh1qFjHJwZQgHQmdKQc1e8o7T2Lju2Q= + + + Modules/nfclib.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo + + hash2 + + hWjiBaK39jgXtxpLgpWEmjKl11k7XVqpf1NJ753iVIE= + + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.abi.json + + hash2 + + cgNI2c7PGM8dGxxlPaZKX4jX8rjsdrQB1MxV97NPVCM= + + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface + + hash2 + + duZg0qCiBc6d0VJt+NL5JhvEXuN0hy0KlhNPjJs4UAM= + + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftdoc + + hash2 + + IKZMoRH9zaa8wA9zIeES3+rQSJ9hsMXP390PSGeSYzo= + + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftinterface + + hash2 + + duZg0qCiBc6d0VJt+NL5JhvEXuN0hy0KlhNPjJs4UAM= + + + Modules/nfclib.swiftmodule/arm64-apple-ios-simulator.swiftmodule + + hash2 + + 2knMe3LTneK4JopSXB94pZJCoa8Chc3P4NeLWYZU+/k= + + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.abi.json + + hash2 + + cgNI2c7PGM8dGxxlPaZKX4jX8rjsdrQB1MxV97NPVCM= + + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface + + hash2 + + hIvRFBxS/xTSAmkA6Fh8mB9f0HVh1iXZqg+uFNAgsKQ= + + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftdoc + + hash2 + + us8vNP5SHYIVJqOh0vTZKJuQv133Og0sqdzNK48Gryk= + + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftinterface + + hash2 + + hIvRFBxS/xTSAmkA6Fh8mB9f0HVh1iXZqg+uFNAgsKQ= + + + Modules/nfclib.swiftmodule/x86_64-apple-ios-simulator.swiftmodule + + hash2 + + wmB5wN3fsEFIsHK+NvgFamfx/aNYAv0ogaj9M5Yigkw= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/nfclib b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/nfclib new file mode 100755 index 00000000..c44f6f42 Binary files /dev/null and b/Modules/IdCardLib/Frameworks/nfclib.xcframework/ios-arm64_x86_64-simulator/nfclib.framework/nfclib differ diff --git a/Modules/IdCardLib/Package.resolved b/Modules/IdCardLib/Package.resolved deleted file mode 100644 index a2a16060..00000000 --- a/Modules/IdCardLib/Package.resolved +++ /dev/null @@ -1,96 +0,0 @@ -{ - "originHash" : "765492bae74340e47676462cc53b3d303fab61c8ed5e239135e123527ba61139", - "pins" : [ - { - "identity" : "alamofire", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Alamofire/Alamofire.git", - "state" : { - "revision" : "513364f870f6bfc468f9d2ff0a95caccc10044c5", - "version" : "5.10.2" - } - }, - { - "identity" : "asn1", - "kind" : "remoteSourceControl", - "location" : "https://github.com/leif-ibsen/ASN1", - "state" : { - "revision" : "e38d1b8b43d8b53ffadde9836f34289176bb7a0c", - "version" : "2.7.0" - } - }, - { - "identity" : "bigint", - "kind" : "remoteSourceControl", - "location" : "https://github.com/leif-ibsen/BigInt.git", - "state" : { - "revision" : "afb70a0038bfbba845271b60fa9a58d5840f8017", - "version" : "1.21.0" - } - }, - { - "identity" : "digest", - "kind" : "remoteSourceControl", - "location" : "https://github.com/leif-ibsen/Digest.git", - "state" : { - "revision" : "95ba89b494aaff5f3cd2933c03b9a890323dbf2c", - "version" : "1.13.0" - } - }, - { - "identity" : "factory", - "kind" : "remoteSourceControl", - "location" : "https://github.com/hmlongco/Factory", - "state" : { - "revision" : "ccc898f21992ebc130bc04cc197460a5ae230bcf", - "version" : "2.5.3" - } - }, - { - "identity" : "swift-asn1", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-asn1.git", - "state" : { - "revision" : "f70225981241859eb4aa1a18a75531d26637c8cc", - "version" : "1.4.0" - } - }, - { - "identity" : "swift-certificates", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-certificates.git", - "state" : { - "revision" : "274f8668d3ec5d2892904d8465635c5ea659f767", - "version" : "1.7.0" - } - }, - { - "identity" : "swift-crypto", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-crypto.git", - "state" : { - "revision" : "95ba0316a9b733e92bb6b071255ff46263bbe7dc", - "version" : "3.15.1" - } - }, - { - "identity" : "swiftecc", - "kind" : "remoteSourceControl", - "location" : "https://github.com/leif-ibsen/SwiftECC.git", - "state" : { - "revision" : "85c529c9c56b649a8d8edcef60aab3925ab0f69f", - "version" : "5.5.0" - } - }, - { - "identity" : "zipfoundation", - "kind" : "remoteSourceControl", - "location" : "https://github.com/weichsel/ZIPFoundation", - "state" : { - "revision" : "02b6abe5f6eef7e3cbd5f247c5cc24e246efcfe0", - "version" : "0.9.19" - } - } - ], - "version" : 3 -} diff --git a/Modules/IdCardLib/Package.swift b/Modules/IdCardLib/Package.swift index 9b0a5ca7..02ead18a 100644 --- a/Modules/IdCardLib/Package.swift +++ b/Modules/IdCardLib/Package.swift @@ -7,71 +7,16 @@ let package = Package( products: [ .library( name: "IdCardLib", - targets: ["IdCardLib"] - ), - .library(name: "IdCardLibMocks", targets: ["IdCardLibMocks"]) + targets: ["nfclib"] + ) ], dependencies: [ - .package(url: "https://github.com/hmlongco/Factory", exact: .init(2, 5, 3)), - .package(url: "https://github.com/leif-ibsen/BigInt.git", exact: .init(1, 23, 0)), - .package(url: "https://github.com/leif-ibsen/Digest.git", exact: .init(1, 13, 0)), - .package(url: "https://github.com/filom/ASN1Decoder", exact: .init(1, 10, 0)), - .package(url: "https://github.com/leif-ibsen/SwiftECC.git", exact: .init(5, 5, 0)), - .package(path: "../UtilsLib"), - .package(path: "../CommonsLib") + .package(url: "https://github.com/leif-ibsen/BigInt.git", exact: .init(1, 23, 0)) ], targets: [ - .target( - name: "iR301", - dependencies: ["iR301Binary"], - path: "Sources/bR301", - publicHeadersPath: "include" - ), .binaryTarget( - name: "iR301Binary", - path: "Sources/bR301/bR301.xcframework" - ), - .target( - name: "IdCardLib", - dependencies: [ - "ASN1Decoder", - "BigInt", - "Digest", - "SwiftECC", - "iR301", - "UtilsLib", - "CommonsLib", - .product(name: "FactoryKit", package: "Factory") - ], - path: "Sources/IdCardLib", - swiftSettings: [ - .enableExperimentalFeature("StrictConcurrency"), - .enableUpcomingFeature("SendableByDefault"), - .enableUpcomingFeature("NonisolatedNonsendingByDefault"), - .enableUpcomingFeature("InferIsolatedConformances") - ], - linkerSettings: [ - .linkedFramework("CoreBluetooth", .when(platforms: [.iOS])), - .linkedFramework("ExternalAccessory", .when(platforms: [.iOS])), - .unsafeFlags(["-ObjC"], .when(platforms: [.iOS])), - .linkedLibrary("c++", .when(platforms: [.iOS])) - ] - ), - .target( - name: "IdCardLibMocks", - dependencies: ["IdCardLib"], - path: "Tests/Mocks/Generated", - swiftSettings: [ - .swiftLanguageMode(.v5) - ] - ), - .testTarget( - name: "IdCardLibTests", - dependencies: [ - "IdCardLib", - "IdCardLibMocks", - .product(name: "FactoryTesting", package: "Factory") - ] + name: "nfclib", + path: "Frameworks/nfclib.xcframework" ) ] ) diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardCommands.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardCommands.swift deleted file mode 100644 index 1ebbf979..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardCommands.swift +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CommonsLib - -public enum CodeType: UInt, Sendable { - case puk = 0 - case pin1 = 1 - case pin2 = 2 - - public var name: String { - switch self { - case .puk: return "PUK" - case .pin1: return "PIN1" - case .pin2: return "PIN2" - } - } - - public var minimumLength: Int { - switch self { - case .pin1: - return Constants.Validation.Pin1MinimumLength - case .pin2: - return Constants.Validation.Pin2MinimumLength - case .puk: - return Constants.Validation.PukMinimumLength - } - } - - public var validLength: ClosedRange { - return switch self { - case .pin1: - minimumLength...Constants.Validation.PinMaximumLength - case .pin2: - minimumLength...Constants.Validation.PinMaximumLength - case .puk: - minimumLength...Constants.Validation.PinMaximumLength - } - } -} - -/** - * A protocol defining commands for interacting with a smart card. - */ - -/// @mockable -public protocol CardCommands: Sendable { - var canChangePUK: Bool { get } - /** - * Reads public data from the card. - * - * - Throws: An error if the operation fails. - * - Returns: The personal data read from the card. - */ - func readPublicData() async throws -> CardInfo - - /** - * Reads the authentication certificate from the card. - * - * - Throws: An error if the operation fails. - * - Returns: The authentication certificate as `Data`. - */ - func readAuthenticationCertificate() async throws -> Data - - /** - * Reads the signature certificate from the card. - * - * - Throws: An error if the operation fails. - * - Returns: The signature certificate as `Data`. - */ - func readSignatureCertificate() async throws -> Data - - /** - * Reads the PIN or PUK code counter record. - * - * - Parameter type: The type of record to read. - * - Throws: An error if the operation fails. - * - Returns: The remaining attempts as an `UInt8`. - */ - func readCodeTryCounterRecord(_ type: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) - - /** - * Changes the PIN or PUK code. - * - * - Parameters: - * - type: The type of code to change (e.g., `CodeType.Puk`, `CodeType.Pin1`, `CodeType.Pin2`). - * - code: The new PIN/PUK code. - * - verifyCode: The current PIN or PUK code for verification. - * - Throws: An error if the operation fails. - */ - func changeCode(_ type: CodeType, to code: SecureData, verifyCode: SecureData) async throws - - /** - * Verifies a PIN or PUK code. - * - * - Parameters: - * - type: The type of code to verify (e.g., `CodeType.Puk`, `CodeType.Pin1`, `CodeType.Pin2`). - * - code: The PIN/PUK code to verify. - * - Throws: An error if the verification fails. - */ - func verifyCode(_ type: CodeType, code: SecureData) async throws - - /** - * Unblocks a PIN using the PUK code. - * - * - Parameters: - * - type: The type of code to unblock (`CodeType.Pin1` or `CodeType.Pin2`). - * - puk: The current PUK code for verification. - * - newCode: The new PIN code. - * - Throws: An error if the operation fails. - */ - func unblockCode(_ type: CodeType, puk: SecureData, newCode: SecureData) async throws - - /** - * Authenticates using a cryptographic challenge. - * - * - Parameters: - * - hash: The challenge hash to be signed. - * - pin1: PIN 1 for authentication. - * - Throws: An error if the operation fails. - * - Returns: The authentication response as `Data`. - */ - func authenticate(for hash: Data, withPin1 pin1: SecureData) async throws -> Data - - /** - * Calculates a digital signature for the given hash. - * - * - Parameters: - * - hash: The hash to be signed. - * - pin2: PIN 2 for verification. - * - Throws: An error if the operation fails. - * - Returns: The signature as `Data`. - */ - func calculateSignature(for hash: Data, withPin2 pin2: SecureData) async throws -> Data - - /** - * Decrypts data using PIN 1. - * - * - Parameters: - * - hash: The data to be decrypted. - * - pin1: PIN 1 for verification. - * - Throws: An error if the operation fails. - * - Returns: The decrypted data. - */ - func decryptData(_ hash: Data, withPin1 pin1: SecureData) async throws -> Data -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardCommandsInternal.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardCommandsInternal.swift deleted file mode 100644 index 57caf807..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardCommandsInternal.swift +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import CryptoTokenKit - -protocol CardCommandsInternal: CardCommands { - /** - * The smart card reader used to communicate with the card. - * - * Implementations may use this to send APDU commands and manage card sessions. - */ - var reader: CardReader { get } - - var fillChar: UInt8 { get } -} - -extension CardCommandsInternal { - typealias TLV = TKBERTLVRecord - - func select(p1Byte: UInt8 = 0x04, p2Byte: UInt8 = 0x0C, file: Bytes) async throws -> Data { - return try await reader.sendAPDU( - ins: 0xA4, - p1Byte: p1Byte, - p2Byte: p2Byte, - data: file, - leByte: p2Byte == 0x0C ? nil : 0x00 - ) - } - - func readFile(p1Byte: UInt8, file: Bytes) async throws -> Data { - var size = 0xE5 - if let fci = TLV(from: try await select(p1Byte: p1Byte, p2Byte: 0x04, file: file)) { - for record in TLV.sequenceOfRecords(from: fci.value) ?? [] where record.tag == 0x80 || record.tag == 0x81 { - size = Int(record.value[0]) << 8 | Int(record.value[1]) - } - } - var data = Data() - while data.count < size { - data.append( - contentsOf: try await reader.sendAPDU( - ins: 0xB0, - p1Byte: UInt8(data.count >> 8), - p2Byte: UInt8(truncatingIfNeeded: data.count), - leByte: UInt8(min(0xE5, size - data.count)) - ) - ) - } - return data - } - - private func errorForPinActionResponse(execute: () async throws -> Void) async throws { - do { - try await execute() - } catch let error { - if case let IdCardInternalError.swError(uInt16) = error { - switch uInt16 { - case 0x9000: // Success - return - case 0x6A80: // New pin is invalid - throw IdCardInternalError.invalidNewPin - case 0x63C0, 0x6983, 0x6984: // Authentication method blocked - throw IdCardInternalError.pinVerificationFailed - // For pin codes this means verification failed due to wrong pin - case let uInt16 where (uInt16 & 0xFFF0) == 0x63C0: - // Last char in trailer holds retry count - throw IdCardInternalError.remainingPinRetryCount(Int(uInt16 & 0x000F)) - default: - throw error - } - } else { - throw error - } - } - } - - private func pinTemplate(_ pin: SecureData?) -> Data { - guard let pin = pin else { return Data() } - - var out = Data() - out.reserveCapacity(12) - - pin.withUnsafeBytes { raw in - // Copy up to 12 bytes from the secure buffer - let nVal = min(raw.count, 12) - let src = raw.bindMemory(to: UInt8.self) - out.append(contentsOf: src.prefix(nVal)) - } - - // Pad with fillChar if needed - if out.count < 12 { - out.append(Data(repeating: fillChar, count: 12 - out.count)) - } - - return out - } - - func changeCode(_ pinRef: UInt8, to code: SecureData, verifyCode: SecureData) async throws { - try await errorForPinActionResponse { - _ = try await reader.sendAPDU(ins: 0x24, p2Byte: pinRef, data: pinTemplate(verifyCode) + pinTemplate(code)) - } - } - - func unblockCode(_ pinRef: UInt8, puk: SecureData?, newCode: SecureData) async throws { - try await errorForPinActionResponse { - _ = try await reader - .sendAPDU( - ins: 0x2C, - p1Byte: puk == nil ? 0x02 : 0x00, - p2Byte: pinRef, - data: pinTemplate(puk) + pinTemplate(newCode) - ) - } - } - - func verifyCode(_ pinRef: UInt8, code: SecureData) async throws { - try await errorForPinActionResponse { - _ = try await reader.sendAPDU(ins: 0x20, p2Byte: pinRef, data: pinTemplate(code)) - } - } - - func setSecEnv(mode: UInt8, algo: Bytes? = nil, keyRef: UInt8) async throws { - var algoData: Data = Data() - if let algoValue = algo { - algoData = TLV(tag: 0x80, value: Data(algoValue)).data - } - - _ = try await reader.sendAPDU(ins: 0x22, p1Byte: 0x41, p2Byte: mode, - data: algoData + TLV(tag: 0x84, value: Data([keyRef])).data) - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardInfo.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardInfo.swift deleted file mode 100644 index a67a16c5..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardInfo.swift +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -public struct CardInfo: Sendable, Hashable { - public var givenName: String - public var surname: String - public var personalCode: String - public var citizenship: String - public var documentNumber: String - public var dateOfExpiry: String - - public init( - givenName: String = "", - surname: String = "", - personalCode: String = "", - citizenship: String = "", - documentNumber: String = "", - dateOfExpiry: String = "" - ) { - self.givenName = givenName - self.surname = surname - self.personalCode = personalCode - self.citizenship = citizenship - self.documentNumber = documentNumber - self.dateOfExpiry = dateOfExpiry - } - - public var formattedDescription: String { - """ - Name: \(givenName) \(surname) - Personal Code: \(personalCode) - Citizenship: \(citizenship) - Document number: \(documentNumber) - Date of Expiry: \(dateOfExpiry) - """ - } -} - -public enum CardField: Int, Sendable { - case surname = 1, - firstName, - sex, - citizenship, - dateAndPlaceOfBirth, - personalCode, - documentNr, - dateOfExpiry -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardReader.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardReader.swift deleted file mode 100644 index 5165ed82..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardReader.swift +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation - -typealias Bytes = [UInt8] - -protocol CardReader: Sendable { - /** - * Sends an APDU (Application Protocol Data Unit) command to the smart card and retrieves the response. - * - * - Parameter apdu: The APDU command to be sent. - * - Throws: An error if communication with the card fails. - * - Returns: A tuple containing: - * - The response data from the card. - * - The status word (SW), which indicates the processing status of the command. - */ - func transmit(_ apdu: Bytes) async throws -> (responseData: Bytes, sw: UInt16) -} - -extension CardReader { - /** - * Constructs and sends an APDU (Application Protocol Data Unit) command to the smart card. - * - * This method builds a command APDU according to ISO/IEC 7816-4 using the provided parameters - * and transmits it. It automatically handles specific response status words: - * - * - **`0x6CXX`**: Indicates incorrect expected length (`Le`). - * The command is resent using the correct length from `SW2`. - * - **`0x61XX`**: Indicates more response data is available. - * The method issues one or more `GET RESPONSE` commands (INS = `0xC0`) - * to retrieve the remaining data. - * - * If the final response status word is not `0x9000`, the method throws a - * `IdCardInternalError.swError(_:)` with the returned status word. - * - * - Parameters: - * - cls: The class byte (CLA) of the command. Defaults to `0x00`. - * - ins: The instruction byte (INS) of the command. - * - p1: The first parameter byte (P1). Defaults to `0x00`. - * - p2: The second parameter byte (P2). Defaults to `0x00`. - * - data: Optional command data to include in the APDU body (`Lc + Data`). - * - le: Optional expected length of response data (`Le`). If provided, an `Le` byte is appended. - * - * - Throws: `IdCardInternalError.swError(_:)` - * if the card's final status word is not `0x9000`, or any error thrown during transmission. - * - * - Returns: The full response data returned by the card (excluding the status word). - */ - func sendAPDU(cls: UInt8 = 0x00, ins: UInt8, p1Byte: UInt8 = 0x00, p2Byte: UInt8 = 0x00, - data: (any Collection)? = nil, leByte: UInt8? = nil) async throws -> Data { - var apdu: Bytes = [cls, ins, p1Byte, p2Byte] - if let data { - apdu.append(UInt8(data.count)) - apdu += data - } - if let leByte { - apdu += [leByte] - } - var (result, swValue) = try await transmit(apdu) - - // Handle SW 6CXX (Wrong length, correct length provided in SW2) - if (swValue & 0xFF00) == 0x6C00 { - apdu[apdu.count - 1] = UInt8(truncatingIfNeeded: swValue) - (result, swValue) = try await transmit(apdu) - } - - // Handle SW 61XX (More data available, use GET RESPONSE command) - while (swValue & 0xFF00) == 0x6100 { - let ( - additionalData, - newSW - ) = try await transmit( - [ - 0x00, - 0xC0, - 0x00, - 0x00, - UInt8( - truncatingIfNeeded: swValue - ) - ] - ) - result.append(contentsOf: additionalData) - swValue = newSW - } - - guard swValue == 0x9000 else { - throw IdCardInternalError.swError(swValue) - } - return Data(result) - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardReaderNFC.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardReaderNFC.swift deleted file mode 100644 index 7f2d3f3c..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/CardReaderNFC.swift +++ /dev/null @@ -1,494 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import UtilsLib -import CoreNFC -import CommonCrypto -import CryptoTokenKit -internal import SwiftECC -import BigInt - -// swiftlint:disable force_unwrapping -class CardReaderNFC: @unchecked CardReader, Loggable { - // swiftlint:disable identifier_name - enum PasswordType: UInt8 { - case id_PasswordType_MRZ = 1 // 0.4.0.127.0.7.2.2.12.1 - case id_PasswordType_CAN = 2 // 0.4.0.127.0.7.2.2.12.2 - var data: String { - return switch self { - case .id_PasswordType_MRZ: "04007F000702020C01" - case .id_PasswordType_CAN: "04007F000702020C02" - } - } - } - enum MappingType: String { - case id_PACE_ECDH_GM_AES_CBC_CMAC_256 = "04007f00070202040204" // 0.4.0.127.0.7.2.2.4.2.4 - case id_PACE_ECDH_IM_AES_CBC_CMAC_256 = "04007f00070202040404" // 0.4.0.127.0.7.2.2.4.4.4 - var data: Data { - guard let value = Data(hex: rawValue) else { return Data() } - return value - } - } - // swiftlint:enable identifier_name - enum ParameterId: UInt8 { - case EC256r1 = 12 - case BP256r1 = 13 - case EC384r1 = 15 - case BP384r1 = 16 - case BP512r1 = 17 - case EC521r1 = 18 - var domain: Domain { - return switch self { - case .EC256r1: .instance(curve: .EC256r1) - case .EC384r1: .instance(curve: .EC384r1) - case .EC521r1: .instance(curve: .EC521r1) - case .BP256r1: .instance(curve: .BP256r1) - case .BP384r1: .instance(curve: .BP384r1) - case .BP512r1: .instance(curve: .BP512r1) - } - } - } - typealias TLV = TKBERTLVRecord - - let tag: SendableISO7816Tag - var ksEnc: Bytes = AES.Zero - var ksMac: Bytes = AES.Zero - var SSC: Bytes = AES.Zero - - init(_ tag: NFCISO7816Tag, CAN: String) async throws { - self.tag = SendableISO7816Tag(tag: tag) - - CardReaderNFC.logger().debug("Select CardAccess") - _ = try await self.tag.sendCommand(cls: 0x00, ins: 0xA4, p1Byte: 0x02, p2Byte: 0x0C, data: Data([0x01, 0x1C])) - CardReaderNFC.logger().debug("Read CardAccess") - let data = try await self.tag.sendCommand(cls: 0x00, ins: 0xB0, p1Byte: 0x00, p2Byte: 0x00, leByte: 256) - let sanitizedData = sanitizedTLV(data) - - guard let (mappingType, parameterId) = TLV.sequenceOfRecords(from: sanitizedData)? - .flatMap({ cardAccess in TLV.sequenceOfRecords(from: cardAccess.value) ?? [] }) - .compactMap({ tlv in - if let records = TLV.sequenceOfRecords(from: tlv.value), - records.count == 3, - let mapping = MappingType(rawValue: records[0].value.toHex), - let parameterId = ParameterId(rawValue: records[2].value[0]) { - return (mapping, parameterId) - } - return nil - }) - .first - else { - throw IdCardInternalError.authenticationFailed - } - let domain = parameterId.domain - - _ = try await self.tag.sendCommand(cls: 0x00, ins: 0x22, p1Byte: 0xc1, p2Byte: 0xa4, records: [ - TLV(tag: 0x80, value: mappingType.data), - TLV(tag: 0x83, bytes: [PasswordType.id_PasswordType_CAN.rawValue]), - TLV(tag: 0x84, bytes: [parameterId.rawValue]) - ]) - - // Step1 - General Authentication - let nonceEnc = try await self.tag.sendPaceCommand(records: [], tagExpected: 0x80) - CardReaderNFC.logger().debug("Challenge \(nonceEnc.value.toHex)") - let nonce = try CardReaderNFC.decryptNonce(CAN: CAN, encryptedNonce: nonceEnc.value) - CardReaderNFC.logger().debug("Nonce \(nonce.toHex)") - - // Step2 - let mappedPoint: Point - switch mappingType { - case .id_PACE_ECDH_IM_AES_CBC_CMAC_256: - let pcdNonce = try CardReaderNFC.random(count: nonce.count) - _ = try await self.tag.sendPaceCommand(records: [TLV(tag: 0x81, value: pcdNonce)], tagExpected: 0x82) - let psrn = try CardReaderNFC.pseudoRandomNumberMappingAES(sVal: nonce, tVal: pcdNonce, domain: domain) - mappedPoint = CardReaderNFC.pointEncodeIM(tVal: psrn, domain: domain) - - case .id_PACE_ECDH_GM_AES_CBC_CMAC_256: - let (terminalPubKey, terminalPrivKey) = domain.makeKeyPair() - let mappingKey = try await self.tag.sendPaceCommand( - records: [try TLV(tag: 0x81, publicKey: terminalPubKey)], - tagExpected: 0x82) - CardReaderNFC.logger().debug("Mapping key \(mappingKey.value.hex)") - let cardPubKey = try ECPublicKey(domain: domain, point: mappingKey.value)! - - // Mapping - let nonceS = BInt(magnitude: nonce) - let mappingBasePoint = ECPublicKey(privateKey: try ECPrivateKey(domain: domain, s: nonceS)) // S*G - // swiftlint:disable line_length - CardReaderNFC.logger().debug("Card Key x: \(mappingBasePoint.w.x.asMagnitudeBytes().hex), y: \(mappingBasePoint.w.y.asMagnitudeBytes().hex)") - // swiftlint:enable line_length - let sharedSecretH = try domain.multiplyPoint(cardPubKey.w, terminalPrivKey.s) - // swiftlint:disable line_length - CardReaderNFC.logger().debug("Shared Secret x: \(sharedSecretH.x.asMagnitudeBytes().hex), y: \(sharedSecretH.y.asMagnitudeBytes().hex)") - // swiftlint:enable line_length - mappedPoint = try domain.addPoints(mappingBasePoint.w, sharedSecretH) // MAP G = (S*G) + H - } - // Ephemeral data - // swiftlint:disable line_length - CardReaderNFC.logger().debug("Mapped point x: \(mappedPoint.x.asMagnitudeBytes().toHex, privacy: .public), y: \(mappedPoint.y.asMagnitudeBytes().toHex, privacy: .public)") - // swiftlint:enable line_length - let mappedDomain = try Domain.instance( - name: domain.name + " Mapped", - p: domain.p, - a: domain.a, - b: domain.b, - gx: mappedPoint.x, - gy: mappedPoint.y, - order: domain.order, - cofactor: domain.cofactor - ) - let (terminalEphemeralPubKey, terminalEphemeralPrivKey) = mappedDomain.makeKeyPair() - let ephemeralKey = try await self.tag.sendPaceCommand( - records: [try TLV( - tag: 0x83, - publicKey: terminalEphemeralPubKey - )], - tagExpected: 0x84 - ) - CardReaderNFC.logger().debug("Card Ephermal key \(ephemeralKey.value.toHex)") - guard let ephemeralCardPubKey = try ECPublicKey(domain: mappedDomain, point: ephemeralKey.value) - else { throw IdCardInternalError.authenticationFailed } - - // Derive shared secret and session keys - let sharedSecret = try terminalEphemeralPrivKey.sharedSecret(pubKey: ephemeralCardPubKey) - CardReaderNFC.logger().debug("Shared secret \(sharedSecret.toHex)") - ksEnc = CardReaderNFC.KDF(key: sharedSecret, counter: 1) - ksMac = CardReaderNFC.KDF(key: sharedSecret, counter: 2) - CardReaderNFC.logger().debug("KS.Enc \(self.ksEnc.toHex)") - CardReaderNFC.logger().debug("KS.Mac \(self.ksMac.toHex)") - - // Mutual authentication - let macCalc = try AES.CMAC(key: ksMac) - - let macHeader = TLV(tag: 0x7f49, records: [ - TLV(tag: 0x06, value: mappingType.data), - TLV(tag: 0x86, bytes: try ephemeralCardPubKey.x963Representation()) - ]) - let macValue = try await self.tag.sendPaceCommand( - records: [TLV( - tag: 0x85, - bytes: ( - try macCalc.authenticate( - bytes: macHeader.data - ) - ) - )], - tagExpected: 0x86 - ) - CardReaderNFC.logger().debug("Mac response \(macValue.data.toHex)") - - // verify chip's MAC - let macResult = TLV(tag: 0x7f49, records: [ - TLV(tag: 0x06, value: mappingType.data), - TLV(tag: 0x86, bytes: try terminalEphemeralPubKey.x963Representation()) - ]) - if macValue.value != Data(try macCalc.authenticate(bytes: macResult.data)) { - throw IdCardInternalError.authenticationFailed - } - } - - private func sanitizedTLV(_ data: Data) -> Data { - guard data.count >= 2 else { return data } - - var index = 1 - let firstLengthByte = data[index] - index += 1 - - let valueLength: Int - - if firstLengthByte & 0x80 == 0 { - valueLength = Int(firstLengthByte) - } else { - let lengthByteCount = Int(firstLengthByte & 0x7F) - - guard data.count >= index + lengthByteCount else { - return data - } - - valueLength = data[index..<( - index + lengthByteCount - )].reduce(0) { ($0 << 8) | Int($1) } - - index += lengthByteCount - } - - let totalLength = index + valueLength - return data.prefix(min(totalLength, data.count)) - } - - private func getDO87(_ apdu: NFCISO7816APDU) throws -> Data { - if let data = apdu.data, !data.isEmpty { - let ivValue = try AES.CBC(key: ksEnc).encrypt(SSC) - let encData = try AES.CBC(key: ksEnc, ivVal: ivValue).encrypt(data.addPadding()) - if apdu.instructionCode & 0x01 == 0 { - return TLV(tag: 0x87, bytes: [0x01] + encData).data - } else { - return TLV(tag: 0x85, bytes: encData).data - } - } else { - return Data() - } - } - - private func getDO97(_ apdu: NFCISO7816APDU) throws -> Data { - if apdu.expectedResponseLength > 0 { - return TLV( - tag: 0x97, - bytes: [UInt8( - apdu.expectedResponseLength == 256 ? 0 : apdu.expectedResponseLength - )] - ).data - } else { - return Data() - } - } - - private func getTLVs( - _ response: Data, - ) throws -> (tlvEnc: TKTLVRecord?, tlvRes: TKTLVRecord?, tlvMac: TKTLVRecord?) { - var tlvEnc: TKTLVRecord? - var tlvRes: TKTLVRecord? - var tlvMac: TKTLVRecord? - for tlv in TLV.sequenceOfRecords(from: response) ?? [] { - switch tlv.tag { - case 0x85, 0x87: tlvEnc = tlv - case 0x99: tlvRes = tlv - case 0x8E: tlvMac = tlv - default: CardReaderNFC.logger().debug("Unknown tag") - } - } - return (tlvEnc, tlvRes, tlvMac) - } - // swiftlint:disable cyclomatic_complexity - func transmit(_ apduData: Bytes) async throws -> (responseData: Bytes, sw: UInt16) { - CardReaderNFC.logger().debug("Plain >: \(apduData.toHex)") - guard let apdu = NFCISO7816APDU(data: Data(apduData)) else { - throw IdCardInternalError.invalidAPDU - } - _ = SSC.increment() - let DO87: Data - if let data = apdu.data, !data.isEmpty { - let ivValue = try AES.CBC(key: ksEnc).encrypt(SSC) - let encData = try AES.CBC(key: ksEnc, ivVal: ivValue).encrypt(data.addPadding()) - if apdu.instructionCode & 0x01 == 0 { - DO87 = TLV(tag: 0x87, bytes: [0x01] + encData).data - } else { - DO87 = TLV(tag: 0x85, bytes: encData).data - } - } else { - DO87 = Data() - } - let DO97: Data - if apdu.expectedResponseLength > 0 { - DO97 = TLV( - tag: 0x97, - bytes: [UInt8(apdu.expectedResponseLength == 256 ? 0 : apdu.expectedResponseLength)] - ).data - } else { - DO97 = Data() - } - let cmdHeader: Bytes = [apdu.instructionClass | 0x0C, apdu.instructionCode, apdu.p1Parameter, apdu.p2Parameter] - let mVal = cmdHeader.addPadding() + DO87 + DO97 - let nVal = SSC + mVal - let mac = try AES.CMAC(key: ksMac).authenticate(bytes: nVal.addPadding()) - let DO8E = TLV(tag: 0x8E, bytes: mac).data - let send = DO87 + DO97 + DO8E - let response = try await tag.sendCommand( - cls: cmdHeader[0], - ins: cmdHeader[1], - p1Byte: cmdHeader[2], - p2Byte: cmdHeader[3], - data: send, - leByte: 256 - ) - var tlvEnc: TKTLVRecord? - var tlvRes: TKTLVRecord? - var tlvMac: TKTLVRecord? - for tlv in TLV.sequenceOfRecords(from: response) ?? [] { - switch tlv.tag { - case 0x85, 0x87: tlvEnc = tlv - case 0x99: tlvRes = tlv - case 0x8E: tlvMac = tlv - default: print("Unknown tag") - } - } - guard let tlvRes else { - throw IdCardInternalError.missingRESTag - } - guard let tlvMac else { - throw IdCardInternalError.missingMACTag - } - let kVal = SSC.increment() + (tlvEnc?.data ?? Data()) + tlvRes.data - if try Data(AES.CMAC(key: ksMac).authenticate(bytes: kVal.addPadding())) != tlvMac.value { - throw IdCardInternalError.invalidMACValue - } - guard let tlvEnc else { - CardReaderNFC.logger().debug("Plain <: \(tlvRes.value.toHex)") - return (.init(), UInt16(tlvRes.value[0], tlvRes.value[1])) - } - let ivValue = try AES.CBC(key: ksEnc).encrypt(SSC) - let responseData = try (try AES.CBC(key: ksEnc, ivVal: ivValue) - .decrypt(tlvEnc.tag == 0x85 ? tlvEnc.value : tlvEnc.value[1...])) - .removePadding() - CardReaderNFC.logger().debug("Plain <: \(responseData.toHex) \(tlvRes.value.toHex)") - return (Bytes(responseData), UInt16(tlvRes.value[0], tlvRes.value[1])) - } - // swiftlint:enable cyclomatic_complexity - - // MARK: - Utils - - static private func pseudoRandomNumberMappingAES( - sVal: any AES.DataType, - tVal: any AES.DataType, - domain: Domain - ) throws -> BInt { - let lVal = sVal.count * 8 - let kVal = tVal.count * 8 - - let c0Val: Bytes - let c1Val: Bytes - switch lVal { - case 128: - c0Val = Bytes(hex: "a668892a7c41e3ca739f40b057d85904")! - c1Val = Bytes(hex: "a4e136ac725f738b01c1f60217c188ad")! - case 192, 256: - c0Val = Bytes(hex: "d463d65234124ef7897054986dca0a174e28df758cbaa03f240616414d5a1676")! - c1Val = Bytes(hex: "54bd7255f0aaf831bec3423fcf39d69b6cbf066677d0faae5aadd99df8e53517")! - default: - throw IdCardInternalError.authenticationFailed - } - - let cipher = AES.CBC(key: tVal) - var key = try cipher.encrypt(sVal) - - var xVal = Bytes() - var nVal = 0 - while nVal * lVal < domain.p.bitWidth + 64 { - let cipher = AES.CBC(key: key.prefix(kVal / 8)) - key = try cipher.encrypt(c0Val) - xVal += try cipher.encrypt(c1Val) - nVal += 1 - } - - return BInt(magnitude: xVal).mod(domain.p) - } - - /** - * https://www.icao.int/Security/FAL/TRIP/Documents/TR%20-%20Supplemental%20Access%20Control%20V1.1.pdf - * A.2.1. Implementation for affine coordinates - */ - static private func pointEncodeIM(tVal: BInt, domain: Domain) -> Point { - let pVal = domain.p - let aVal = domain.a - let bVal = domain.b - - // 1. α = -t^2 mod p - let alpha = (-(tVal ** 2)).mod(pVal) - - // 2. X2 = -ba^-1 (1 + (α + α^2)^-1) mod p - // Hint = -b(1 + α + α^2)(a(α + α^2))^(p-2) mod p - let alphaPlusAlphaSqrt = alpha + alpha ** 2 - let x2Val = ((-bVal * (1 + alphaPlusAlphaSqrt)) * (aVal * alphaPlusAlphaSqrt).expMod(pVal - 2, pVal)).mod(pVal) - - // 3. X3 = α * X2 mod p - let x3Val = (alpha * x2Val).mod(pVal) - - // 4. h2 = (X2)^3 + a * X2 + b mod p - let h2Val = (x2Val ** 3 + aVal * x2Val + bVal).mod(pVal) - - // 5. h3 = (X3)^3 + a * X3 + b mod p - // Unused: let h3 = (X3 ** 3 + a * X3 + b).mod(p) - - // 6. U = t^3 * h2 mod p - let UVal = (tVal ** 3 * h2Val).mod(pVal) - - // 7. A = (h2)^(p - 1 - (p + 1) / 4) mod p - // Hint: modular exponentiation with exponent p-1-(p+1)/4. - let AVal = h2Val.expMod(pVal - BInt.ONE - (pVal + BInt.ONE) / BInt.FOUR, pVal) - - // 8. A^2 * h2 mod p = 1 -> (x, y) = (X2, A h2 mod p) - // 9. (x, y) = (X3, A U mod p) - return (AVal ** 2 * h2Val).mod(pVal) == BInt.ONE ? - Point(x2Val, (AVal * h2Val).mod(pVal)) : - Point(x3Val, (AVal * UVal).mod(pVal)) - } - - static private func decryptNonce(CAN: String, encryptedNonce: T) throws -> Bytes { - let decryptionKey = KDF(key: Bytes(CAN.utf8), counter: 3) - let cipher = AES.CBC(key: decryptionKey) - return try cipher.decrypt(encryptedNonce) - } - - static private func KDF(key: Bytes, counter: UInt8) -> Bytes { - var keydata = key + Bytes(repeating: 0x00, count: 4) - keydata[keydata.count - 1] = counter - return SHA256(data: keydata) - } - - static private func SHA256(data: Bytes) -> Bytes { - Bytes(unsafeUninitializedCapacity: Int(CC_SHA256_DIGEST_LENGTH)) { buffer, initializedCount in - CC_SHA256(data, CC_LONG(data.count), buffer.baseAddress) - initializedCount = Int(CC_SHA256_DIGEST_LENGTH) - } - } - - static private func random(count: Int) throws -> Data { - var data = Data(count: count) - let result = data.withUnsafeMutableBytes { buffer in - SecRandomCopyBytes(kSecRandomDefault, count, buffer.baseAddress!) - } - if result != errSecSuccess { - throw IdCardInternalError.authenticationFailed - } - return data - } -} -// swiftlint:enable force_unwrapping - -// MARK: - Extensions - -extension DataProtocol { - var hex: String { - map { String(format: "%02x", $0) }.joined() - } - - func chunked(into size: Int) -> [SubSequence] { - stride(from: 0, to: count, by: size).map { - self[index(startIndex, offsetBy: $0) ..< index(startIndex, offsetBy: Swift.min($0 + size, count))] - } - } - - func removePadding() throws -> SubSequence { - var index = endIndex - while index != startIndex { - formIndex(before: &index) - if self[index] == 0x80 { - return self[startIndex...size)) - - deinit { - if cardHandle != 0 { - SCardDisconnect(cardHandle, DWORD(SCARD_LEAVE_CARD)) - } - } - - init?(contextHandle: SCARDCONTEXT) throws { - guard contextHandle != 0 else { - CardReaderiR301.logger().error("ID-CARD: Invalid context handle: \(contextHandle)") - return nil - } - - var modelNameLength: UInt32 = 100 - let modelName = String(unsafeUninitializedCapacity: Int(modelNameLength)) { buffer in - guard FtGetAccessoryModelName(contextHandle, &modelNameLength, buffer.baseAddress) == 0 else { - CardReaderiR301.logger().error("ID-CARD: Failed to identify reader") - return 0 - } - return Int(modelNameLength) - } - - CardReaderiR301.logger().info("ID-CARD: Checking if card reader is supported: \(modelName)") - guard modelName.hasPrefix("iR301") else { - CardReaderiR301.logger().error("ID-CARD: Unsupported reader: \(modelName)") - return nil - } - - var dwReaders: DWORD = 128 - let mszReaders = try String(unsafeUninitializedCapacity: Int(dwReaders)) { buffer in - let listReadersResult = SCardListReaders(contextHandle, nil, buffer.baseAddress, &dwReaders) - guard listReadersResult == SCARD_S_SUCCESS else { - CardReaderiR301.logger().error("SCardListReaders error \(listReadersResult)") - throw IdCardInternalError.readerProcessFailed - } - return Int(dwReaders) - } - - let connectResult = SCardConnect( - contextHandle, - mszReaders, - DWORD(SCARD_SHARE_SHARED), - DWORD( - SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 - ), - &cardHandle, - &pioSendPci.dwProtocol - ) - guard connectResult == SCARD_S_SUCCESS else { - throw IdCardInternalError.readerProcessFailed - } - - var atrSize: DWORD = 32 - var dwStatus: DWORD = 0 - atr = try Bytes(unsafeUninitializedCapacity: Int(atrSize)) {[cardHandle] buffer, initializedCount in - guard SCardStatus( - cardHandle, - nil, - nil, - &dwStatus, - nil, - buffer.baseAddress, - &atrSize - ) == SCARD_S_SUCCESS else { - CardReaderiR301.logger().error("ID-CARD: Failed to get card status") - throw IdCardInternalError.readerProcessFailed - } - initializedCount = Int(atrSize) - } - CardReaderiR301.logger().info("SCardStatus status: \(dwStatus) ATR: \(self.atr.hex))") - - guard dwStatus == SCARD_PRESENT else { - CardReaderiR301.logger().error("ID-CARD: Did not successfully power on card") - throw IdCardInternalError.readerProcessFailed - } - } - - func transmit(_ apdu: Bytes) async throws -> (responseData: Bytes, sw: UInt16) { - CardReaderiR301.logger().info("ID-CARD Transmitting: \(apdu.hex)") - var responseSize: DWORD = 512 - var response = try Bytes(unsafeUninitializedCapacity: Int(responseSize)) { buffer, initializedCount in - guard SCardTransmit( - cardHandle, - &pioSendPci, - apdu, - DWORD(apdu.count), - nil, - buffer.baseAddress, - &responseSize - ) == SCARD_S_SUCCESS - else { - CardReaderiR301.logger().error("ID-CARD: Failed to send APDU data") - throw IdCardInternalError.readerProcessFailed - } - initializedCount = Int(responseSize) - } - guard response.count >= 2 else { - CardReaderiR301.logger().error( - "ID-CARD: Response size must be at least 2. Response size: \(response.count)") - throw IdCardInternalError.readerProcessFailed - } - CardReaderiR301.logger().info("ID-CARD Response: \(response.hex)") - let swVal = UInt16(response[response.count - 2], response[response.count - 1]) - response.removeLast(2) - return (response, swVal) - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/IDCardError.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/IDCardError.swift deleted file mode 100644 index a2f49b36..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/IDCardError.swift +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -public enum IdCardError: Error, Equatable { - case wrongCAN, - wrongPIN(triesLeft: Int), - pinLocked, - invalidNewPIN, - sessionError, - cancelledByUser -} - -public enum IdCardInternalError: Error, Equatable { - case missingRESTag, - missingMACTag, - invalidMACValue, - failedReadingField(CardField), - hexConversionFailed, - AESCBCError, - sendCommandFailed(message: String), - invalidResponse(message: String), - swError(UInt16), - pinVerificationFailed, - pinLocked, - remainingPinRetryCount(Int), - invalidNewPin, - notSupportedCodeType, - dataPaddingError, - invalidAPDU, - authenticationFailed, - canAuthenticationFailed, - invalidTag, - cardNotSupported, - nfcNotSupported, - connectionFailed, - multipleTagsDetected, - couldNotVerifyChipsMAC, - cancelledByUser, - sessionInvalidated, - readerProcessFailed, - failedToRemovePadding, - notSupportedAlgorithm - - public func getIdCardError() -> IdCardError { - switch self { - case .missingRESTag, - .missingMACTag, - .invalidMACValue, - .failedReadingField, - .hexConversionFailed, - .AESCBCError, - .sendCommandFailed, - .dataPaddingError, - .invalidAPDU, - .invalidResponse, - .swError, - .notSupportedCodeType, - .authenticationFailed, - .invalidTag, - .cardNotSupported, - .nfcNotSupported, - .connectionFailed, - .multipleTagsDetected, - .couldNotVerifyChipsMAC, - .sessionInvalidated, - .readerProcessFailed, - .failedToRemovePadding, - .notSupportedAlgorithm: - return .sessionError - case .canAuthenticationFailed: - return .wrongCAN - case .pinVerificationFailed: - return .wrongPIN(triesLeft: 0) - case .remainingPinRetryCount(let value): - return .wrongPIN(triesLeft: value) - case .invalidNewPin: - return .invalidNewPIN - case .cancelledByUser: - return .cancelledByUser - case .pinLocked: - return .pinLocked - } - } -} - -public struct PinError: Error { - let msg: String - let remainingCount: Int -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/Idemia.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/Idemia.swift deleted file mode 100644 index 8ce54e35..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/Idemia.swift +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation - -private let ATR = Bytes(hex: "3B DB 96 00 80 B1 FE 45 1F 83 00 12 23 3F 53 65 49 44 0F 90 00 F1") -private let ATRv2 = Bytes(hex: "3B DC 96 00 80 B1 FE 45 1F 83 00 12 23 3F 54 65 49 44 32 0F 90 00 C3") -private let kAID = Bytes(hex: "A0 00 00 00 77 01 08 00 07 00 00 FE 00 00 01 00") -private let kAIDQSCD = Bytes(hex: "51 53 43 44 20 41 70 70 6C 69 63 61 74 69 6F 6E") -private let kAIDOberthur = Bytes(hex: "E8 28 BD 08 0F F2 50 4F 54 20 41 57 50") -private let AUTHKEY: UInt8 = 0x81 -private let SIGNKEY: UInt8 = 0x9F - -extension CodeType { - fileprivate var aid: Bytes { - switch self { - case .pin1: return kAID - case .pin2: return kAIDQSCD - case .puk: return kAID - } - } - fileprivate var pinRef: UInt8 { - switch self { - case .pin1: return 0x01 - case .pin2: return 0x85 - case .puk: return 0x02 - } - } -} - -final class Idemia: CardCommandsInternal { - let canChangePUK: Bool = true - let reader: CardReader - let fillChar: UInt8 = 0xFF - - required init?(reader: CardReader, atr: Bytes) { - guard atr == ATR || atr == ATRv2 else { - return nil - } - self.reader = reader - } - - required init?(reader: CardReader, aid: Bytes) { - guard aid == kAID else { - return nil - } - self.reader = reader - } - - // MARK: - Public Data - - func readPublicData() async throws -> CardInfo { - _ = try await select(file: kAID) - _ = try await select(p1Byte: 0x01, file: [0x50, 0x00]) - var personalData = CardInfo() - for recordNr: UInt8 in 1...8 { - let data = try await readFile(p1Byte: 0x02, file: [0x50, recordNr]) - let record = String(data: data, encoding: .utf8) ?? "-" - switch recordNr { - case 1: personalData.surname = record - case 2: personalData.givenName = record - case 4: personalData.citizenship = !record.isEmpty ? record : "-" - case 6: personalData.personalCode = record - case 7: personalData.documentNumber = record - case 8: personalData.dateOfExpiry = record.replacing(" ", with: ".") - default: break - } - } - return personalData - } - - func readAuthenticationCertificate() async throws -> Data { - _ = try await select(file: kAID) - return try await readFile(p1Byte: 0x09, file: [0xAD, 0xF1, 0x34, 0x01]) - } - - func readSignatureCertificate() async throws -> Data { - _ = try await select(file: kAID) - return try await readFile(p1Byte: 0x09, file: [0xAD, 0xF2, 0x34, 0x1F]) - } - - // MARK: - PIN & PUK Management - - func readCodeTryCounterRecord(_ type: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) { - _ = try await select(file: type.aid) - let ref = type.pinRef & ~0x80 - let data = try await reader.sendAPDU(ins: 0xCB, p1Byte: 0x3F, p2Byte: 0xFF, data: - [0x4D, 0x08, 0x70, 0x06, 0xBF, 0x81, ref, 0x02, 0xA0, 0x80], leByte: 0x00) - if let info = TLV(from: data), info.tag == 0x70, - let tag = TLV(from: info.value), tag.tag == 0xBF8100 | UInt32(ref), - let a0Value = TLV(from: tag.value), a0Value.tag == 0xA0, - let records = TLV.sequenceOfRecords(from: a0Value.value) { - for record in records where record.tag == 0x9B { - return (record.value[0], true) - } - } - return (0, true) - } - - func changeCode(_ type: CodeType, to code: SecureData, verifyCode: SecureData) async throws { - _ = try await select(file: type.aid) - try await changeCode(type.pinRef, to: code, verifyCode: verifyCode) - } - - func verifyCode(_ type: CodeType, code: SecureData) async throws { - try await verifyCode(type.pinRef, code: code) - } - - func unblockCode(_ type: CodeType, puk: SecureData, newCode: SecureData) async throws { - guard type != .puk else { - throw IdCardInternalError.notSupportedCodeType - } - try await verifyCode(.puk, code: puk) - if type == .pin2 { - _ = try await select(file: type.aid) - } - try await unblockCode(type.pinRef, puk: nil, newCode: newCode) - } - - // MARK: - Authentication & Signing - - func authenticate(for hash: Data, withPin1 pin1: SecureData) async throws -> Data { - _ = try await select(file: kAIDOberthur) - try await verifyCode(.pin1, code: pin1) - try await setSecEnv(mode: 0xA4, algo: [0xFF, 0x20, 0x08, 0x00], keyRef: AUTHKEY) - var paddedHash = Data(repeating: 0x00, count: max(48, hash.count) - hash.count) - paddedHash.append(hash) - return try await reader.sendAPDU(ins: 0x88, data: paddedHash, leByte: 0x00) - } - - func calculateSignature(for hash: Data, withPin2 pin2: SecureData) async throws -> Data { - _ = try await select(file: kAIDQSCD) - try await verifyCode(.pin2, code: pin2) - try await setSecEnv(mode: 0xB6, algo: [0xFF, 0x15, 0x08, 0x00], keyRef: SIGNKEY) - var paddedHash = Data(repeating: 0x00, count: max(48, hash.count) - hash.count) - paddedHash.append(hash) - return try await reader.sendAPDU(ins: 0x2A, p1Byte: 0x9E, p2Byte: 0x9A, data: paddedHash, leByte: 0x00) - } - - func decryptData(_ hash: Data, withPin1 pin1: SecureData) async throws -> Data { - _ = try await select(file: kAIDOberthur) - try await verifyCode(.pin1, code: pin1) - try await setSecEnv(mode: 0xB8, algo: [0xFF, 0x30, 0x04, 0x00], keyRef: AUTHKEY) - return try await reader.sendAPDU(ins: 0x2A, p1Byte: 0x80, p2Byte: 0x86, data: [0x00] + hash, leByte: 0x00) - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/CardActions/Thales.swift b/Modules/IdCardLib/Sources/IdCardLib/CardActions/Thales.swift deleted file mode 100644 index 0834ecdd..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/CardActions/Thales.swift +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import CryptoTokenKit - -extension CodeType { - fileprivate var pinRef: UInt8 { - switch self { - case .pin1: return 0x81 - case .pin2: return 0x82 - case .puk: return 0x83 - } - } -} - -final class Thales: CardCommandsInternal { - static private let ATR = Bytes(hex: "3B FF 96 00 00 80 31 FE 43 80 31 B8 53 65 49 44 64 B0 85 05 10 12 23 3F 1D") - static private let kAID = Bytes(hex: "A0 00 00 00 63 50 4B 43 53 2D 31 35") - static private let kAIDGlobal = Bytes(hex: "A0 00 00 00 18 10 02 03 00 00 00 00 00 00 00 01") - static private let AUTHKEY: UInt8 = 0x01 - static private let SIGNKEY: UInt8 = 0x05 - - let canChangePUK: Bool = false - let reader: CardReader - let fillChar: UInt8 = 0x00 - - init?(reader: any CardReader, atr: Bytes) throws { - guard atr == Thales.ATR else { - return nil - } - self.reader = reader - } - - required init?(reader: CardReader, aid: Bytes) { - guard aid == Thales.kAIDGlobal else { - return nil - } - self.reader = reader - } - - // MARK: - Public Data - - func readPublicData() async throws -> CardInfo { - _ = try await select(file: Thales.kAID) - _ = try await select(p1Byte: 0x08, file: [0xDF, 0xDD]) - var personalData = CardInfo() - for recordNr: UInt8 in 1...8 { - let data = try await readFile(p1Byte: 0x02, file: [0x50, recordNr]) - let record = String(data: Data(data), encoding: .utf8) ?? "-" - switch recordNr { - case 1: personalData.surname = record - case 2: personalData.givenName = record - case 4: personalData.citizenship = !record.isEmpty ? record : "-" - case 6: personalData.personalCode = record - case 7: personalData.documentNumber = record - case 8: personalData.dateOfExpiry = record.replacing(" ", with: ".") - default: break - } - } - return personalData - } - - func readAuthenticationCertificate() async throws -> Data { - _ = try await select(file: Thales.kAID) - return try await readFile(p1Byte: 0x08, file: [0xAD, 0xF1, 0x34, 0x11]) - } - - func readSignatureCertificate() async throws -> Data { - _ = try await select(file: Thales.kAID) - return try await readFile(p1Byte: 0x08, file: [0xAD, 0xF2, 0x34, 0x21]) - } - - // MARK: - PIN & PUK Management - func readCodeTryCounterRecord(_ type: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) { - _ = try await select(file: Thales.kAID) - let data = try await reader.sendAPDU(ins: 0xCB, p1Byte: 0x00, p2Byte: 0xFF, data: - [0xA0, 0x03, 0x83, 0x01, type.pinRef], leByte: 0) - var retryCount: UInt8 = 0 - var pinActive = true - if let info = TLV(from: data), info.tag == 0xA0, - let records = TLV.sequenceOfRecords(from: info.value) { - for record in records { - switch record.tag { - case 0xdf21: retryCount = record.value[0] - case 0xdf2f: pinActive = record.value[0] == 0x01 - default: break - } - } - } - return (retryCount, pinActive) - } - - func changeCode(_ type: CodeType, to code: SecureData, verifyCode: SecureData) async throws { - guard type != .puk else { - throw IdCardInternalError.notSupportedCodeType - } - _ = try await select(file: Thales.kAID) - try await changeCode(type.pinRef, to: code, verifyCode: verifyCode) - } - - func verifyCode(_ type: CodeType, code: SecureData) async throws { - try await verifyCode(type.pinRef, code: code) - } - - func unblockCode(_ type: CodeType, puk: SecureData, newCode: SecureData) async throws { - guard type != .puk else { - throw IdCardInternalError.notSupportedCodeType - } - _ = try await select(file: Thales.kAID) - try await unblockCode(type.pinRef, puk: puk, newCode: newCode) - } - - // MARK: - Authentication & Signing - - private func sign(type: CodeType, pin: SecureData, keyRef: UInt8, hash: Data) async throws -> Data { - try await verifyCode(type, code: pin) - try await setSecEnv(mode: 0xB6, algo: [0x24 + UInt8(hash.count)], keyRef: keyRef) - _ = try await reader - .sendAPDU( - ins: 0x2A, - p1Byte: 0x90, - p2Byte: 0xA0, - data: TLV( - tag: 0x90, - value: Data( - hash - ) - ).data - ) - return try await reader.sendAPDU(ins: 0x2A, p1Byte: 0x9E, p2Byte: 0x9A, leByte: 0x00) - } - - func authenticate(for hash: Data, withPin1 pin1: SecureData) async throws -> Data { - _ = try await select(file: Thales.kAID) - return try await sign(type: .pin1, pin: pin1, keyRef: Thales.AUTHKEY, hash: hash) - } - - func calculateSignature(for hash: Data, withPin2 pin2: SecureData) async throws -> Data { - _ = try await select(file: Thales.kAID) - return try await sign(type: .pin2, pin: pin2, keyRef: Thales.SIGNKEY, hash: hash) - } - - func decryptData(_ hash: Data, withPin1 pin1: SecureData) async throws -> Data { - _ = try await select(file: Thales.kAID) - try await verifyCode(.pin1, code: pin1) - try await setSecEnv(mode: 0xB8, keyRef: Thales.AUTHKEY) - return try await reader.sendAPDU(ins: 0x2A, p1Byte: 0x80, p2Byte: 0x86, data: [0x00] + hash, leByte: 0x00) - } -} - -extension Bytes { - init(hex: String) { - self = hex.split(separator: " ").compactMap { UInt8($0, radix: 16) } - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/DI/IdCardLibContainer.swift b/Modules/IdCardLib/Sources/IdCardLib/DI/IdCardLibContainer.swift deleted file mode 100644 index 68bcc0fe..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/DI/IdCardLibContainer.swift +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import FactoryKit - -extension Container { - public var usbReaderConnection: Factory { - self { UsbReaderConnection() } - .shared - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Extensions/DataProtocol+Extension.swift b/Modules/IdCardLib/Sources/IdCardLib/Extensions/DataProtocol+Extension.swift deleted file mode 100644 index 0b2865a0..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Extensions/DataProtocol+Extension.swift +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -internal import SwiftECC - -extension DataProtocol where Self.Index == Int { - var toHex: String { - return map { String(format: "%02x", $0) }.joined() - } - - func chunked(into size: Int) -> [SubSequence] { - stride(from: 0, to: count, by: size).map { - self[index(startIndex, offsetBy: $0) ..< index(startIndex, offsetBy: Swift.min($0 + size, count))] - } - } - - func removePadding() throws -> SubSequence { - var index = endIndex - while index != startIndex { - formIndex(before: &index) - if self[index] == 0x80 { - return self[startIndex.. Self { - var padding = Self(repeating: 0x00, count: AES.BlockSize - count % AES.BlockSize) - padding[0] = 0x80 - return self + padding - } - - public static func ^ (xVal: Self, yVal: Self) -> Self { - var result = xVal - for index in 0..(lhs: Self, rhs: D) -> Self where D.Element == Self.Element { - precondition(lhs.count == rhs.count, "XOR operands must have equal length") - var result = lhs - for index in 0.. Self { - var index = endIndex - while index != startIndex { - formIndex(before: &index) - self[index] += 1 - if self[index] != 0 { - break - } - } - return self - } - - func leftShiftOneBit() -> Self { - var shifted = Self(repeating: 0x00, count: count) - let last = index(before: endIndex) - var iVal = startIndex - while iVal < last { - shifted[iVal] = self[iVal] << 1 - let next = index(after: iVal) - if (self[next] & 0x80) != 0 { - shifted[iVal] += 0x01 - } - iVal = next - } - shifted[last] = self[last] << 1 - return shifted - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Extensions/ECpublicKey+Extensions.swift b/Modules/IdCardLib/Sources/IdCardLib/Extensions/ECpublicKey+Extensions.swift deleted file mode 100644 index 706f07e1..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Extensions/ECpublicKey+Extensions.swift +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import CommonCrypto -import CryptoTokenKit -internal import SwiftECC - -extension ECPublicKey { - convenience init?(domain: Domain, point: Data) throws { - guard let decodePoint = try? domain.decodePoint(Bytes(point)) else { return nil } - try self.init(domain: domain, w: decodePoint) - } - - func x963Representation() throws -> Bytes { - return try domain.encodePoint(w) - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Extensions/NFCISO7816Tag+Extensions.swift b/Modules/IdCardLib/Sources/IdCardLib/Extensions/NFCISO7816Tag+Extensions.swift deleted file mode 100644 index d5c452a3..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Extensions/NFCISO7816Tag+Extensions.swift +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import UtilsLib -@preconcurrency import CoreNFC -import CryptoTokenKit - -struct SendableISO7816Tag: Sendable { - var tag: NFCISO7816Tag -} - -private struct NFCISO7816TagLogger: Loggable {} - -extension SendableISO7816Tag { - func sendCommand( - cls: UInt8, - ins: UInt8, - p1Byte: UInt8, - p2Byte: UInt8, - data: Data = Data(), - leByte: Int = -1 - ) async throws -> Data { - let apdu = NFCISO7816APDU( - instructionClass: cls, - instructionCode: ins, - p1Parameter: p1Byte, - p2Parameter: p2Byte, - data: data, - expectedResponseLength: leByte - ) - let result = try await tag.sendCommand(apdu: apdu) - switch result { - case (_, 0x63, 0x00): - throw IdCardInternalError.canAuthenticationFailed - case (let data, 0x61, let len): - return data + (try await sendCommand(cls: 0x00, ins: 0xC0, p1Byte: 0x00, p2Byte: 0x00, leByte: Int(len))) - case (_, 0x6C, let len): - return try await sendCommand( - cls: cls, - ins: ins, - p1Byte: p1Byte, - p2Byte: p2Byte, - data: data, - leByte: Int(len) - ) - case (let data, _, _): - return data - } - } - - func sendCommand( - cls: UInt8, - ins: UInt8, - p1Byte: UInt8, - p2Byte: UInt8, - records: [TKTLVRecord], - leByte: Int = -1 - ) async throws -> Data { - let data = records.reduce(Data()) { partialResult, record in - partialResult + record.data - } - return try await sendCommand(cls: cls, ins: ins, p1Byte: p1Byte, p2Byte: p2Byte, data: data, leByte: leByte) - } - - func sendPaceCommand(records: [TKTLVRecord], tagExpected: TKTLVTag) async throws -> TKBERTLVRecord { - let request = TKBERTLVRecord(tag: 0x7c, records: records) - do { - let data = try await sendCommand( - cls: tagExpected == 0x86 ? 0x00 : 0x10, - ins: 0x86, - p1Byte: 0x00, - p2Byte: 0x00, - data: request.data, - leByte: 256 - ) - if let response = TKBERTLVRecord(from: data), response.tag == 0x7c, - let result = TKBERTLVRecord(from: response.value), result.tag == tagExpected { - return result - } else { - throw IdCardInternalError.invalidResponse(message: "response conversion failed") - } - } catch let error as IdCardInternalError { - NFCISO7816TagLogger.logger().error("sendPaceCommand \(error.localizedDescription)") - switch error { - case .sendCommandFailed(message: let message): - throw IdCardInternalError.invalidResponse(message: message) - default: - throw error - } - } - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Model/UsbReaderStatus.swift b/Modules/IdCardLib/Sources/IdCardLib/Model/UsbReaderStatus.swift deleted file mode 100644 index fc33d444..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Model/UsbReaderStatus.swift +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation - -public enum UsbReaderStatus: Sendable, Equatable { - case sInitial - case sReaderNotConnected - case sReaderRestarted - case sReaderConnected - case sCardConnected - case sReaderProcessFailed -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Operations/NFCConnection.swift b/Modules/IdCardLib/Sources/IdCardLib/Operations/NFCConnection.swift deleted file mode 100644 index b6118a36..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Operations/NFCConnection.swift +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -@preconcurrency import CoreNFC -import BigInt -import CryptoTokenKit - -@MainActor -public class NFCConnection { - public init() {} - public func setup(_ session: NFCTagReaderSession, tags: [NFCTag]) async throws -> NFCISO7816Tag { - if tags.count > 1 { - session.invalidate(errorMessage: "Failed to read data") - throw IdCardInternalError.multipleTagsDetected - } - - guard let firstTag = tags.first else { - session.invalidate(errorMessage: "Failed to read data") - throw IdCardInternalError.invalidTag - } - - do { - try await session.connect(to: firstTag) - } catch { - session.invalidate(errorMessage: "Failed to read data") - throw IdCardInternalError.connectionFailed - } - - guard case let .iso7816(tag) = firstTag else { - session.invalidate(errorMessage: "Failed to read data") - throw IdCardInternalError.invalidTag - } - - return tag - } - - @MainActor - public func getCardCommands(_: NFCTagReaderSession, tag: NFCISO7816Tag, CAN: String) async throws -> CardCommands { - let initialSelectedAID = tag.initialSelectedAID - let reader = try await CardReaderNFC(tag, CAN: CAN) - guard let aid = Bytes(hex: initialSelectedAID) else { - throw IdCardInternalError.connectionFailed - } - guard let cardCommands: CardCommands = Idemia( - reader: reader, - aid: aid - ) ?? Thales( - reader: reader, - aid: aid - ) else { - throw IdCardInternalError.cardNotSupported - } - return cardCommands - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationReadCertificate.swift b/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationReadCertificate.swift deleted file mode 100644 index 7296e41b..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationReadCertificate.swift +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CoreNFC -import CommonCrypto -import CryptoTokenKit -internal import SwiftECC -import BigInt -import Security - -// MARK: - Local Types - -public enum ReadCertificateError: Error { - case certificateUsageNotSpecified - case failedToReadCertificate - case general -} - -public enum CertificateUsage { - case auth - case sign -} - -// Allow CoreNFC types to cross async boundaries in this controlled context -extension NFCTagReaderSession: @unchecked @retroactive Sendable {} -extension NFCTag: @unchecked @retroactive Sendable {} - -@MainActor -public class OperationReadCertificate: NSObject { - private var session: NFCTagReaderSession? - private var CAN: String = "" - private var certUsage: CertificateUsage! - private let nfcMessage: String = "Please place your ID card against the smart device" - private let connection = NFCConnection() - private var continuation: CheckedContinuation? - - public func startReading(CAN: String, certUsage: CertificateUsage) async throws -> SecCertificate { - - return try await withCheckedThrowingContinuation { continuation in - self.continuation = continuation - - guard NFCTagReaderSession.readingAvailable else { - continuation.resume(throwing: IdCardInternalError.nfcNotSupported) - return - } - - self.CAN = CAN - self.certUsage = certUsage - session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) - session?.alertMessage = nfcMessage - session?.begin() - } - } -} - -extension OperationReadCertificate: NFCTagReaderSessionDelegate { - public func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) { - Task { @MainActor in - defer { - self.session = nil - } - - guard let certUsage else { - continuation?.resume(throwing: ReadCertificateError.certificateUsageNotSpecified) - session.invalidate(errorMessage: "Failed to read data") - return - } - do { - session.alertMessage = "Hold your ID card against your smart device until the data is read" - let tag = try await connection.setup(session, tags: tags) - let cardCommands = try await connection.getCardCommands(session, tag: tag, CAN: CAN) - do { - switch certUsage { - case .auth: - let cert = try await cardCommands.readAuthenticationCertificate() - let x509Certificate = try convertBytesToX509Certificate(cert) - continuation?.resume(with: .success(x509Certificate)) - case .sign: - let cert = try await cardCommands.readSignatureCertificate() - let x509Certificate = try convertBytesToX509Certificate(cert) - continuation?.resume(with: .success(x509Certificate)) - } - session.alertMessage = "Data read" - session.invalidate() - } catch { - session.invalidate(errorMessage: "Failed to read data") - continuation?.resume(throwing: ReadCertificateError.failedToReadCertificate) - } - } catch { - session.invalidate(errorMessage: "Failed to read data") - continuation?.resume(throwing: error) - } - } - } - - public func tagReaderSessionDidBecomeActive(_: NFCTagReaderSession) { } - - public func tagReaderSession(_: NFCTagReaderSession, didInvalidateWithError _: Error) { - Task { @MainActor in - self.session = nil - } - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationReadPublicData.swift b/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationReadPublicData.swift deleted file mode 100644 index f7d3ceca..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationReadPublicData.swift +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CoreNFC -import CommonCrypto -import CryptoTokenKit -internal import SwiftECC -import BigInt - -@MainActor final public class OperationReadPublicData: NSObject { - private var session: NFCTagReaderSession? - private var CAN: String = "" - private let nfcMessage: String = "Please place your ID card against the smart device" - private let connection = NFCConnection() - private var continuation: CheckedContinuation? - - public func startReading(CAN: String) async throws -> CardInfo { - return try await withCheckedThrowingContinuation { continuation in - self.continuation = continuation - - guard NFCTagReaderSession.readingAvailable else { - continuation.resume(throwing: IdCardInternalError.nfcNotSupported) - return - } - - self.CAN = CAN - session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) - session?.alertMessage = nfcMessage - session?.begin() - } - } -} - -extension OperationReadPublicData: @MainActor NFCTagReaderSessionDelegate { - public func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) { - Task { - do { - session.alertMessage = "Hold your ID card against your smart device until the data is read" - let tag = try await connection.setup(session, tags: tags) - let cardCommands = try await connection.getCardCommands(session, tag: tag, CAN: CAN) - let cardInfo = try await cardCommands.readPublicData() - - continuation?.resume(with: .success(cardInfo)) - session.alertMessage = "Data read" - session.invalidate() - } catch { - session.invalidate(errorMessage: "Failed to read data") - continuation?.resume(throwing: error) - } - } - } - - public func tagReaderSessionDidBecomeActive(_: NFCTagReaderSession) { } - - public func tagReaderSession(_: NFCTagReaderSession, didInvalidateWithError _: Error) { - self.session = nil - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationSignHash.swift b/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationSignHash.swift deleted file mode 100644 index 2051036f..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Operations/OperationSignHash.swift +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CoreNFC -import CommonCrypto -import CryptoTokenKit -internal import SwiftECC -import BigInt -import CryptoKit - -@MainActor -public class OperationSignHash: NSObject { - private var session: NFCTagReaderSession? - private var CAN: String = "" - private var PIN: SecureData = SecureData([0x00]) - private var hashToSign: Data? - private let nfcMessage: String = "Please place your ID card against the smart device" - private var continuation: CheckedContinuation? - private var connection = NFCConnection() - - public func startSigning(CAN: String, PIN2: SecureData, hash: Data) async throws -> Data { - - return try await withCheckedThrowingContinuation { continuation in - self.continuation = continuation - - guard NFCTagReaderSession.readingAvailable else { - continuation.resume(throwing: IdCardInternalError.nfcNotSupported) - return - } - self.CAN = CAN - self.PIN = PIN2 - self.hashToSign = hash - - session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) - updateAlertMessage(step: 0) - session?.begin() - } - } - - private func updateAlertMessage(step: Int) { - let stepMessages = [ - "Please place your ID card against the smart device", - "Hold your ID card against your smart device until the data is read", - "Reading data", - "Signing in progress" - ] - - let stepMessage = stepMessages[min(step, stepMessages.count - 1)] - let progressBar = ProgressBar(currentStep: step) - var message = stepMessage - message += "\n\n\(progressBar.generate())" - session?.alertMessage = message - } -} - -extension OperationSignHash: @MainActor NFCTagReaderSessionDelegate { - public func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) { - - Task { @MainActor in - do { - updateAlertMessage(step: 1) - guard let hashToSign else { - return - } - let tag = try await connection.setup(session, tags: tags) - updateAlertMessage(step: 2) - let cardCommands = try await connection.getCardCommands(session, tag: tag, CAN: CAN) - updateAlertMessage(step: 3) - let signatureValue = try await cardCommands.calculateSignature(for: hashToSign, withPin2: PIN) - continuation?.resume(with: .success(signatureValue)) - session.alertMessage = "Data read" - session.invalidate() - } catch { - session.invalidate(errorMessage: "Failed to read data") - continuation?.resume(throwing: error) - } - } - } - - public func tagReaderSessionDidBecomeActive(_: NFCTagReaderSession) { } - - public func tagReaderSession(_: NFCTagReaderSession, didInvalidateWithError _: Error) { - self.session = nil - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Operations/UsbReaderConnection.swift b/Modules/IdCardLib/Sources/IdCardLib/Operations/UsbReaderConnection.swift deleted file mode 100644 index d8d1a3ba..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Operations/UsbReaderConnection.swift +++ /dev/null @@ -1,326 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import UtilsLib -import Foundation -import iR301 -import FactoryKit - -public actor UsbReaderConnection: UsbReaderConnectionProtocol, Loggable { - private var handle: SCARDCONTEXT = 0 - private var handler: UsbReaderInterfaceHandler? - private var status: UsbReaderStatus = .sInitial - private var cardHandler: CardCommands? - private var continuation: AsyncStream.Continuation? - - public init() {} - - public func startDiscoveringReaders() async { - await ensureHandler() - - guard handle == 0 else { - UsbReaderConnection.logger().error("ID-CARD: Reader discovery is already running") - return - } - - UsbReaderConnection.logger().info("ID-CARD: Starting reader discovery") - await updateStatus(status) - - let result = SCardEstablishContext(DWORD(SCARD_SCOPE_SYSTEM), nil, nil, &handle) - - guard result == SCARD_S_SUCCESS else { - await updateStatus(.sReaderProcessFailed) - handle = 0 - return - } - - UsbReaderConnection.logger().info("ID-CARD: Started reader discovery: \(self.handle)") - } - - public func stopDiscoveringReaders(with status: UsbReaderStatus = .sInitial) async { - await ensureHandler() - - UsbReaderConnection.logger().info("ID-CARD: Stopping reader discovery") - self.status = status - FtDidEnterBackground(1) - SCardCancel(handle) - SCardReleaseContext(handle) - UsbReaderConnection.logger().info("ID-CARD: Stopped reader discovery with status: \(self.handle)") - handle = 0 - } - - public func updateStatus(_ status: UsbReaderStatus) async { - self.status = status - continuation?.yield(status) - } - - public func getHandle() async -> SCARDCONTEXT { - return handle - } - - public func getCardHandler() throws -> CardCommands { - guard let cardCommands = self.cardHandler else { - throw IdCardInternalError.connectionFailed - } - - return cardCommands - } - - public func setCardHandler(_ handler: CardCommands?) { - self.cardHandler = handler - } - - public func statusStream() -> AsyncStream { - AsyncStream { continuation in - self.continuation = continuation - continuation.yield(status) - } - } - - // MARK: ID-Card Actions - - public func getPublicData() async throws -> CardInfo { - UsbReaderConnection.logger().info("ID-CARD: Getting ID-card public data") - - guard let handler = cardHandler else { - UsbReaderConnection.logger().error("ID-CARD: Unable to get card handler to get public data") - throw IdCardInternalError.readerProcessFailed - } - - return try await handler.readPublicData() - } - - public func readAuthenticationCertificate() async throws -> Data { - await ensureHandler() - - UsbReaderConnection.logger().info("ID-CARD: Reading authentication certificate with reader") - - guard let handler = cardHandler else { - UsbReaderConnection - .logger() - .error("ID-CARD: Unable to get card handler to read authentication certificate with reader") - throw IdCardInternalError.readerProcessFailed - } - - do { - return try await handler.readAuthenticationCertificate() - } catch { - guard let exception = error as? IdCardInternalError else { - throw IdCardError.sessionError - } - throw exception.getIdCardError() - } - } - - public func readSignatureCertificate() async throws -> Data { - await ensureHandler() - - UsbReaderConnection.logger().info("ID-CARD: Reading signature certificate with reader") - - guard let handler = cardHandler else { - UsbReaderConnection - .logger() - .error("ID-CARD: Unable to get card handler to read signature certificate with reader") - throw IdCardInternalError.readerProcessFailed - } - - do { - return try await handler.readSignatureCertificate() - } catch { - guard let exception = error as? IdCardInternalError else { - throw IdCardError.sessionError - } - throw exception.getIdCardError() - } - } - - public func readCodeTryCounterRecord(for codeType: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) { - await ensureHandler() - - UsbReaderConnection.logger().info("ID-CARD: Reading try counter with reader for \(codeType.name)") - - guard let handler = cardHandler else { - UsbReaderConnection - .logger() - .error("ID-CARD: Unable to get card handler to read try counter with reader for \(codeType.name)") - throw IdCardInternalError.readerProcessFailed - } - - do { - return try await handler.readCodeTryCounterRecord(codeType) - } catch { - guard let exception = error as? IdCardInternalError else { - throw IdCardError.sessionError - } - throw exception.getIdCardError() - } - } - - public func isPUKChangeable() async throws -> Bool { - await ensureHandler() - - UsbReaderConnection.logger().info("ID-CARD: Checking if PUK is changeable with reader") - - guard let handler = cardHandler else { - UsbReaderConnection.logger().error("ID-CARD: Unable to check if PUK is changeable with reader") - throw IdCardInternalError.readerProcessFailed - } - - return handler.canChangePUK - } - - public func changeCode(_ codeType: CodeType, to newCode: Data, verifyCode: Data) async throws { - await ensureHandler() - - UsbReaderConnection.logger().info("ID-CARD: Changing code for \(codeType.name)") - - guard let handler = cardHandler else { - UsbReaderConnection.logger().error("ID-CARD: Unable to get card handler to change \(codeType.name)") - throw IdCardInternalError.readerProcessFailed - } - - do { - try await handler - .changeCode(codeType, to: SecureData(newCode), verifyCode: SecureData(verifyCode)) - } catch { - guard let exception = error as? IdCardInternalError else { - throw IdCardError.sessionError - } - throw exception.getIdCardError() - } - } - - public func unblockCode(_ codeType: CodeType, puk: Data, newCode: Data) async throws { - await ensureHandler() - - UsbReaderConnection.logger().info("ID-CARD: Unblocking code for \(codeType.name)") - - guard let handler = cardHandler else { - UsbReaderConnection.logger().error("ID-CARD: Unable to get card handler to unblock \(codeType.name)") - throw IdCardInternalError.readerProcessFailed - } - - do { - try await handler - .unblockCode(codeType, puk: SecureData(puk), newCode: SecureData(newCode)) - } catch { - guard let exception = error as? IdCardInternalError else { - throw IdCardError.sessionError - } - throw exception.getIdCardError() - } - } - - public func calculateSignature(for dataToSign: Data, pin2: SecureData) async throws -> Data { - await ensureHandler() - - guard let handler = cardHandler else { - UsbReaderConnection.logger().error("ID-CARD: Unable to calculate signature to sign with ID-card reader") - throw IdCardInternalError.readerProcessFailed - } - - do { - return try await handler.calculateSignature(for: dataToSign, withPin2: pin2) - } catch { - guard let exception = error as? IdCardInternalError else { - throw IdCardError.sessionError - } - throw exception.getIdCardError() - } - } - - // MARK: Handler - - private func ensureHandler() async { - guard handler == nil else { return } - handler = await MainActor.run { - UsbReaderInterfaceHandler(usbReaderConnection: self) - } - } -} - -private final class UsbReaderInterfaceHandler: NSObject, ReaderInterfaceDelegate, Sendable, Loggable { - - @MainActor - private let readerInterface = ReaderInterface() - - private let usbReaderConnection: UsbReaderConnectionProtocol - - init( - usbReaderConnection: UsbReaderConnectionProtocol - ) { - self.usbReaderConnection = usbReaderConnection - super.init() - Task { @MainActor in - readerInterface.setDelegate(self) - } - } - - func readerInterfaceDidChange(_ attached: Bool, bluetoothID _: String?) { - UsbReaderInterfaceHandler.logger().info("ID-CARD: Reader attached: \(attached)") - Task { - await usbReaderConnection.updateStatus(attached ? .sReaderConnected : .sReaderNotConnected) - } - } - - func cardInterfaceDidDetach(_ attached: Bool) { - UsbReaderInterfaceHandler.logger().info("ID-CARD: Card (interface) attached: \(attached)") - Task { - do { - let contextHandle = await usbReaderConnection.getHandle() - - guard attached, let reader = try CardReaderiR301(contextHandle: contextHandle) else { - return await usbReaderConnection.updateStatus(.sReaderConnected) - } - - let handler: CardCommands? - - do { - if let idemia = Idemia(reader: reader, atr: reader.atr) { - handler = idemia - } else { - handler = try Thales(reader: reader, atr: reader.atr) - } - } catch { - UsbReaderInterfaceHandler.logger().error("ID-CARD: Unable to connect card. \(error)") - await usbReaderConnection.setCardHandler(nil) - await usbReaderConnection.updateStatus(.sReaderProcessFailed) - return - } - - if let handler { - await usbReaderConnection.setCardHandler(handler) - - UsbReaderInterfaceHandler.logger().info("ID-CARD: Card connected") - - await usbReaderConnection.updateStatus(.sCardConnected) - } - } catch { - UsbReaderInterfaceHandler.logger().error("ID-CARD: Unable to power on card") - await usbReaderConnection.updateStatus(.sReaderProcessFailed) - } - } - } - - func didGetBattery(_: Int) {} - - func findPeripheralReader(_ readerName: String) { - UsbReaderInterfaceHandler.logger().info("ID-CARD: Reader name: \(readerName)") - } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Operations/UsbReaderConnectionProtocol.swift b/Modules/IdCardLib/Sources/IdCardLib/Operations/UsbReaderConnectionProtocol.swift deleted file mode 100644 index 1514e9c7..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Operations/UsbReaderConnectionProtocol.swift +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import iR301 - -/// @mockable -public protocol UsbReaderConnectionProtocol: Actor { - func startDiscoveringReaders() async - func stopDiscoveringReaders(with status: UsbReaderStatus) async - func updateStatus(_ status: UsbReaderStatus) async - func getHandle() async -> SCARDCONTEXT - func getCardHandler() throws -> CardCommands - func setCardHandler(_ handler: CardCommands?) - func statusStream() -> AsyncStream - func getPublicData() async throws -> CardInfo - func readAuthenticationCertificate() async throws -> Data - func readSignatureCertificate() async throws -> Data - func readCodeTryCounterRecord(for codeType: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) - func isPUKChangeable() async throws -> Bool - func changeCode(_ codeType: CodeType, to newCode: Data, verifyCode: Data) async throws - func unblockCode(_ codeType: CodeType, puk: Data, newCode: Data) async throws - func calculateSignature(for dataToSign: Data, pin2: SecureData) async throws -> Data -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Utilities/AES.swift b/Modules/IdCardLib/Sources/IdCardLib/Utilities/AES.swift deleted file mode 100644 index d817a998..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Utilities/AES.swift +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import CommonCrypto -import Foundation -internal import SwiftECC - -class AES { - typealias DataType = DataProtocol & ContiguousBytes - static let BlockSize: Int = kCCBlockSizeAES128 - static let Zero = Bytes(repeating: 0x00, count: BlockSize) - - public class CBC { - private let key: any DataType - private let ivVal: any DataType - - init(key: K, ivVal: I = Zero) { - self.key = key - self.ivVal = ivVal - } - - func encrypt(_ data: T) throws -> Bytes { - return try crypt(data: data, operation: kCCEncrypt) - } - - func decrypt(_ data: T) throws -> Bytes { - return try crypt(data: data, operation: kCCDecrypt) - } - - private func crypt(data: T, operation: Int) throws -> Bytes { - try Bytes(unsafeUninitializedCapacity: data.count + BlockSize) { buffer, initializedCount in - let status = data.withUnsafeBytes { dataBytes in - ivVal.withUnsafeBytes { ivBytes in - key.withUnsafeBytes { keyBytes in - CCCrypt( - CCOperation(operation), - CCAlgorithm(kCCAlgorithmAES), - CCOptions(0), - keyBytes.baseAddress, key.count, - ivBytes.baseAddress, - dataBytes.baseAddress, data.count, - buffer.baseAddress, buffer.count, - &initializedCount - ) - } - } - } - guard status == kCCSuccess else { - throw IdCardInternalError.AESCBCError - } - } - } - } - - public class CMAC { - static let RBytes: Bytes = [ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x87 - ] - let cipher: AES.CBC - let k1Bytes: Bytes - let k2Bytes: Bytes - - init(key: T) throws { - cipher = AES.CBC(key: key) - let LBytes = try cipher.encrypt(Zero) - k1Bytes = (LBytes[0] & 0x80) == 0 ? LBytes.leftShiftOneBit() : LBytes.leftShiftOneBit() ^ CMAC.RBytes - k2Bytes = (k1Bytes[0] & 0x80) == 0 ? k1Bytes.leftShiftOneBit() : k1Bytes.leftShiftOneBit() ^ CMAC.RBytes - } - - func authenticate(bytes: T, count: Int = 8) throws -> Bytes.SubSequence where T.Index == Int { - var blocks = bytes.chunked(into: BlockSize) - let mLast: Bytes - if let last = blocks.popLast() { - if bytes.count % BlockSize == 0 { - mLast = Bytes(last) ^ k1Bytes - } else { - mLast = Bytes(last).addPadding() ^ k2Bytes - } - } else { - mLast = Bytes().addPadding() ^ k1Bytes - } - - var xVal = Bytes(repeating: 0x00, count: BlockSize) - for mIndex in blocks { - let yVal = xVal ^ mIndex - xVal = try cipher.encrypt(yVal) - } - let yVal = xVal ^ mLast - let tBytes = try cipher.encrypt(yVal) - return tBytes[0..(_ body: (UnsafeRawBufferPointer) throws -> R) rethrows -> R { - try storage.withUnsafeBytes(body) - } - - /// Mutating access when you need to write into the buffer. - func withUnsafeMutableBytes(_ body: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R { - try storage.withUnsafeMutableBytes(body) - } - - public var count: Int { storage.count } - - /// Explicitly wipe now (also runs on deinit). - public func secureZero() { - guard storage.count > 0 else { return } - storage.withUnsafeMutableBytes { buf in - _ = memset_s(buf.baseAddress, buf.count, 0, buf.count) - } - storage.removeAll(keepingCapacity: false) - } - - /// If you need a temporary `Data` view (try to avoid). - func asData() -> Data { storage } -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/Utilities/Utilities.swift b/Modules/IdCardLib/Sources/IdCardLib/Utilities/Utilities.swift deleted file mode 100644 index 50b6bfb9..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/Utilities/Utilities.swift +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -internal import SwiftECC -import CommonCrypto -import CoreNFC -import BigInt - -public let rsaAlgorithmName = "RSA" -public let ecAlgorithmName = "EC" -public let unknownAlgorithmName = "Unknown" - -public func convertBytesToX509Certificate(_ data: Data) throws -> SecCertificate { - guard let certificate = SecCertificateCreateWithData(nil, data as CFData) else { - throw CertificateConversionError.creationFailed - } - - return certificate -} - -public enum CertificateConversionError: Error { - case creationFailed -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/WebEID/OperationAuthenticateWithWebEID.swift b/Modules/IdCardLib/Sources/IdCardLib/WebEID/OperationAuthenticateWithWebEID.swift deleted file mode 100644 index 65511e3c..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/WebEID/OperationAuthenticateWithWebEID.swift +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CoreNFC -import CommonCrypto -import CryptoTokenKit -internal import SwiftECC -import BigInt -import Security -import ASN1Decoder - -public enum AuthenticateWithWebEidError: Error { - case failedToReadPublicKey - case failedToDetermineAlgorithm - case failedToHashData - case failedToMapAlgorithm - case failedCertificateExpired - case failedCertificateNotYetValid -} - -@MainActor -public class OperationAuthenticateWithWebEID: NSObject { - private let CAN: String - private let pin1: SecureData - private let challenge: String - private let origin: String - private let connection = NFCConnection() - - private var session: NFCTagReaderSession? - private var continuation: CheckedContinuation? - - public init(CAN: String, pin1: SecureData, challenge: String, origin: String) { - self.CAN = CAN - self.pin1 = pin1 - self.challenge = challenge - self.origin = origin - } - - public func startReading() async throws -> WebEidData { - return try await withCheckedThrowingContinuation { continuation in - self.continuation = continuation - guard NFCTagReaderSession.readingAvailable else { - continuation.resume(throwing: IdCardInternalError.nfcNotSupported) - return - } - session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) - updateAlertMessage(step: 0) - session?.begin() - } - } - - private func updateAlertMessage(step: Int) { - let stepMessages = [ - "Please place your ID card against the smart device", - "Hold your ID card against your smart device until the data is read", - "Reading data", - "Authentication in progress" - ] - - let stepMessage = stepMessages[min(step, stepMessages.count - 1)] - - let progressBar = ProgressBar(currentStep: step) - - var message = stepMessage - - message += "\n\n\(progressBar.generate())" - - session?.alertMessage = message - } -} - -extension OperationAuthenticateWithWebEID: @MainActor NFCTagReaderSessionDelegate { - public func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) { - Task { @MainActor [weak self] in - guard let self else { return } - defer { - self.session = nil - } - - do { - updateAlertMessage(step: 1) - let tag = try await connection.setup(session, tags: tags) - updateAlertMessage(step: 2) - let cardCommands = try await connection.getCardCommands(session, tag: tag, CAN: CAN) - - updateAlertMessage(step: 3) - let certBytes = try await cardCommands.readAuthenticationCertificate() - let authCertificate = try convertBytesToX509Certificate(certBytes) - - let certificate = try X509Certificate(data: certBytes) - let notAfterDate = certificate.notAfter - let notBeforeDate = certificate.notBefore - - guard let notBefore = notBeforeDate, Date() >= notBefore else { - let errorMessage = "Certificate not yet valid" - session.invalidate(errorMessage: errorMessage) - continuation?.resume(throwing: AuthenticateWithWebEidError.failedCertificateNotYetValid) - return - } - - guard let notAfter = notAfterDate, Date() <= notAfter else { - let errorMessage = "Certificate has expired" - session.invalidate(errorMessage: errorMessage) - continuation?.resume(throwing: AuthenticateWithWebEidError.failedCertificateExpired) - return - } - - guard let publicKey = SecCertificateCopyKey(authCertificate) else { - let errorMessage = "Failed to read data" - session.invalidate(errorMessage: errorMessage) - continuation?.resume(throwing: AuthenticateWithWebEidError.failedToReadPublicKey) - return - } - - guard let keyAlgorithmData = getAlgorithmNameTypeAndLength(from: publicKey) else { - let errorMessage = "Failed to read data" - session.invalidate(errorMessage: errorMessage) - continuation?.resume(throwing: AuthenticateWithWebEidError.failedToDetermineAlgorithm) - return - } - - guard let hashLength = hashLengthFromInt(keyAlgorithmData.keyLength), - let originData = origin.data(using: .utf8), - let challengeData = challenge.data(using: .utf8), - let originHash = sha(hashLength: hashLength, data: originData), - let challengeHash = sha(hashLength: hashLength, data: challengeData), - let webEidHash = sha(hashLength: hashLength, data: originHash + challengeHash) - else { - let errorMessage = "Failed to read data" - session.invalidate(errorMessage: errorMessage) - continuation?.resume(throwing: AuthenticateWithWebEidError.failedToHashData) - return - } - - updateAlertMessage(step: 4) - let authResult = try await cardCommands.authenticate(for: webEidHash, withPin1: pin1) - let signingCertificateBytes = try await cardCommands.readSignatureCertificate() - - let webEidData = WebEidData( - unverifiedCertificate: certBytes.base64EncodedString(), - algorithm: keyAlgorithmData.algorithm, - signature: authResult.base64EncodedString(), - signingCertificate: signingCertificateBytes.base64EncodedString() - ) - continuation?.resume(returning: webEidData) - session.alertMessage = "Data read" - session.invalidate() - } catch { - session.invalidate(errorMessage: "Failed to read data") - continuation?.resume(throwing: error) - } - } - } - - public func getAlgorithmNameTypeAndLength(from key: SecKey) -> (algorithm: String, keyLength: Int)? { - // Get the algorithm type from the key - if let algorithmAttributes = SecKeyCopyAttributes(key) as? [String: Any], let algorithmType = - algorithmAttributes[kSecAttrKeyType as String] as? String { - - // Get the algorithm name based on the type - var algorithmName = "" - var keyLength = 0 - - switch algorithmType { - case String(kSecAttrKeyTypeRSA): - algorithmName = rsaAlgorithmName - keyLength = (algorithmAttributes[kSecAttrKeySizeInBits as String] as? Int) ?? 0 - case String(kSecAttrKeyTypeEC): - algorithmName = ecAlgorithmName - keyLength = (algorithmAttributes[kSecAttrKeySizeInBits as String] as? Int) ?? 0 - default: - algorithmName = unknownAlgorithmName - } - - return (algorithm: algorithmName, keyLength: keyLength) - } else { - return nil - } - } - - public func tagReaderSessionDidBecomeActive(_: NFCTagReaderSession) { } - - public func tagReaderSession(_: NFCTagReaderSession, didInvalidateWithError _: Error) { - self.session = nil - } - - public func mapToAlgorithm(algorithm: String, bitLength: Int) -> String? { - switch algorithm { - case ecAlgorithmName: - return "ES\(bitLength)" - case rsaAlgorithmName: - return "RS\(bitLength)" - default: - return nil - } - } -} - -public struct SignatureAlgorithmInfo { - let name: String - let bitSize: Int -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/WebEID/WebEIDHash.swift b/Modules/IdCardLib/Sources/IdCardLib/WebEID/WebEIDHash.swift deleted file mode 100644 index 197b7372..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/WebEID/WebEIDHash.swift +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CommonCrypto - -enum HashLength: Int { - case bits256 = 256 - case bits384 = 384 - case bits512 = 512 -} - -func hashLengthFromInt(_ intValue: Int) -> HashLength? { - return HashLength(rawValue: intValue) -} - -func sha(hashLength: HashLength, data: Data) -> Data? { - let digestLength: Int - let hashFunction: (UnsafeRawPointer?, CC_LONG, UnsafeMutablePointer?) -> UnsafeMutablePointer? - - switch hashLength { - case .bits256: - digestLength = Int(CC_SHA256_DIGEST_LENGTH) - hashFunction = CC_SHA256 - case .bits384: - digestLength = Int(CC_SHA384_DIGEST_LENGTH) - hashFunction = CC_SHA384 - case .bits512: - digestLength = Int(CC_SHA512_DIGEST_LENGTH) - hashFunction = CC_SHA512 - } - - let hashBytes = Bytes(unsafeUninitializedCapacity: digestLength) { buffer, initializedCount in - data.withUnsafeBytes { dataBytes in - _ = hashFunction(dataBytes.baseAddress, CC_LONG(data.count), buffer.baseAddress) - } - initializedCount = digestLength - } - - return Data(hashBytes) -} diff --git a/Modules/IdCardLib/Sources/IdCardLib/WebEID/WebEidData.swift b/Modules/IdCardLib/Sources/IdCardLib/WebEID/WebEidData.swift deleted file mode 100644 index 69b1054c..00000000 --- a/Modules/IdCardLib/Sources/IdCardLib/WebEID/WebEidData.swift +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation - -public final class WebEidData: Sendable { - public let unverifiedCertificate: String - public let signingCertificate: String - public let algorithm: String - public let signature: String - - init(unverifiedCertificate: String, - algorithm: String, - signature: String, - signingCertificate: String) { - self.unverifiedCertificate = unverifiedCertificate - self.algorithm = algorithm - self.signature = signature - self.signingCertificate = signingCertificate - } - - public var formattedDescription: String { - """ - ==== - unverifiedCertificate: \(unverifiedCertificate) - ==== - algorithm: \(algorithm) - ==== - signature: \(signature) - ==== - signingCertificate: \(signingCertificate) - """ - } -} diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/ReaderInterface.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/ReaderInterface.h deleted file mode 100644 index fb67fea5..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/ReaderInterface.h +++ /dev/null @@ -1,114 +0,0 @@ -#import -#import "ft301u.h" -/** - * Delegate which is used to notify the appliation layer when the reader is attached/detached.. - */ -typedef enum FTREADERTYPE{ - READER_UNKOWN = 0, - READER_iR301U_DOCK, - READER_iR301U_LIGHTING, - READER_bR301, //bR301 B55 - READER_bR301B, //bR301 C63 - READER_bR301BLE, - READER_bR500 -} FTREADERTYPE; - -typedef enum FTDEVICETYPE{ - EMPTY_DEVICE = 0x00, - IR301_AND_BR301 = 0x01, - BR301BLE_AND_BR500 = 0x02, -} FTDEVICETYPE; - -@protocol ReaderInterfaceDelegate -@required - -/** - * Delegate to be called when our custom version of the 301 has been attached or detached (regardless of whether a card is inserted or not). - * This should only be called on a background thread (not the main thread). - * You should assume that an application implemenation of this delegate will call [ReaderInterface cardInterface] to obtian a card interface. - * @param attached is YES if the 301 has become attached to the phone or NO if the 301 has become detached from the phone. - */ -- (void) findPeripheralReader:(NSString *)readerName; - -- (void) readerInterfaceDidChange:(BOOL)attached bluetoothID:(NSString *)bluetoothID; - -- (void) cardInterfaceDidDetach:(BOOL)attached; - -- (void) didGetBattery:(NSInteger)battery; - -@end - - -/** - * ReaderInterface class represents the attached/detached state of the reader with the iOS device. - * It is envisioned that attach/detach notifications will be registered to be handled by internal methods of this class. - * Such internal methods are assumed to be declaring in the implementation file (hidden) rather than this header. - * It is also envisioned that I/O notifications (NSStreamEventHasBytesAvailable, etc.) will NOT be registered to be handled by methods of this class. - * Instead, such notificaitons would be registered during initialization of a CardInterface class to be handled by internal - * methods of the CardInterface class. - */ - -@interface ReaderInterface : NSObject -{ - -} - -/** - * Set an applicaiton defined delegate to receive notificaiton that our custom 301 reader has become attached/detached. - * The implementation of your notifiation logic must check to see if this delegate has been provided before attempting to call it. - * Our applicaiton layer might set this back to nil when notifications are no longer desired. - * @param delegate is the caller provided delegate. - */ -- (void) setDelegate:(id)delegate; - -/** - * Query if our custom version of the 301 is currently attached to the phone. - * @return YES if the 301 is attached to the phone. NO if the 301 is detached from the phone. - */ -- (BOOL) isReaderAttached; -/** - * Query if the card is currently attached to the 301. - * @return YES if the card is attached to the 301. NO if the card is detached from the 301. - */ -- (BOOL) isCardAttached; - -/** - *depend on the readerName to Connect Peripheral Readr - *timeout is a number need set by customer, the lib will try to connect reader, but if the reader already turn off or had long distance between iOS and reader, then after that time, will return connection failure - */ -- (BOOL)connectPeripheralReader:(NSString *)readerName timeout:(float)timeout; - -/** - *disConnect the current Peripheral Reader - */ -- (void)disConnectCurrentPeripheralReader; - -/** - *set auto pair YES or NOT,default is YES - */ -- (void)setAutoPair:(BOOL)autoPair; - -@end - -/** - * DeviceType class is used to set/get device type. - * Now it supports IR301 and BR301. It must be set one type before you use other function. - */ - -@interface FTDeviceType : NSObject - -/** - * Set an device type you will use. - * @param deviceType is the type you will use. Now it supports IR301 and BR301. - */ -+(void)setDeviceType:(FTDEVICETYPE) deviceType; - - - -/** - * Get the device type which you are using now. - * @return IR301 or BR301. - */ -+(FTDEVICETYPE)getDeviceType; - -@end diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/ft301u.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/ft301u.h deleted file mode 100644 index 8306e697..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/ft301u.h +++ /dev/null @@ -1,308 +0,0 @@ -/** - * @file - * @This isfeitian's private cmd. - */ - -#ifndef __ft301u_h__ -#define __ft301u_h__ - - -#include "wintypes.h" -#include "winscard.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -//====================================================================================== -//=============================general function========================================= -//====================================================================================== - LONG SCARD_CTL_CODE(unsigned int code); - /* - Function: FtGetDevVer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - firmwareRevision OUT firmware Version - hardwareRevision OUT hardwareVersion - Description: - The function read the firmware and hardware Version. - - */ - LONG FtGetDevVer(SCARDCONTEXT hContext,char *firmwareRevision,char *hardwareRevision); - - - /* - Function: FtGetLibVersion - - Parameters: - buffer :buffer of libVersion - - Description: - Get the Current Lib Version - - */ - void FtGetLibVersion (char *buffer); - - - /* - Function: FtSetTimeout - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - dwTimeout IN New transmission timeout value of between 301 and card (millisecond ) - - Description: - The function New transmission timeout value of between 301 and card. - - */ - LONG FtSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout); - - - /* - Function: FtWriteFlash - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bOffset IN Offset of flash to write - blength IN The length of data - buffer IN The data for write - - Description: - This function userd to write data to flash. - - */ - LONG FtWriteFlash(SCARDCONTEXT hContext,unsigned int bOffset, unsigned char blength,unsigned char *buffer); - - - /* - Function: FtReadFlash - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bOffset IN Offset of flash to write - blength IN/OUT IN:The length of data want to read; - OUT:the real length of readed data; - buffer OUT The read data - - Description: - This function used to read data from flash. - - */ - LONG FtReadFlash(SCARDCONTEXT hContext,unsigned int bOffset, unsigned char* blength,unsigned char *buffer); - - /* - Function: FTGetBluetoothFWVer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bluetoothVersion OUT The version of bluetooth; - - Description: - This function used to get bluetooth version. - */ - LONG FTGetBluetoothFWVer(SCARDCONTEXT hContext,char *bluetoothVersion); - -//====================================================================================== -//=============================ir301 function=========================================== -//====================================================================================== - - /* - Function: FtGetSerialNum - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length IN length of buffer(>=8) - buffer OUT Serial number - - Description: - This function userd to get serial number of iR301. - - */ - LONG FtGetSerialNum(SCARDCONTEXT hContext, unsigned int *length, - char * buffer); - - - /* Function: FT_AutoTurnOffReader - - Parameters: - isOpen IN the switch is able to open/close the automatic shutdown function of reader. - - Description: - The function is able to open/close the automatic shutdown function of reader. - - */ - LONG FT_AutoTurnOffReader(bool isOpen); - - - //for dukpt - /* - Function: FtDukptInit - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - encBuf IN Ciphertext use TDES_ECB_PKCS7/AES_ECB_PKCS7 (See "Key C" ) - nLen IN encBuf length(40(TDES_ECB_PKCS7 ciphertext length) 48(AES_ECB_PKCS7 ciphertext length)) - - Description: - Init iR301 new ipek and ksn for dukpt. - - */ - LONG FtDukptInit(SCARDCONTEXT hContext,unsigned char *encBuf,unsigned int nLen); - - - /* - Function: FtDukptSetEncMod - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bEncrypt IN 1: SCardTransmit Encrypted - 0:SCardTransmit not Encrypted - - bEncFunc IN 0: Encryption functioon use TDES_ECB_PKCS7 - 1:Encryption functioon use AES_ECB_PKCS7 - - bEncType IN 1: SCardTransmit: Plaintext in Ciphertext out - 0: SCardTransmit: Ciphertext in Ciphertext out - - Description: - Set the encryption mode of iR301 for dukpt. - - */ - LONG FtDukptSetEncMod(SCARDCONTEXT hContext, - unsigned int bEncrypt, - unsigned int bEncFunc, - unsigned int bEncType); - - - /* - Function: FtDukptGetKSN - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - pnlength INOUT IN: The size of ksn buffer(>=10) - OUT: The real size(if successful has been 10) - buffer OUT Buffer of ksn - - Description: - Get Ksn from iR301 for dukpt. - - */ - LONG FtDukptGetKSN(SCARDCONTEXT hContext,unsigned int * pnlength,unsigned char *buffer); - - - /* - Function: FtDidEnterBackground - - Parameters: - bDidEnter IN must be set 1 - - Description: - Use this method to release monitor thread of reader status - - */ - void FtDidEnterBackground(unsigned int bDidEnter); - - /* - Function: FtGetCurrentReaderType - - Parameters: - readerType :type of reader - - - Description: - Get current Reader Type - - */ - LONG FtGetCurrentReaderType(unsigned int *readerType); - -//====================================================================================== -//=============================br301 function=========================================== -//====================================================================================== - - /* - Function: FtGenerateDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - seedLength IN length of Seed Number(>=1 <=48) - seedBuffer OUT Seed Number - - Description: - This function used to Generate Device UID - */ - LONG FtGenerateDeviceUID(SCARDCONTEXT hContext,unsigned int seedLength ,unsigned char *seedBuffer); - - - /* - Function: FtGetDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - uidLength IN length of buffer(>=8) - uidBuffer OUT Device UID - - Description: - This function used to get UID of bR500. - */ - LONG FtGetDeviceUID(SCARDCONTEXT hContext,unsigned int *uidLength, char *uidBuffer); - - /* - Function: FtEraseDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - seedLength IN length of Seed Number(>=1 <=48) - seedBuffer OUT Seed Number - - Description: - This function used to Erase Device UID - */ - LONG FtEraseDeviceUID(SCARDCONTEXT hContext,unsigned int seedLength ,unsigned char *seedBuffer); - - /* - Function: FtGetAccessoryManufacturer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory manufacturer - buffer OUT accessory manufacturer - - Description: - This function used to get accessory manufacturer - */ - LONG FtGetAccessoryManufacturer(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - - /* - Function: FtGetAccessoryModelName - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory mode name - buffer OUT accessory mode name - - Description: - This function used to get accessory manufacturer - */ - LONG FtGetAccessoryModelName(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - - /* - Function: FtGetReaderName - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory mode name - buffer OUT reader name - - Description: - This function used to get reader name - */ - LONG FtGetReaderName(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/winscard.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/winscard.h deleted file mode 100644 index 5c87cbdf..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/winscard.h +++ /dev/null @@ -1,133 +0,0 @@ - - -#ifndef __winscard_h__ -#define __winscard_h__ - - -#include "wintypes.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -#ifndef PCSC_API -#define PCSC_API -#endif - -#define MAX_ATR_SIZE 33 - -typedef LONG SCARDCONTEXT; /**< \p hContext returned by SCardEstablishContext() */ -typedef SCARDCONTEXT *PSCARDCONTEXT; -typedef SCARDCONTEXT *LPSCARDCONTEXT; -typedef LONG SCARDHANDLE; /**< \p hCard returned by SCardConnect() */ -typedef SCARDHANDLE *PSCARDHANDLE; -typedef SCARDHANDLE *LPSCARDHANDLE; - - -typedef struct -{ - const char *szReader; - const char *pvUserData; - DWORD dwCurrentState; - DWORD dwEventState; - DWORD cbAtr; - DWORD isConnected; - unsigned char rgbAtr[MAX_ATR_SIZE]; -} -SCARD_READERSTATE, *LPSCARD_READERSTATE; -/** Protocol Control Information (PCI) */ -typedef struct _SCARD_IO_REQUEST -{ - uint32_t dwProtocol; /**< Protocol identifier */ - uint32_t cbPciLength; /**< Protocol Control Inf Length */ -} -SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; - -typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; - -extern SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, -g_rgSCardRawPci; - -PCSC_API LONG SCardEstablishContext(DWORD dwScope, - /*@null@*/ LPCVOID pvReserved1, - /*@null@*/ LPCVOID pvReserved2, - /*@out@*/ LPSCARDCONTEXT phContext); - -PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext); - -PCSC_API LONG SCardIsValidContext(SCARDCONTEXT hContext); - -PCSC_API LONG SCardConnect(SCARDCONTEXT hContext, - LPCSTR szReader, - DWORD dwShareMode, - DWORD dwPreferredProtocols, - /*@out@*/ LPSCARDHANDLE phCard, - /*@out@*/ LPDWORD pdwActiveProtocol); - -PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition); - -PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard); - -PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition); - -PCSC_API LONG SCardStatus(SCARDHANDLE hCard, - /*@null@*/ /*@out@*/ LPSTR mszReaderName, - /*@null@*/ /*@out@*/ LPDWORD pcchReaderLen, - /*@null@*/ /*@out@*/ LPDWORD pdwState, - /*@null@*/ /*@out@*/ LPDWORD pdwProtocol, - /*@null@*/ /*@out@*/ LPBYTE pbAtr, - /*@null@*/ /*@out@*/ LPDWORD pcbAtrLen); - -PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext, - DWORD dwTimeout, - LPSCARD_READERSTATE rgReaderStates, - DWORD cReaders); - -PCSC_API LONG SCardControl(SCARDHANDLE hCard, - DWORD dwControlCode, - LPCVOID pbSendBuffer, - DWORD cbSendLength, - /*@out@*/ LPVOID pbRecvBuffer, - DWORD cbRecvLength, - LPDWORD lpBytesReturned); - -PCSC_API LONG SCardTransmit(SCARDHANDLE hCard, - const SCARD_IO_REQUEST *pioSendPci, - LPCBYTE pbSendBuffer, - DWORD cbSendLength, - /*@out@*/ SCARD_IO_REQUEST *pioRecvPci, - /*@out@*/ LPBYTE pbRecvBuffer, - LPDWORD pcbRecvLength); - -PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext, - /*@out@*/ LPSTR mszGroups, - LPDWORD pcchGroups); - -PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext, - /*@null@*/ /*@out@*/ LPCSTR mszGroups, - /*@null@*/ /*@out@*/ LPSTR mszReaders, - /*@out@*/ LPDWORD pcchReaders); - - - -PCSC_API LONG SCardCancel(SCARDCONTEXT hContext); - -PCSC_API LONG SCardReconnect(SCARDHANDLE hCard, - DWORD dwShareMode, - DWORD dwPreferredProtocols, - DWORD dwInitialization, - LPDWORD pdwActiveProtocol); - -PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, - DWORD dwAttrId, - /*@out@*/ LPBYTE pbAttr, - LPDWORD pcbAttrLen); - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/wintypes.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/wintypes.h deleted file mode 100644 index 1efb6df7..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/Headers/wintypes.h +++ /dev/null @@ -1,224 +0,0 @@ - -#ifndef __wintypes_h__ -#define __wintypes_h__ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#ifdef __APPLE__ - -#include - -#ifndef BYTE - typedef uint8_t BYTE; -#endif - typedef uint8_t UCHAR; - typedef uint8_t *PUCHAR; - typedef uint16_t USHORT; - -#ifndef __COREFOUNDATION_CFPLUGINCOM__ - typedef uint32_t ULONG; - typedef void *LPVOID; -//haozi err? typedef int16_t BOOL; -#endif - - typedef uint32_t *PULONG; - typedef const void *LPCVOID; - typedef uint32_t DWORD; - typedef uint32_t *PDWORD; - typedef uint16_t WORD; - typedef int32_t LONG; - typedef const char *LPCSTR; - typedef const BYTE *LPCBYTE; - typedef BYTE *LPBYTE; - typedef DWORD *LPDWORD; - typedef char *LPSTR; - -#else - -#ifndef BYTE - typedef unsigned char BYTE; -#endif - typedef unsigned char UCHAR; - typedef unsigned char *PUCHAR; - typedef unsigned short USHORT; - -#ifndef __COREFOUNDATION_CFPLUGINCOM__ - typedef unsigned long ULONG; - typedef void *LPVOID; -#endif - - typedef const void *LPCVOID; - typedef unsigned long DWORD; - typedef unsigned long *PDWORD; - typedef long LONG; - typedef const char *LPCSTR; - typedef const BYTE *LPCBYTE; - typedef BYTE *LPBYTE; - typedef DWORD *LPDWORD; - typedef char *LPSTR; - - /* these types were deprecated but still used by old drivers and - * applications. So just declare and use them. */ - typedef LPSTR LPTSTR; - typedef LPCSTR LPCTSTR; - - /* types unused by pcsc-lite */ - typedef short BOOL; - typedef unsigned short WORD; - typedef unsigned long *PULONG; - -#endif - - - ///////////////////////////////////////// - - -#define SCARD_PCI_T0 (&g_rgSCardT0Pci) /**< protocol control information (PCI) for T=0 */ -#define SCARD_PCI_T1 (&g_rgSCardT1Pci) /**< protocol control information (PCI) for T=1 */ -#define SCARD_PCI_RAW (&g_rgSCardRawPci) /**< protocol control information (PCI) for RAW protocol */ - - /** error codes from http://msdn.microsoft.com/en-us/library/aa924526.aspx - */ -#define SCARD_S_SUCCESS ((LONG)0x00000000) /**< No error was encountered. */ -#define SCARD_F_INTERNAL_ERROR ((LONG)0x80100001) /**< An internal consistency check failed. */ -#define SCARD_E_CANCELLED ((LONG)0x80100002) /**< The action was cancelled by an SCardCancel request. */ -#define SCARD_E_INVALID_HANDLE ((LONG)0x80100003) /**< The supplied handle was invalid. */ -#define SCARD_E_INVALID_PARAMETER ((LONG)0x80100004) /**< One or more of the supplied parameters could not be properly interpreted. */ -#define SCARD_E_INVALID_TARGET ((LONG)0x80100005) /**< Registry startup information is missing or invalid. */ -#define SCARD_E_NO_MEMORY ((LONG)0x80100006) /**< Not enough memory available to complete this command. */ -#define SCARD_F_WAITED_TOO_LONG ((LONG)0x80100007) /**< An internal consistency timer has expired. */ -#define SCARD_E_INSUFFICIENT_BUFFER ((LONG)0x80100008) /**< The data buffer to receive returned data is too small for the returned data. */ -#define SCARD_E_UNKNOWN_READER ((LONG)0x80100009) /**< The specified reader name is not recognized. */ -#define SCARD_E_TIMEOUT ((LONG)0x8010000A) /**< The user-specified timeout value has expired. */ -#define SCARD_E_SHARING_VIOLATION ((LONG)0x8010000B) /**< The smart card cannot be accessed because of other connections outstanding. */ -#define SCARD_E_NO_SMARTCARD ((LONG)0x8010000C) /**< The operation requires a Smart Card, but no Smart Card is currently in the device. */ -#define SCARD_E_UNKNOWN_CARD ((LONG)0x8010000D) /**< The specified smart card name is not recognized. */ -#define SCARD_E_CANT_DISPOSE ((LONG)0x8010000E) /**< The system could not dispose of the media in the requested manner. */ -#define SCARD_E_PROTO_MISMATCH ((LONG)0x8010000F) /**< The requested protocols are incompatible with the protocol currently in use with the smart card. */ -#define SCARD_E_NOT_READY ((LONG)0x80100010) /**< The reader or smart card is not ready to accept commands. */ -#define SCARD_E_INVALID_VALUE ((LONG)0x80100011) /**< One or more of the supplied parameters values could not be properly interpreted. */ -#define SCARD_E_SYSTEM_CANCELLED ((LONG)0x80100012) /**< The action was cancelled by the system, presumably to log off or shut down. */ -#define SCARD_F_COMM_ERROR ((LONG)0x80100013) /**< An internal communications error has been detected. */ -#define SCARD_F_UNKNOWN_ERROR ((LONG)0x80100014) /**< An internal error has been detected, but the source is unknown. */ -#define SCARD_E_INVALID_ATR ((LONG)0x80100015) /**< An ATR obtained from the registry is not a valid ATR string. */ -#define SCARD_E_NOT_TRANSACTED ((LONG)0x80100016) /**< An attempt was made to end a non-existent transaction. */ -#define SCARD_E_READER_UNAVAILABLE ((LONG)0x80100017) /**< The specified reader is not currently available for use. */ -#define SCARD_P_SHUTDOWN ((LONG)0x80100018) /**< The operation has been aborted to allow the server application to exit. */ -#define SCARD_E_PCI_TOO_SMALL ((LONG)0x80100019) /**< The PCI Receive buffer was too small. */ -#define SCARD_E_READER_UNSUPPORTED ((LONG)0x8010001A) /**< The reader driver does not meet minimal requirements for support. */ -#define SCARD_E_DUPLICATE_READER ((LONG)0x8010001B) /**< The reader driver did not produce a unique reader name. */ -#define SCARD_E_CARD_UNSUPPORTED ((LONG)0x8010001C) /**< The smart card does not meet minimal requirements for support. */ -#define SCARD_E_NO_SERVICE ((LONG)0x8010001D) /**< The Smart card resource manager is not running. */ -#define SCARD_E_SERVICE_STOPPED ((LONG)0x8010001E) /**< The Smart card resource manager has shut down. */ -#define SCARD_E_UNEXPECTED ((LONG)0x8010001F) /**< An unexpected card error has occurred. */ -#define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x8010001F) /**< This smart card does not support the requested feature. */ -#define SCARD_E_ICC_INSTALLATION ((LONG)0x80100020) /**< No primary provider can be found for the smart card. */ -#define SCARD_E_ICC_CREATEORDER ((LONG)0x80100021) /**< The requested order of object creation is not supported. */ - /* #define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x80100022) / **< This smart card does not support the requested feature. */ -#define SCARD_E_DIR_NOT_FOUND ((LONG)0x80100023) /**< The identified directory does not exist in the smart card. */ -#define SCARD_E_FILE_NOT_FOUND ((LONG)0x80100024) /**< The identified file does not exist in the smart card. */ -#define SCARD_E_NO_DIR ((LONG)0x80100025) /**< The supplied path does not represent a smart card directory. */ -#define SCARD_E_NO_FILE ((LONG)0x80100026) /**< The supplied path does not represent a smart card file. */ -#define SCARD_E_NO_ACCESS ((LONG)0x80100027) /**< Access is denied to this file. */ -#define SCARD_E_WRITE_TOO_MANY ((LONG)0x80100028) /**< The smart card does not have enough memory to store the information. */ -#define SCARD_E_BAD_SEEK ((LONG)0x80100029) /**< There was an error trying to set the smart card file object pointer. */ -#define SCARD_E_INVALID_CHV ((LONG)0x8010002A) /**< The supplied PIN is incorrect. */ -#define SCARD_E_UNKNOWN_RES_MNG ((LONG)0x8010002B) /**< An unrecognized error code was returned from a layered component. */ -#define SCARD_E_NO_SUCH_CERTIFICATE ((LONG)0x8010002C) /**< The requested certificate does not exist. */ -#define SCARD_E_CERTIFICATE_UNAVAILABLE ((LONG)0x8010002D) /**< The requested certificate could not be obtained. */ -#define SCARD_E_NO_READERS_AVAILABLE ((LONG)0x8010002E) /**< Cannot find a smart card reader. */ -#define SCARD_E_COMM_DATA_LOST ((LONG)0x8010002F) /**< A communications error with the smart card has been detected. Retry the operation. */ -#define SCARD_E_NO_KEY_CONTAINER ((LONG)0x80100030) /**< The requested key container does not exist on the smart card. */ -#define SCARD_E_SERVER_TOO_BUSY ((LONG)0x80100031) /**< The Smart Card Resource Manager is too busy to complete this operation. */ - -#define SCARD_W_UNSUPPORTED_CARD ((LONG)0x80100065) /**< The reader cannot communicate with the card, due to ATR string configuration conflicts. */ -#define SCARD_W_UNRESPONSIVE_CARD ((LONG)0x80100066) /**< The smart card is not responding to a reset. */ -#define SCARD_W_UNPOWERED_CARD ((LONG)0x80100067) /**< Power has been removed from the smart card, so that further communication is not possible. */ -#define SCARD_W_RESET_CARD ((LONG)0x80100068) /**< The smart card has been reset, so any shared state information is invalid. */ -#define SCARD_W_REMOVED_CARD ((LONG)0x80100069) /**< The smart card has been removed, so further communication is not possible. */ - -#define SCARD_W_SECURITY_VIOLATION ((LONG)0x8010006A) /**< Access was denied because of a security violation. */ -#define SCARD_W_WRONG_CHV ((LONG)0x8010006B) /**< The card cannot be accessed because the wrong PIN was presented. */ -#define SCARD_W_CHV_BLOCKED ((LONG)0x8010006C) /**< The card cannot be accessed because the maximum number of PIN entry attempts has been reached. */ -#define SCARD_W_EOF ((LONG)0x8010006D) /**< The end of the smart card file has been reached. */ -#define SCARD_W_CANCELLED_BY_USER ((LONG)0x8010006E) /**< The user pressed "Cancel" on a Smart Card Selection Dialog. */ -#define SCARD_W_CARD_NOT_AUTHENTICATED ((LONG)0x8010006F) /**< No PIN was presented to the smart card. */ - -#define SCARD_AUTOALLOCATE (DWORD)(-1) /**< see SCardFreeMemory() */ -#define SCARD_SCOPE_USER 0x0000 /**< Scope in user space */ -#define SCARD_SCOPE_TERMINAL 0x0001 /**< Scope in terminal */ -#define SCARD_SCOPE_SYSTEM 0x0002 /**< Scope in system */ - - -#define SCARD_PROTOCOL_UNDEFINED 0x0000 /**< protocol not set */ -#define SCARD_PROTOCOL_UNSET SCARD_PROTOCOL_UNDEFINED /* backward compat */ -#define SCARD_PROTOCOL_T0 0x0001 /**< T=0 active protocol. */ -#define SCARD_PROTOCOL_T1 0x0002 /**< T=1 active protocol. */ -#define SCARD_PROTOCOL_RAW 0x0004 /**< Raw active protocol. */ -#define SCARD_PROTOCOL_T15 0x0008 /**< T=15 protocol. */ - -#define SCARD_PROTOCOL_ANY (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1) /**< IFD determines prot. */ - -#define SCARD_SHARE_EXCLUSIVE 0x0001 /**< Exclusive mode only */ -#define SCARD_SHARE_SHARED 0x0002 /**< Shared mode only */ -#define SCARD_SHARE_DIRECT 0x0003 /**< Raw mode only */ - -#define SCARD_LEAVE_CARD 0x0000 /**< Do nothing on close */ -#define SCARD_RESET_CARD 0x0001 /**< Reset on close */ -#define SCARD_UNPOWER_CARD 0x0002 /**< Power down on close */ -#define SCARD_EJECT_CARD 0x0003 /**< Eject on close */ - -#define SCARD_UNKNOWN 0x0001 /**< Unknown state */ -#define SCARD_ABSENT 0x0002 /**< Card is absent */ -#define SCARD_PRESENT 0x0004 /**< Card is present */ -#define SCARD_SWALLOWED 0x0008 /**< Card not powered */ -#define SCARD_POWERED 0x0010 /**< Card is powered */ -#define SCARD_NEGOTIABLE 0x0020 /**< Ready for PTS */ -#define SCARD_SPECIFIC 0x0040 /**< PTS has been set */ - -#define SCARD_STATE_UNAWARE 0x0000 /**< App wants status */ -#define SCARD_STATE_IGNORE 0x0001 /**< Ignore this reader */ -#define SCARD_STATE_CHANGED 0x0002 /**< State has changed */ -#define SCARD_STATE_UNKNOWN 0x0004 /**< Reader unknown */ -#define SCARD_STATE_UNAVAILABLE 0x0008 /**< Status unavailable */ -#define SCARD_STATE_EMPTY 0x0010 /**< Card removed */ -#define SCARD_STATE_PRESENT 0x0020 /**< Card inserted */ -#define SCARD_STATE_ATRMATCH 0x0040 /**< ATR matches card */ -#define SCARD_STATE_EXCLUSIVE 0x0080 /**< Exclusive Mode */ -#define SCARD_STATE_INUSE 0x0100 /**< Shared Mode */ -#define SCARD_STATE_MUTE 0x0200 /**< Unresponsive card */ -#define SCARD_STATE_UNPOWERED 0x0400 /**< Unpowered card */ - - -#define MAXIMUM_SMARTCARD_READERS 10 -#ifndef INFINITE -#define INFINITE 0xFFFFFFFF /**< Infinite timeout */ -#endif - -#define PCSCLITE_VERSION_NUMBER "1.7.4" /**< Current version */ - /** Maximum readers context (a slot is count as a reader) */ -#define PCSCLITE_MAX_READERS_CONTEXTS 16 -#define PCSCLITE_STATUS_WAIT 10000 -#define MAX_READERNAME 100 - -#ifndef SCARD_ATR_LENGTH -#define SCARD_ATR_LENGTH MAX_ATR_SIZE /**< Maximum ATR size */ -#endif - - /* - * The message and buffer sizes must be multiples of 16. - * The max message size must be at least large enough - * to accomodate the transmit_struct - */ -#define MAX_BUFFER_SIZE 264 /**< Maximum Tx/Rx Buffer for short APDU */ -#define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3) /**< enhanced (64K + APDU + Lc + Le) Tx/Rx Buffer */ - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/libiRockey301_ccid-iphoneos.a b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/libiRockey301_ccid-iphoneos.a deleted file mode 100644 index fb45f522..00000000 Binary files a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e/libiRockey301_ccid-iphoneos.a and /dev/null differ diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ReaderInterface.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ReaderInterface.h deleted file mode 100644 index fb67fea5..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ReaderInterface.h +++ /dev/null @@ -1,114 +0,0 @@ -#import -#import "ft301u.h" -/** - * Delegate which is used to notify the appliation layer when the reader is attached/detached.. - */ -typedef enum FTREADERTYPE{ - READER_UNKOWN = 0, - READER_iR301U_DOCK, - READER_iR301U_LIGHTING, - READER_bR301, //bR301 B55 - READER_bR301B, //bR301 C63 - READER_bR301BLE, - READER_bR500 -} FTREADERTYPE; - -typedef enum FTDEVICETYPE{ - EMPTY_DEVICE = 0x00, - IR301_AND_BR301 = 0x01, - BR301BLE_AND_BR500 = 0x02, -} FTDEVICETYPE; - -@protocol ReaderInterfaceDelegate -@required - -/** - * Delegate to be called when our custom version of the 301 has been attached or detached (regardless of whether a card is inserted or not). - * This should only be called on a background thread (not the main thread). - * You should assume that an application implemenation of this delegate will call [ReaderInterface cardInterface] to obtian a card interface. - * @param attached is YES if the 301 has become attached to the phone or NO if the 301 has become detached from the phone. - */ -- (void) findPeripheralReader:(NSString *)readerName; - -- (void) readerInterfaceDidChange:(BOOL)attached bluetoothID:(NSString *)bluetoothID; - -- (void) cardInterfaceDidDetach:(BOOL)attached; - -- (void) didGetBattery:(NSInteger)battery; - -@end - - -/** - * ReaderInterface class represents the attached/detached state of the reader with the iOS device. - * It is envisioned that attach/detach notifications will be registered to be handled by internal methods of this class. - * Such internal methods are assumed to be declaring in the implementation file (hidden) rather than this header. - * It is also envisioned that I/O notifications (NSStreamEventHasBytesAvailable, etc.) will NOT be registered to be handled by methods of this class. - * Instead, such notificaitons would be registered during initialization of a CardInterface class to be handled by internal - * methods of the CardInterface class. - */ - -@interface ReaderInterface : NSObject -{ - -} - -/** - * Set an applicaiton defined delegate to receive notificaiton that our custom 301 reader has become attached/detached. - * The implementation of your notifiation logic must check to see if this delegate has been provided before attempting to call it. - * Our applicaiton layer might set this back to nil when notifications are no longer desired. - * @param delegate is the caller provided delegate. - */ -- (void) setDelegate:(id)delegate; - -/** - * Query if our custom version of the 301 is currently attached to the phone. - * @return YES if the 301 is attached to the phone. NO if the 301 is detached from the phone. - */ -- (BOOL) isReaderAttached; -/** - * Query if the card is currently attached to the 301. - * @return YES if the card is attached to the 301. NO if the card is detached from the 301. - */ -- (BOOL) isCardAttached; - -/** - *depend on the readerName to Connect Peripheral Readr - *timeout is a number need set by customer, the lib will try to connect reader, but if the reader already turn off or had long distance between iOS and reader, then after that time, will return connection failure - */ -- (BOOL)connectPeripheralReader:(NSString *)readerName timeout:(float)timeout; - -/** - *disConnect the current Peripheral Reader - */ -- (void)disConnectCurrentPeripheralReader; - -/** - *set auto pair YES or NOT,default is YES - */ -- (void)setAutoPair:(BOOL)autoPair; - -@end - -/** - * DeviceType class is used to set/get device type. - * Now it supports IR301 and BR301. It must be set one type before you use other function. - */ - -@interface FTDeviceType : NSObject - -/** - * Set an device type you will use. - * @param deviceType is the type you will use. Now it supports IR301 and BR301. - */ -+(void)setDeviceType:(FTDEVICETYPE) deviceType; - - - -/** - * Get the device type which you are using now. - * @return IR301 or BR301. - */ -+(FTDEVICETYPE)getDeviceType; - -@end diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ft301u.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ft301u.h deleted file mode 100644 index 8306e697..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ft301u.h +++ /dev/null @@ -1,308 +0,0 @@ -/** - * @file - * @This isfeitian's private cmd. - */ - -#ifndef __ft301u_h__ -#define __ft301u_h__ - - -#include "wintypes.h" -#include "winscard.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -//====================================================================================== -//=============================general function========================================= -//====================================================================================== - LONG SCARD_CTL_CODE(unsigned int code); - /* - Function: FtGetDevVer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - firmwareRevision OUT firmware Version - hardwareRevision OUT hardwareVersion - Description: - The function read the firmware and hardware Version. - - */ - LONG FtGetDevVer(SCARDCONTEXT hContext,char *firmwareRevision,char *hardwareRevision); - - - /* - Function: FtGetLibVersion - - Parameters: - buffer :buffer of libVersion - - Description: - Get the Current Lib Version - - */ - void FtGetLibVersion (char *buffer); - - - /* - Function: FtSetTimeout - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - dwTimeout IN New transmission timeout value of between 301 and card (millisecond ) - - Description: - The function New transmission timeout value of between 301 and card. - - */ - LONG FtSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout); - - - /* - Function: FtWriteFlash - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bOffset IN Offset of flash to write - blength IN The length of data - buffer IN The data for write - - Description: - This function userd to write data to flash. - - */ - LONG FtWriteFlash(SCARDCONTEXT hContext,unsigned int bOffset, unsigned char blength,unsigned char *buffer); - - - /* - Function: FtReadFlash - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bOffset IN Offset of flash to write - blength IN/OUT IN:The length of data want to read; - OUT:the real length of readed data; - buffer OUT The read data - - Description: - This function used to read data from flash. - - */ - LONG FtReadFlash(SCARDCONTEXT hContext,unsigned int bOffset, unsigned char* blength,unsigned char *buffer); - - /* - Function: FTGetBluetoothFWVer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bluetoothVersion OUT The version of bluetooth; - - Description: - This function used to get bluetooth version. - */ - LONG FTGetBluetoothFWVer(SCARDCONTEXT hContext,char *bluetoothVersion); - -//====================================================================================== -//=============================ir301 function=========================================== -//====================================================================================== - - /* - Function: FtGetSerialNum - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length IN length of buffer(>=8) - buffer OUT Serial number - - Description: - This function userd to get serial number of iR301. - - */ - LONG FtGetSerialNum(SCARDCONTEXT hContext, unsigned int *length, - char * buffer); - - - /* Function: FT_AutoTurnOffReader - - Parameters: - isOpen IN the switch is able to open/close the automatic shutdown function of reader. - - Description: - The function is able to open/close the automatic shutdown function of reader. - - */ - LONG FT_AutoTurnOffReader(bool isOpen); - - - //for dukpt - /* - Function: FtDukptInit - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - encBuf IN Ciphertext use TDES_ECB_PKCS7/AES_ECB_PKCS7 (See "Key C" ) - nLen IN encBuf length(40(TDES_ECB_PKCS7 ciphertext length) 48(AES_ECB_PKCS7 ciphertext length)) - - Description: - Init iR301 new ipek and ksn for dukpt. - - */ - LONG FtDukptInit(SCARDCONTEXT hContext,unsigned char *encBuf,unsigned int nLen); - - - /* - Function: FtDukptSetEncMod - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bEncrypt IN 1: SCardTransmit Encrypted - 0:SCardTransmit not Encrypted - - bEncFunc IN 0: Encryption functioon use TDES_ECB_PKCS7 - 1:Encryption functioon use AES_ECB_PKCS7 - - bEncType IN 1: SCardTransmit: Plaintext in Ciphertext out - 0: SCardTransmit: Ciphertext in Ciphertext out - - Description: - Set the encryption mode of iR301 for dukpt. - - */ - LONG FtDukptSetEncMod(SCARDCONTEXT hContext, - unsigned int bEncrypt, - unsigned int bEncFunc, - unsigned int bEncType); - - - /* - Function: FtDukptGetKSN - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - pnlength INOUT IN: The size of ksn buffer(>=10) - OUT: The real size(if successful has been 10) - buffer OUT Buffer of ksn - - Description: - Get Ksn from iR301 for dukpt. - - */ - LONG FtDukptGetKSN(SCARDCONTEXT hContext,unsigned int * pnlength,unsigned char *buffer); - - - /* - Function: FtDidEnterBackground - - Parameters: - bDidEnter IN must be set 1 - - Description: - Use this method to release monitor thread of reader status - - */ - void FtDidEnterBackground(unsigned int bDidEnter); - - /* - Function: FtGetCurrentReaderType - - Parameters: - readerType :type of reader - - - Description: - Get current Reader Type - - */ - LONG FtGetCurrentReaderType(unsigned int *readerType); - -//====================================================================================== -//=============================br301 function=========================================== -//====================================================================================== - - /* - Function: FtGenerateDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - seedLength IN length of Seed Number(>=1 <=48) - seedBuffer OUT Seed Number - - Description: - This function used to Generate Device UID - */ - LONG FtGenerateDeviceUID(SCARDCONTEXT hContext,unsigned int seedLength ,unsigned char *seedBuffer); - - - /* - Function: FtGetDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - uidLength IN length of buffer(>=8) - uidBuffer OUT Device UID - - Description: - This function used to get UID of bR500. - */ - LONG FtGetDeviceUID(SCARDCONTEXT hContext,unsigned int *uidLength, char *uidBuffer); - - /* - Function: FtEraseDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - seedLength IN length of Seed Number(>=1 <=48) - seedBuffer OUT Seed Number - - Description: - This function used to Erase Device UID - */ - LONG FtEraseDeviceUID(SCARDCONTEXT hContext,unsigned int seedLength ,unsigned char *seedBuffer); - - /* - Function: FtGetAccessoryManufacturer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory manufacturer - buffer OUT accessory manufacturer - - Description: - This function used to get accessory manufacturer - */ - LONG FtGetAccessoryManufacturer(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - - /* - Function: FtGetAccessoryModelName - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory mode name - buffer OUT accessory mode name - - Description: - This function used to get accessory manufacturer - */ - LONG FtGetAccessoryModelName(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - - /* - Function: FtGetReaderName - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory mode name - buffer OUT reader name - - Description: - This function used to get reader name - */ - LONG FtGetReaderName(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/winscard.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/winscard.h deleted file mode 100644 index 5c87cbdf..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/winscard.h +++ /dev/null @@ -1,133 +0,0 @@ - - -#ifndef __winscard_h__ -#define __winscard_h__ - - -#include "wintypes.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -#ifndef PCSC_API -#define PCSC_API -#endif - -#define MAX_ATR_SIZE 33 - -typedef LONG SCARDCONTEXT; /**< \p hContext returned by SCardEstablishContext() */ -typedef SCARDCONTEXT *PSCARDCONTEXT; -typedef SCARDCONTEXT *LPSCARDCONTEXT; -typedef LONG SCARDHANDLE; /**< \p hCard returned by SCardConnect() */ -typedef SCARDHANDLE *PSCARDHANDLE; -typedef SCARDHANDLE *LPSCARDHANDLE; - - -typedef struct -{ - const char *szReader; - const char *pvUserData; - DWORD dwCurrentState; - DWORD dwEventState; - DWORD cbAtr; - DWORD isConnected; - unsigned char rgbAtr[MAX_ATR_SIZE]; -} -SCARD_READERSTATE, *LPSCARD_READERSTATE; -/** Protocol Control Information (PCI) */ -typedef struct _SCARD_IO_REQUEST -{ - uint32_t dwProtocol; /**< Protocol identifier */ - uint32_t cbPciLength; /**< Protocol Control Inf Length */ -} -SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; - -typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; - -extern SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, -g_rgSCardRawPci; - -PCSC_API LONG SCardEstablishContext(DWORD dwScope, - /*@null@*/ LPCVOID pvReserved1, - /*@null@*/ LPCVOID pvReserved2, - /*@out@*/ LPSCARDCONTEXT phContext); - -PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext); - -PCSC_API LONG SCardIsValidContext(SCARDCONTEXT hContext); - -PCSC_API LONG SCardConnect(SCARDCONTEXT hContext, - LPCSTR szReader, - DWORD dwShareMode, - DWORD dwPreferredProtocols, - /*@out@*/ LPSCARDHANDLE phCard, - /*@out@*/ LPDWORD pdwActiveProtocol); - -PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition); - -PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard); - -PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition); - -PCSC_API LONG SCardStatus(SCARDHANDLE hCard, - /*@null@*/ /*@out@*/ LPSTR mszReaderName, - /*@null@*/ /*@out@*/ LPDWORD pcchReaderLen, - /*@null@*/ /*@out@*/ LPDWORD pdwState, - /*@null@*/ /*@out@*/ LPDWORD pdwProtocol, - /*@null@*/ /*@out@*/ LPBYTE pbAtr, - /*@null@*/ /*@out@*/ LPDWORD pcbAtrLen); - -PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext, - DWORD dwTimeout, - LPSCARD_READERSTATE rgReaderStates, - DWORD cReaders); - -PCSC_API LONG SCardControl(SCARDHANDLE hCard, - DWORD dwControlCode, - LPCVOID pbSendBuffer, - DWORD cbSendLength, - /*@out@*/ LPVOID pbRecvBuffer, - DWORD cbRecvLength, - LPDWORD lpBytesReturned); - -PCSC_API LONG SCardTransmit(SCARDHANDLE hCard, - const SCARD_IO_REQUEST *pioSendPci, - LPCBYTE pbSendBuffer, - DWORD cbSendLength, - /*@out@*/ SCARD_IO_REQUEST *pioRecvPci, - /*@out@*/ LPBYTE pbRecvBuffer, - LPDWORD pcbRecvLength); - -PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext, - /*@out@*/ LPSTR mszGroups, - LPDWORD pcchGroups); - -PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext, - /*@null@*/ /*@out@*/ LPCSTR mszGroups, - /*@null@*/ /*@out@*/ LPSTR mszReaders, - /*@out@*/ LPDWORD pcchReaders); - - - -PCSC_API LONG SCardCancel(SCARDCONTEXT hContext); - -PCSC_API LONG SCardReconnect(SCARDHANDLE hCard, - DWORD dwShareMode, - DWORD dwPreferredProtocols, - DWORD dwInitialization, - LPDWORD pdwActiveProtocol); - -PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, - DWORD dwAttrId, - /*@out@*/ LPBYTE pbAttr, - LPDWORD pcbAttrLen); - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/wintypes.h b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/wintypes.h deleted file mode 100644 index 1efb6df7..00000000 --- a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/wintypes.h +++ /dev/null @@ -1,224 +0,0 @@ - -#ifndef __wintypes_h__ -#define __wintypes_h__ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#ifdef __APPLE__ - -#include - -#ifndef BYTE - typedef uint8_t BYTE; -#endif - typedef uint8_t UCHAR; - typedef uint8_t *PUCHAR; - typedef uint16_t USHORT; - -#ifndef __COREFOUNDATION_CFPLUGINCOM__ - typedef uint32_t ULONG; - typedef void *LPVOID; -//haozi err? typedef int16_t BOOL; -#endif - - typedef uint32_t *PULONG; - typedef const void *LPCVOID; - typedef uint32_t DWORD; - typedef uint32_t *PDWORD; - typedef uint16_t WORD; - typedef int32_t LONG; - typedef const char *LPCSTR; - typedef const BYTE *LPCBYTE; - typedef BYTE *LPBYTE; - typedef DWORD *LPDWORD; - typedef char *LPSTR; - -#else - -#ifndef BYTE - typedef unsigned char BYTE; -#endif - typedef unsigned char UCHAR; - typedef unsigned char *PUCHAR; - typedef unsigned short USHORT; - -#ifndef __COREFOUNDATION_CFPLUGINCOM__ - typedef unsigned long ULONG; - typedef void *LPVOID; -#endif - - typedef const void *LPCVOID; - typedef unsigned long DWORD; - typedef unsigned long *PDWORD; - typedef long LONG; - typedef const char *LPCSTR; - typedef const BYTE *LPCBYTE; - typedef BYTE *LPBYTE; - typedef DWORD *LPDWORD; - typedef char *LPSTR; - - /* these types were deprecated but still used by old drivers and - * applications. So just declare and use them. */ - typedef LPSTR LPTSTR; - typedef LPCSTR LPCTSTR; - - /* types unused by pcsc-lite */ - typedef short BOOL; - typedef unsigned short WORD; - typedef unsigned long *PULONG; - -#endif - - - ///////////////////////////////////////// - - -#define SCARD_PCI_T0 (&g_rgSCardT0Pci) /**< protocol control information (PCI) for T=0 */ -#define SCARD_PCI_T1 (&g_rgSCardT1Pci) /**< protocol control information (PCI) for T=1 */ -#define SCARD_PCI_RAW (&g_rgSCardRawPci) /**< protocol control information (PCI) for RAW protocol */ - - /** error codes from http://msdn.microsoft.com/en-us/library/aa924526.aspx - */ -#define SCARD_S_SUCCESS ((LONG)0x00000000) /**< No error was encountered. */ -#define SCARD_F_INTERNAL_ERROR ((LONG)0x80100001) /**< An internal consistency check failed. */ -#define SCARD_E_CANCELLED ((LONG)0x80100002) /**< The action was cancelled by an SCardCancel request. */ -#define SCARD_E_INVALID_HANDLE ((LONG)0x80100003) /**< The supplied handle was invalid. */ -#define SCARD_E_INVALID_PARAMETER ((LONG)0x80100004) /**< One or more of the supplied parameters could not be properly interpreted. */ -#define SCARD_E_INVALID_TARGET ((LONG)0x80100005) /**< Registry startup information is missing or invalid. */ -#define SCARD_E_NO_MEMORY ((LONG)0x80100006) /**< Not enough memory available to complete this command. */ -#define SCARD_F_WAITED_TOO_LONG ((LONG)0x80100007) /**< An internal consistency timer has expired. */ -#define SCARD_E_INSUFFICIENT_BUFFER ((LONG)0x80100008) /**< The data buffer to receive returned data is too small for the returned data. */ -#define SCARD_E_UNKNOWN_READER ((LONG)0x80100009) /**< The specified reader name is not recognized. */ -#define SCARD_E_TIMEOUT ((LONG)0x8010000A) /**< The user-specified timeout value has expired. */ -#define SCARD_E_SHARING_VIOLATION ((LONG)0x8010000B) /**< The smart card cannot be accessed because of other connections outstanding. */ -#define SCARD_E_NO_SMARTCARD ((LONG)0x8010000C) /**< The operation requires a Smart Card, but no Smart Card is currently in the device. */ -#define SCARD_E_UNKNOWN_CARD ((LONG)0x8010000D) /**< The specified smart card name is not recognized. */ -#define SCARD_E_CANT_DISPOSE ((LONG)0x8010000E) /**< The system could not dispose of the media in the requested manner. */ -#define SCARD_E_PROTO_MISMATCH ((LONG)0x8010000F) /**< The requested protocols are incompatible with the protocol currently in use with the smart card. */ -#define SCARD_E_NOT_READY ((LONG)0x80100010) /**< The reader or smart card is not ready to accept commands. */ -#define SCARD_E_INVALID_VALUE ((LONG)0x80100011) /**< One or more of the supplied parameters values could not be properly interpreted. */ -#define SCARD_E_SYSTEM_CANCELLED ((LONG)0x80100012) /**< The action was cancelled by the system, presumably to log off or shut down. */ -#define SCARD_F_COMM_ERROR ((LONG)0x80100013) /**< An internal communications error has been detected. */ -#define SCARD_F_UNKNOWN_ERROR ((LONG)0x80100014) /**< An internal error has been detected, but the source is unknown. */ -#define SCARD_E_INVALID_ATR ((LONG)0x80100015) /**< An ATR obtained from the registry is not a valid ATR string. */ -#define SCARD_E_NOT_TRANSACTED ((LONG)0x80100016) /**< An attempt was made to end a non-existent transaction. */ -#define SCARD_E_READER_UNAVAILABLE ((LONG)0x80100017) /**< The specified reader is not currently available for use. */ -#define SCARD_P_SHUTDOWN ((LONG)0x80100018) /**< The operation has been aborted to allow the server application to exit. */ -#define SCARD_E_PCI_TOO_SMALL ((LONG)0x80100019) /**< The PCI Receive buffer was too small. */ -#define SCARD_E_READER_UNSUPPORTED ((LONG)0x8010001A) /**< The reader driver does not meet minimal requirements for support. */ -#define SCARD_E_DUPLICATE_READER ((LONG)0x8010001B) /**< The reader driver did not produce a unique reader name. */ -#define SCARD_E_CARD_UNSUPPORTED ((LONG)0x8010001C) /**< The smart card does not meet minimal requirements for support. */ -#define SCARD_E_NO_SERVICE ((LONG)0x8010001D) /**< The Smart card resource manager is not running. */ -#define SCARD_E_SERVICE_STOPPED ((LONG)0x8010001E) /**< The Smart card resource manager has shut down. */ -#define SCARD_E_UNEXPECTED ((LONG)0x8010001F) /**< An unexpected card error has occurred. */ -#define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x8010001F) /**< This smart card does not support the requested feature. */ -#define SCARD_E_ICC_INSTALLATION ((LONG)0x80100020) /**< No primary provider can be found for the smart card. */ -#define SCARD_E_ICC_CREATEORDER ((LONG)0x80100021) /**< The requested order of object creation is not supported. */ - /* #define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x80100022) / **< This smart card does not support the requested feature. */ -#define SCARD_E_DIR_NOT_FOUND ((LONG)0x80100023) /**< The identified directory does not exist in the smart card. */ -#define SCARD_E_FILE_NOT_FOUND ((LONG)0x80100024) /**< The identified file does not exist in the smart card. */ -#define SCARD_E_NO_DIR ((LONG)0x80100025) /**< The supplied path does not represent a smart card directory. */ -#define SCARD_E_NO_FILE ((LONG)0x80100026) /**< The supplied path does not represent a smart card file. */ -#define SCARD_E_NO_ACCESS ((LONG)0x80100027) /**< Access is denied to this file. */ -#define SCARD_E_WRITE_TOO_MANY ((LONG)0x80100028) /**< The smart card does not have enough memory to store the information. */ -#define SCARD_E_BAD_SEEK ((LONG)0x80100029) /**< There was an error trying to set the smart card file object pointer. */ -#define SCARD_E_INVALID_CHV ((LONG)0x8010002A) /**< The supplied PIN is incorrect. */ -#define SCARD_E_UNKNOWN_RES_MNG ((LONG)0x8010002B) /**< An unrecognized error code was returned from a layered component. */ -#define SCARD_E_NO_SUCH_CERTIFICATE ((LONG)0x8010002C) /**< The requested certificate does not exist. */ -#define SCARD_E_CERTIFICATE_UNAVAILABLE ((LONG)0x8010002D) /**< The requested certificate could not be obtained. */ -#define SCARD_E_NO_READERS_AVAILABLE ((LONG)0x8010002E) /**< Cannot find a smart card reader. */ -#define SCARD_E_COMM_DATA_LOST ((LONG)0x8010002F) /**< A communications error with the smart card has been detected. Retry the operation. */ -#define SCARD_E_NO_KEY_CONTAINER ((LONG)0x80100030) /**< The requested key container does not exist on the smart card. */ -#define SCARD_E_SERVER_TOO_BUSY ((LONG)0x80100031) /**< The Smart Card Resource Manager is too busy to complete this operation. */ - -#define SCARD_W_UNSUPPORTED_CARD ((LONG)0x80100065) /**< The reader cannot communicate with the card, due to ATR string configuration conflicts. */ -#define SCARD_W_UNRESPONSIVE_CARD ((LONG)0x80100066) /**< The smart card is not responding to a reset. */ -#define SCARD_W_UNPOWERED_CARD ((LONG)0x80100067) /**< Power has been removed from the smart card, so that further communication is not possible. */ -#define SCARD_W_RESET_CARD ((LONG)0x80100068) /**< The smart card has been reset, so any shared state information is invalid. */ -#define SCARD_W_REMOVED_CARD ((LONG)0x80100069) /**< The smart card has been removed, so further communication is not possible. */ - -#define SCARD_W_SECURITY_VIOLATION ((LONG)0x8010006A) /**< Access was denied because of a security violation. */ -#define SCARD_W_WRONG_CHV ((LONG)0x8010006B) /**< The card cannot be accessed because the wrong PIN was presented. */ -#define SCARD_W_CHV_BLOCKED ((LONG)0x8010006C) /**< The card cannot be accessed because the maximum number of PIN entry attempts has been reached. */ -#define SCARD_W_EOF ((LONG)0x8010006D) /**< The end of the smart card file has been reached. */ -#define SCARD_W_CANCELLED_BY_USER ((LONG)0x8010006E) /**< The user pressed "Cancel" on a Smart Card Selection Dialog. */ -#define SCARD_W_CARD_NOT_AUTHENTICATED ((LONG)0x8010006F) /**< No PIN was presented to the smart card. */ - -#define SCARD_AUTOALLOCATE (DWORD)(-1) /**< see SCardFreeMemory() */ -#define SCARD_SCOPE_USER 0x0000 /**< Scope in user space */ -#define SCARD_SCOPE_TERMINAL 0x0001 /**< Scope in terminal */ -#define SCARD_SCOPE_SYSTEM 0x0002 /**< Scope in system */ - - -#define SCARD_PROTOCOL_UNDEFINED 0x0000 /**< protocol not set */ -#define SCARD_PROTOCOL_UNSET SCARD_PROTOCOL_UNDEFINED /* backward compat */ -#define SCARD_PROTOCOL_T0 0x0001 /**< T=0 active protocol. */ -#define SCARD_PROTOCOL_T1 0x0002 /**< T=1 active protocol. */ -#define SCARD_PROTOCOL_RAW 0x0004 /**< Raw active protocol. */ -#define SCARD_PROTOCOL_T15 0x0008 /**< T=15 protocol. */ - -#define SCARD_PROTOCOL_ANY (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1) /**< IFD determines prot. */ - -#define SCARD_SHARE_EXCLUSIVE 0x0001 /**< Exclusive mode only */ -#define SCARD_SHARE_SHARED 0x0002 /**< Shared mode only */ -#define SCARD_SHARE_DIRECT 0x0003 /**< Raw mode only */ - -#define SCARD_LEAVE_CARD 0x0000 /**< Do nothing on close */ -#define SCARD_RESET_CARD 0x0001 /**< Reset on close */ -#define SCARD_UNPOWER_CARD 0x0002 /**< Power down on close */ -#define SCARD_EJECT_CARD 0x0003 /**< Eject on close */ - -#define SCARD_UNKNOWN 0x0001 /**< Unknown state */ -#define SCARD_ABSENT 0x0002 /**< Card is absent */ -#define SCARD_PRESENT 0x0004 /**< Card is present */ -#define SCARD_SWALLOWED 0x0008 /**< Card not powered */ -#define SCARD_POWERED 0x0010 /**< Card is powered */ -#define SCARD_NEGOTIABLE 0x0020 /**< Ready for PTS */ -#define SCARD_SPECIFIC 0x0040 /**< PTS has been set */ - -#define SCARD_STATE_UNAWARE 0x0000 /**< App wants status */ -#define SCARD_STATE_IGNORE 0x0001 /**< Ignore this reader */ -#define SCARD_STATE_CHANGED 0x0002 /**< State has changed */ -#define SCARD_STATE_UNKNOWN 0x0004 /**< Reader unknown */ -#define SCARD_STATE_UNAVAILABLE 0x0008 /**< Status unavailable */ -#define SCARD_STATE_EMPTY 0x0010 /**< Card removed */ -#define SCARD_STATE_PRESENT 0x0020 /**< Card inserted */ -#define SCARD_STATE_ATRMATCH 0x0040 /**< ATR matches card */ -#define SCARD_STATE_EXCLUSIVE 0x0080 /**< Exclusive Mode */ -#define SCARD_STATE_INUSE 0x0100 /**< Shared Mode */ -#define SCARD_STATE_MUTE 0x0200 /**< Unresponsive card */ -#define SCARD_STATE_UNPOWERED 0x0400 /**< Unpowered card */ - - -#define MAXIMUM_SMARTCARD_READERS 10 -#ifndef INFINITE -#define INFINITE 0xFFFFFFFF /**< Infinite timeout */ -#endif - -#define PCSCLITE_VERSION_NUMBER "1.7.4" /**< Current version */ - /** Maximum readers context (a slot is count as a reader) */ -#define PCSCLITE_MAX_READERS_CONTEXTS 16 -#define PCSCLITE_STATUS_WAIT 10000 -#define MAX_READERNAME 100 - -#ifndef SCARD_ATR_LENGTH -#define SCARD_ATR_LENGTH MAX_ATR_SIZE /**< Maximum ATR size */ -#endif - - /* - * The message and buffer sizes must be multiples of 16. - * The max message size must be at least large enough - * to accomodate the transmit_struct - */ -#define MAX_BUFFER_SIZE 264 /**< Maximum Tx/Rx Buffer for short APDU */ -#define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3) /**< enhanced (64K + APDU + Lc + Le) Tx/Rx Buffer */ - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/libiRockey301_ccid-iphonesimulator.a b/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/libiRockey301_ccid-iphonesimulator.a deleted file mode 100644 index c88be94c..00000000 Binary files a/Modules/IdCardLib/Sources/bR301/bR301.xcframework/ios-arm64_arm64e_x86_64-simulator/libiRockey301_ccid-iphonesimulator.a and /dev/null differ diff --git a/Modules/IdCardLib/Sources/bR301/include/ReaderInterface.h b/Modules/IdCardLib/Sources/bR301/include/ReaderInterface.h deleted file mode 100644 index fb67fea5..00000000 --- a/Modules/IdCardLib/Sources/bR301/include/ReaderInterface.h +++ /dev/null @@ -1,114 +0,0 @@ -#import -#import "ft301u.h" -/** - * Delegate which is used to notify the appliation layer when the reader is attached/detached.. - */ -typedef enum FTREADERTYPE{ - READER_UNKOWN = 0, - READER_iR301U_DOCK, - READER_iR301U_LIGHTING, - READER_bR301, //bR301 B55 - READER_bR301B, //bR301 C63 - READER_bR301BLE, - READER_bR500 -} FTREADERTYPE; - -typedef enum FTDEVICETYPE{ - EMPTY_DEVICE = 0x00, - IR301_AND_BR301 = 0x01, - BR301BLE_AND_BR500 = 0x02, -} FTDEVICETYPE; - -@protocol ReaderInterfaceDelegate -@required - -/** - * Delegate to be called when our custom version of the 301 has been attached or detached (regardless of whether a card is inserted or not). - * This should only be called on a background thread (not the main thread). - * You should assume that an application implemenation of this delegate will call [ReaderInterface cardInterface] to obtian a card interface. - * @param attached is YES if the 301 has become attached to the phone or NO if the 301 has become detached from the phone. - */ -- (void) findPeripheralReader:(NSString *)readerName; - -- (void) readerInterfaceDidChange:(BOOL)attached bluetoothID:(NSString *)bluetoothID; - -- (void) cardInterfaceDidDetach:(BOOL)attached; - -- (void) didGetBattery:(NSInteger)battery; - -@end - - -/** - * ReaderInterface class represents the attached/detached state of the reader with the iOS device. - * It is envisioned that attach/detach notifications will be registered to be handled by internal methods of this class. - * Such internal methods are assumed to be declaring in the implementation file (hidden) rather than this header. - * It is also envisioned that I/O notifications (NSStreamEventHasBytesAvailable, etc.) will NOT be registered to be handled by methods of this class. - * Instead, such notificaitons would be registered during initialization of a CardInterface class to be handled by internal - * methods of the CardInterface class. - */ - -@interface ReaderInterface : NSObject -{ - -} - -/** - * Set an applicaiton defined delegate to receive notificaiton that our custom 301 reader has become attached/detached. - * The implementation of your notifiation logic must check to see if this delegate has been provided before attempting to call it. - * Our applicaiton layer might set this back to nil when notifications are no longer desired. - * @param delegate is the caller provided delegate. - */ -- (void) setDelegate:(id)delegate; - -/** - * Query if our custom version of the 301 is currently attached to the phone. - * @return YES if the 301 is attached to the phone. NO if the 301 is detached from the phone. - */ -- (BOOL) isReaderAttached; -/** - * Query if the card is currently attached to the 301. - * @return YES if the card is attached to the 301. NO if the card is detached from the 301. - */ -- (BOOL) isCardAttached; - -/** - *depend on the readerName to Connect Peripheral Readr - *timeout is a number need set by customer, the lib will try to connect reader, but if the reader already turn off or had long distance between iOS and reader, then after that time, will return connection failure - */ -- (BOOL)connectPeripheralReader:(NSString *)readerName timeout:(float)timeout; - -/** - *disConnect the current Peripheral Reader - */ -- (void)disConnectCurrentPeripheralReader; - -/** - *set auto pair YES or NOT,default is YES - */ -- (void)setAutoPair:(BOOL)autoPair; - -@end - -/** - * DeviceType class is used to set/get device type. - * Now it supports IR301 and BR301. It must be set one type before you use other function. - */ - -@interface FTDeviceType : NSObject - -/** - * Set an device type you will use. - * @param deviceType is the type you will use. Now it supports IR301 and BR301. - */ -+(void)setDeviceType:(FTDEVICETYPE) deviceType; - - - -/** - * Get the device type which you are using now. - * @return IR301 or BR301. - */ -+(FTDEVICETYPE)getDeviceType; - -@end diff --git a/Modules/IdCardLib/Sources/bR301/include/ft301u.h b/Modules/IdCardLib/Sources/bR301/include/ft301u.h deleted file mode 100644 index 8306e697..00000000 --- a/Modules/IdCardLib/Sources/bR301/include/ft301u.h +++ /dev/null @@ -1,308 +0,0 @@ -/** - * @file - * @This isfeitian's private cmd. - */ - -#ifndef __ft301u_h__ -#define __ft301u_h__ - - -#include "wintypes.h" -#include "winscard.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -//====================================================================================== -//=============================general function========================================= -//====================================================================================== - LONG SCARD_CTL_CODE(unsigned int code); - /* - Function: FtGetDevVer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - firmwareRevision OUT firmware Version - hardwareRevision OUT hardwareVersion - Description: - The function read the firmware and hardware Version. - - */ - LONG FtGetDevVer(SCARDCONTEXT hContext,char *firmwareRevision,char *hardwareRevision); - - - /* - Function: FtGetLibVersion - - Parameters: - buffer :buffer of libVersion - - Description: - Get the Current Lib Version - - */ - void FtGetLibVersion (char *buffer); - - - /* - Function: FtSetTimeout - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - dwTimeout IN New transmission timeout value of between 301 and card (millisecond ) - - Description: - The function New transmission timeout value of between 301 and card. - - */ - LONG FtSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout); - - - /* - Function: FtWriteFlash - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bOffset IN Offset of flash to write - blength IN The length of data - buffer IN The data for write - - Description: - This function userd to write data to flash. - - */ - LONG FtWriteFlash(SCARDCONTEXT hContext,unsigned int bOffset, unsigned char blength,unsigned char *buffer); - - - /* - Function: FtReadFlash - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bOffset IN Offset of flash to write - blength IN/OUT IN:The length of data want to read; - OUT:the real length of readed data; - buffer OUT The read data - - Description: - This function used to read data from flash. - - */ - LONG FtReadFlash(SCARDCONTEXT hContext,unsigned int bOffset, unsigned char* blength,unsigned char *buffer); - - /* - Function: FTGetBluetoothFWVer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bluetoothVersion OUT The version of bluetooth; - - Description: - This function used to get bluetooth version. - */ - LONG FTGetBluetoothFWVer(SCARDCONTEXT hContext,char *bluetoothVersion); - -//====================================================================================== -//=============================ir301 function=========================================== -//====================================================================================== - - /* - Function: FtGetSerialNum - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length IN length of buffer(>=8) - buffer OUT Serial number - - Description: - This function userd to get serial number of iR301. - - */ - LONG FtGetSerialNum(SCARDCONTEXT hContext, unsigned int *length, - char * buffer); - - - /* Function: FT_AutoTurnOffReader - - Parameters: - isOpen IN the switch is able to open/close the automatic shutdown function of reader. - - Description: - The function is able to open/close the automatic shutdown function of reader. - - */ - LONG FT_AutoTurnOffReader(bool isOpen); - - - //for dukpt - /* - Function: FtDukptInit - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - encBuf IN Ciphertext use TDES_ECB_PKCS7/AES_ECB_PKCS7 (See "Key C" ) - nLen IN encBuf length(40(TDES_ECB_PKCS7 ciphertext length) 48(AES_ECB_PKCS7 ciphertext length)) - - Description: - Init iR301 new ipek and ksn for dukpt. - - */ - LONG FtDukptInit(SCARDCONTEXT hContext,unsigned char *encBuf,unsigned int nLen); - - - /* - Function: FtDukptSetEncMod - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - bEncrypt IN 1: SCardTransmit Encrypted - 0:SCardTransmit not Encrypted - - bEncFunc IN 0: Encryption functioon use TDES_ECB_PKCS7 - 1:Encryption functioon use AES_ECB_PKCS7 - - bEncType IN 1: SCardTransmit: Plaintext in Ciphertext out - 0: SCardTransmit: Ciphertext in Ciphertext out - - Description: - Set the encryption mode of iR301 for dukpt. - - */ - LONG FtDukptSetEncMod(SCARDCONTEXT hContext, - unsigned int bEncrypt, - unsigned int bEncFunc, - unsigned int bEncType); - - - /* - Function: FtDukptGetKSN - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - pnlength INOUT IN: The size of ksn buffer(>=10) - OUT: The real size(if successful has been 10) - buffer OUT Buffer of ksn - - Description: - Get Ksn from iR301 for dukpt. - - */ - LONG FtDukptGetKSN(SCARDCONTEXT hContext,unsigned int * pnlength,unsigned char *buffer); - - - /* - Function: FtDidEnterBackground - - Parameters: - bDidEnter IN must be set 1 - - Description: - Use this method to release monitor thread of reader status - - */ - void FtDidEnterBackground(unsigned int bDidEnter); - - /* - Function: FtGetCurrentReaderType - - Parameters: - readerType :type of reader - - - Description: - Get current Reader Type - - */ - LONG FtGetCurrentReaderType(unsigned int *readerType); - -//====================================================================================== -//=============================br301 function=========================================== -//====================================================================================== - - /* - Function: FtGenerateDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - seedLength IN length of Seed Number(>=1 <=48) - seedBuffer OUT Seed Number - - Description: - This function used to Generate Device UID - */ - LONG FtGenerateDeviceUID(SCARDCONTEXT hContext,unsigned int seedLength ,unsigned char *seedBuffer); - - - /* - Function: FtGetDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - uidLength IN length of buffer(>=8) - uidBuffer OUT Device UID - - Description: - This function used to get UID of bR500. - */ - LONG FtGetDeviceUID(SCARDCONTEXT hContext,unsigned int *uidLength, char *uidBuffer); - - /* - Function: FtEraseDeviceUID - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - seedLength IN length of Seed Number(>=1 <=48) - seedBuffer OUT Seed Number - - Description: - This function used to Erase Device UID - */ - LONG FtEraseDeviceUID(SCARDCONTEXT hContext,unsigned int seedLength ,unsigned char *seedBuffer); - - /* - Function: FtGetAccessoryManufacturer - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory manufacturer - buffer OUT accessory manufacturer - - Description: - This function used to get accessory manufacturer - */ - LONG FtGetAccessoryManufacturer(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - - /* - Function: FtGetAccessoryModelName - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory mode name - buffer OUT accessory mode name - - Description: - This function used to get accessory manufacturer - */ - LONG FtGetAccessoryModelName(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - - /* - Function: FtGetReaderName - - Parameters: - hContext IN Connection context to the PC/SC Resource Manager - length OUT length of accessory mode name - buffer OUT reader name - - Description: - This function used to get reader name - */ - LONG FtGetReaderName(SCARDCONTEXT hContext, unsigned int * length,char * buffer); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Modules/IdCardLib/Sources/bR301/include/module.modulemap b/Modules/IdCardLib/Sources/bR301/include/module.modulemap deleted file mode 100644 index d3f59b05..00000000 --- a/Modules/IdCardLib/Sources/bR301/include/module.modulemap +++ /dev/null @@ -1,4 +0,0 @@ -module iR301 [system] { - private header "ReaderInterface.h" - export * -} diff --git a/Modules/IdCardLib/Sources/bR301/include/winscard.h b/Modules/IdCardLib/Sources/bR301/include/winscard.h deleted file mode 100644 index 5c87cbdf..00000000 --- a/Modules/IdCardLib/Sources/bR301/include/winscard.h +++ /dev/null @@ -1,133 +0,0 @@ - - -#ifndef __winscard_h__ -#define __winscard_h__ - - -#include "wintypes.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -#ifndef PCSC_API -#define PCSC_API -#endif - -#define MAX_ATR_SIZE 33 - -typedef LONG SCARDCONTEXT; /**< \p hContext returned by SCardEstablishContext() */ -typedef SCARDCONTEXT *PSCARDCONTEXT; -typedef SCARDCONTEXT *LPSCARDCONTEXT; -typedef LONG SCARDHANDLE; /**< \p hCard returned by SCardConnect() */ -typedef SCARDHANDLE *PSCARDHANDLE; -typedef SCARDHANDLE *LPSCARDHANDLE; - - -typedef struct -{ - const char *szReader; - const char *pvUserData; - DWORD dwCurrentState; - DWORD dwEventState; - DWORD cbAtr; - DWORD isConnected; - unsigned char rgbAtr[MAX_ATR_SIZE]; -} -SCARD_READERSTATE, *LPSCARD_READERSTATE; -/** Protocol Control Information (PCI) */ -typedef struct _SCARD_IO_REQUEST -{ - uint32_t dwProtocol; /**< Protocol identifier */ - uint32_t cbPciLength; /**< Protocol Control Inf Length */ -} -SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; - -typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; - -extern SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, -g_rgSCardRawPci; - -PCSC_API LONG SCardEstablishContext(DWORD dwScope, - /*@null@*/ LPCVOID pvReserved1, - /*@null@*/ LPCVOID pvReserved2, - /*@out@*/ LPSCARDCONTEXT phContext); - -PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext); - -PCSC_API LONG SCardIsValidContext(SCARDCONTEXT hContext); - -PCSC_API LONG SCardConnect(SCARDCONTEXT hContext, - LPCSTR szReader, - DWORD dwShareMode, - DWORD dwPreferredProtocols, - /*@out@*/ LPSCARDHANDLE phCard, - /*@out@*/ LPDWORD pdwActiveProtocol); - -PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition); - -PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard); - -PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition); - -PCSC_API LONG SCardStatus(SCARDHANDLE hCard, - /*@null@*/ /*@out@*/ LPSTR mszReaderName, - /*@null@*/ /*@out@*/ LPDWORD pcchReaderLen, - /*@null@*/ /*@out@*/ LPDWORD pdwState, - /*@null@*/ /*@out@*/ LPDWORD pdwProtocol, - /*@null@*/ /*@out@*/ LPBYTE pbAtr, - /*@null@*/ /*@out@*/ LPDWORD pcbAtrLen); - -PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext, - DWORD dwTimeout, - LPSCARD_READERSTATE rgReaderStates, - DWORD cReaders); - -PCSC_API LONG SCardControl(SCARDHANDLE hCard, - DWORD dwControlCode, - LPCVOID pbSendBuffer, - DWORD cbSendLength, - /*@out@*/ LPVOID pbRecvBuffer, - DWORD cbRecvLength, - LPDWORD lpBytesReturned); - -PCSC_API LONG SCardTransmit(SCARDHANDLE hCard, - const SCARD_IO_REQUEST *pioSendPci, - LPCBYTE pbSendBuffer, - DWORD cbSendLength, - /*@out@*/ SCARD_IO_REQUEST *pioRecvPci, - /*@out@*/ LPBYTE pbRecvBuffer, - LPDWORD pcbRecvLength); - -PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext, - /*@out@*/ LPSTR mszGroups, - LPDWORD pcchGroups); - -PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext, - /*@null@*/ /*@out@*/ LPCSTR mszGroups, - /*@null@*/ /*@out@*/ LPSTR mszReaders, - /*@out@*/ LPDWORD pcchReaders); - - - -PCSC_API LONG SCardCancel(SCARDCONTEXT hContext); - -PCSC_API LONG SCardReconnect(SCARDHANDLE hCard, - DWORD dwShareMode, - DWORD dwPreferredProtocols, - DWORD dwInitialization, - LPDWORD pdwActiveProtocol); - -PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, - DWORD dwAttrId, - /*@out@*/ LPBYTE pbAttr, - LPDWORD pcbAttrLen); - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Modules/IdCardLib/Sources/bR301/include/wintypes.h b/Modules/IdCardLib/Sources/bR301/include/wintypes.h deleted file mode 100644 index 1efb6df7..00000000 --- a/Modules/IdCardLib/Sources/bR301/include/wintypes.h +++ /dev/null @@ -1,224 +0,0 @@ - -#ifndef __wintypes_h__ -#define __wintypes_h__ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#ifdef __APPLE__ - -#include - -#ifndef BYTE - typedef uint8_t BYTE; -#endif - typedef uint8_t UCHAR; - typedef uint8_t *PUCHAR; - typedef uint16_t USHORT; - -#ifndef __COREFOUNDATION_CFPLUGINCOM__ - typedef uint32_t ULONG; - typedef void *LPVOID; -//haozi err? typedef int16_t BOOL; -#endif - - typedef uint32_t *PULONG; - typedef const void *LPCVOID; - typedef uint32_t DWORD; - typedef uint32_t *PDWORD; - typedef uint16_t WORD; - typedef int32_t LONG; - typedef const char *LPCSTR; - typedef const BYTE *LPCBYTE; - typedef BYTE *LPBYTE; - typedef DWORD *LPDWORD; - typedef char *LPSTR; - -#else - -#ifndef BYTE - typedef unsigned char BYTE; -#endif - typedef unsigned char UCHAR; - typedef unsigned char *PUCHAR; - typedef unsigned short USHORT; - -#ifndef __COREFOUNDATION_CFPLUGINCOM__ - typedef unsigned long ULONG; - typedef void *LPVOID; -#endif - - typedef const void *LPCVOID; - typedef unsigned long DWORD; - typedef unsigned long *PDWORD; - typedef long LONG; - typedef const char *LPCSTR; - typedef const BYTE *LPCBYTE; - typedef BYTE *LPBYTE; - typedef DWORD *LPDWORD; - typedef char *LPSTR; - - /* these types were deprecated but still used by old drivers and - * applications. So just declare and use them. */ - typedef LPSTR LPTSTR; - typedef LPCSTR LPCTSTR; - - /* types unused by pcsc-lite */ - typedef short BOOL; - typedef unsigned short WORD; - typedef unsigned long *PULONG; - -#endif - - - ///////////////////////////////////////// - - -#define SCARD_PCI_T0 (&g_rgSCardT0Pci) /**< protocol control information (PCI) for T=0 */ -#define SCARD_PCI_T1 (&g_rgSCardT1Pci) /**< protocol control information (PCI) for T=1 */ -#define SCARD_PCI_RAW (&g_rgSCardRawPci) /**< protocol control information (PCI) for RAW protocol */ - - /** error codes from http://msdn.microsoft.com/en-us/library/aa924526.aspx - */ -#define SCARD_S_SUCCESS ((LONG)0x00000000) /**< No error was encountered. */ -#define SCARD_F_INTERNAL_ERROR ((LONG)0x80100001) /**< An internal consistency check failed. */ -#define SCARD_E_CANCELLED ((LONG)0x80100002) /**< The action was cancelled by an SCardCancel request. */ -#define SCARD_E_INVALID_HANDLE ((LONG)0x80100003) /**< The supplied handle was invalid. */ -#define SCARD_E_INVALID_PARAMETER ((LONG)0x80100004) /**< One or more of the supplied parameters could not be properly interpreted. */ -#define SCARD_E_INVALID_TARGET ((LONG)0x80100005) /**< Registry startup information is missing or invalid. */ -#define SCARD_E_NO_MEMORY ((LONG)0x80100006) /**< Not enough memory available to complete this command. */ -#define SCARD_F_WAITED_TOO_LONG ((LONG)0x80100007) /**< An internal consistency timer has expired. */ -#define SCARD_E_INSUFFICIENT_BUFFER ((LONG)0x80100008) /**< The data buffer to receive returned data is too small for the returned data. */ -#define SCARD_E_UNKNOWN_READER ((LONG)0x80100009) /**< The specified reader name is not recognized. */ -#define SCARD_E_TIMEOUT ((LONG)0x8010000A) /**< The user-specified timeout value has expired. */ -#define SCARD_E_SHARING_VIOLATION ((LONG)0x8010000B) /**< The smart card cannot be accessed because of other connections outstanding. */ -#define SCARD_E_NO_SMARTCARD ((LONG)0x8010000C) /**< The operation requires a Smart Card, but no Smart Card is currently in the device. */ -#define SCARD_E_UNKNOWN_CARD ((LONG)0x8010000D) /**< The specified smart card name is not recognized. */ -#define SCARD_E_CANT_DISPOSE ((LONG)0x8010000E) /**< The system could not dispose of the media in the requested manner. */ -#define SCARD_E_PROTO_MISMATCH ((LONG)0x8010000F) /**< The requested protocols are incompatible with the protocol currently in use with the smart card. */ -#define SCARD_E_NOT_READY ((LONG)0x80100010) /**< The reader or smart card is not ready to accept commands. */ -#define SCARD_E_INVALID_VALUE ((LONG)0x80100011) /**< One or more of the supplied parameters values could not be properly interpreted. */ -#define SCARD_E_SYSTEM_CANCELLED ((LONG)0x80100012) /**< The action was cancelled by the system, presumably to log off or shut down. */ -#define SCARD_F_COMM_ERROR ((LONG)0x80100013) /**< An internal communications error has been detected. */ -#define SCARD_F_UNKNOWN_ERROR ((LONG)0x80100014) /**< An internal error has been detected, but the source is unknown. */ -#define SCARD_E_INVALID_ATR ((LONG)0x80100015) /**< An ATR obtained from the registry is not a valid ATR string. */ -#define SCARD_E_NOT_TRANSACTED ((LONG)0x80100016) /**< An attempt was made to end a non-existent transaction. */ -#define SCARD_E_READER_UNAVAILABLE ((LONG)0x80100017) /**< The specified reader is not currently available for use. */ -#define SCARD_P_SHUTDOWN ((LONG)0x80100018) /**< The operation has been aborted to allow the server application to exit. */ -#define SCARD_E_PCI_TOO_SMALL ((LONG)0x80100019) /**< The PCI Receive buffer was too small. */ -#define SCARD_E_READER_UNSUPPORTED ((LONG)0x8010001A) /**< The reader driver does not meet minimal requirements for support. */ -#define SCARD_E_DUPLICATE_READER ((LONG)0x8010001B) /**< The reader driver did not produce a unique reader name. */ -#define SCARD_E_CARD_UNSUPPORTED ((LONG)0x8010001C) /**< The smart card does not meet minimal requirements for support. */ -#define SCARD_E_NO_SERVICE ((LONG)0x8010001D) /**< The Smart card resource manager is not running. */ -#define SCARD_E_SERVICE_STOPPED ((LONG)0x8010001E) /**< The Smart card resource manager has shut down. */ -#define SCARD_E_UNEXPECTED ((LONG)0x8010001F) /**< An unexpected card error has occurred. */ -#define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x8010001F) /**< This smart card does not support the requested feature. */ -#define SCARD_E_ICC_INSTALLATION ((LONG)0x80100020) /**< No primary provider can be found for the smart card. */ -#define SCARD_E_ICC_CREATEORDER ((LONG)0x80100021) /**< The requested order of object creation is not supported. */ - /* #define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x80100022) / **< This smart card does not support the requested feature. */ -#define SCARD_E_DIR_NOT_FOUND ((LONG)0x80100023) /**< The identified directory does not exist in the smart card. */ -#define SCARD_E_FILE_NOT_FOUND ((LONG)0x80100024) /**< The identified file does not exist in the smart card. */ -#define SCARD_E_NO_DIR ((LONG)0x80100025) /**< The supplied path does not represent a smart card directory. */ -#define SCARD_E_NO_FILE ((LONG)0x80100026) /**< The supplied path does not represent a smart card file. */ -#define SCARD_E_NO_ACCESS ((LONG)0x80100027) /**< Access is denied to this file. */ -#define SCARD_E_WRITE_TOO_MANY ((LONG)0x80100028) /**< The smart card does not have enough memory to store the information. */ -#define SCARD_E_BAD_SEEK ((LONG)0x80100029) /**< There was an error trying to set the smart card file object pointer. */ -#define SCARD_E_INVALID_CHV ((LONG)0x8010002A) /**< The supplied PIN is incorrect. */ -#define SCARD_E_UNKNOWN_RES_MNG ((LONG)0x8010002B) /**< An unrecognized error code was returned from a layered component. */ -#define SCARD_E_NO_SUCH_CERTIFICATE ((LONG)0x8010002C) /**< The requested certificate does not exist. */ -#define SCARD_E_CERTIFICATE_UNAVAILABLE ((LONG)0x8010002D) /**< The requested certificate could not be obtained. */ -#define SCARD_E_NO_READERS_AVAILABLE ((LONG)0x8010002E) /**< Cannot find a smart card reader. */ -#define SCARD_E_COMM_DATA_LOST ((LONG)0x8010002F) /**< A communications error with the smart card has been detected. Retry the operation. */ -#define SCARD_E_NO_KEY_CONTAINER ((LONG)0x80100030) /**< The requested key container does not exist on the smart card. */ -#define SCARD_E_SERVER_TOO_BUSY ((LONG)0x80100031) /**< The Smart Card Resource Manager is too busy to complete this operation. */ - -#define SCARD_W_UNSUPPORTED_CARD ((LONG)0x80100065) /**< The reader cannot communicate with the card, due to ATR string configuration conflicts. */ -#define SCARD_W_UNRESPONSIVE_CARD ((LONG)0x80100066) /**< The smart card is not responding to a reset. */ -#define SCARD_W_UNPOWERED_CARD ((LONG)0x80100067) /**< Power has been removed from the smart card, so that further communication is not possible. */ -#define SCARD_W_RESET_CARD ((LONG)0x80100068) /**< The smart card has been reset, so any shared state information is invalid. */ -#define SCARD_W_REMOVED_CARD ((LONG)0x80100069) /**< The smart card has been removed, so further communication is not possible. */ - -#define SCARD_W_SECURITY_VIOLATION ((LONG)0x8010006A) /**< Access was denied because of a security violation. */ -#define SCARD_W_WRONG_CHV ((LONG)0x8010006B) /**< The card cannot be accessed because the wrong PIN was presented. */ -#define SCARD_W_CHV_BLOCKED ((LONG)0x8010006C) /**< The card cannot be accessed because the maximum number of PIN entry attempts has been reached. */ -#define SCARD_W_EOF ((LONG)0x8010006D) /**< The end of the smart card file has been reached. */ -#define SCARD_W_CANCELLED_BY_USER ((LONG)0x8010006E) /**< The user pressed "Cancel" on a Smart Card Selection Dialog. */ -#define SCARD_W_CARD_NOT_AUTHENTICATED ((LONG)0x8010006F) /**< No PIN was presented to the smart card. */ - -#define SCARD_AUTOALLOCATE (DWORD)(-1) /**< see SCardFreeMemory() */ -#define SCARD_SCOPE_USER 0x0000 /**< Scope in user space */ -#define SCARD_SCOPE_TERMINAL 0x0001 /**< Scope in terminal */ -#define SCARD_SCOPE_SYSTEM 0x0002 /**< Scope in system */ - - -#define SCARD_PROTOCOL_UNDEFINED 0x0000 /**< protocol not set */ -#define SCARD_PROTOCOL_UNSET SCARD_PROTOCOL_UNDEFINED /* backward compat */ -#define SCARD_PROTOCOL_T0 0x0001 /**< T=0 active protocol. */ -#define SCARD_PROTOCOL_T1 0x0002 /**< T=1 active protocol. */ -#define SCARD_PROTOCOL_RAW 0x0004 /**< Raw active protocol. */ -#define SCARD_PROTOCOL_T15 0x0008 /**< T=15 protocol. */ - -#define SCARD_PROTOCOL_ANY (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1) /**< IFD determines prot. */ - -#define SCARD_SHARE_EXCLUSIVE 0x0001 /**< Exclusive mode only */ -#define SCARD_SHARE_SHARED 0x0002 /**< Shared mode only */ -#define SCARD_SHARE_DIRECT 0x0003 /**< Raw mode only */ - -#define SCARD_LEAVE_CARD 0x0000 /**< Do nothing on close */ -#define SCARD_RESET_CARD 0x0001 /**< Reset on close */ -#define SCARD_UNPOWER_CARD 0x0002 /**< Power down on close */ -#define SCARD_EJECT_CARD 0x0003 /**< Eject on close */ - -#define SCARD_UNKNOWN 0x0001 /**< Unknown state */ -#define SCARD_ABSENT 0x0002 /**< Card is absent */ -#define SCARD_PRESENT 0x0004 /**< Card is present */ -#define SCARD_SWALLOWED 0x0008 /**< Card not powered */ -#define SCARD_POWERED 0x0010 /**< Card is powered */ -#define SCARD_NEGOTIABLE 0x0020 /**< Ready for PTS */ -#define SCARD_SPECIFIC 0x0040 /**< PTS has been set */ - -#define SCARD_STATE_UNAWARE 0x0000 /**< App wants status */ -#define SCARD_STATE_IGNORE 0x0001 /**< Ignore this reader */ -#define SCARD_STATE_CHANGED 0x0002 /**< State has changed */ -#define SCARD_STATE_UNKNOWN 0x0004 /**< Reader unknown */ -#define SCARD_STATE_UNAVAILABLE 0x0008 /**< Status unavailable */ -#define SCARD_STATE_EMPTY 0x0010 /**< Card removed */ -#define SCARD_STATE_PRESENT 0x0020 /**< Card inserted */ -#define SCARD_STATE_ATRMATCH 0x0040 /**< ATR matches card */ -#define SCARD_STATE_EXCLUSIVE 0x0080 /**< Exclusive Mode */ -#define SCARD_STATE_INUSE 0x0100 /**< Shared Mode */ -#define SCARD_STATE_MUTE 0x0200 /**< Unresponsive card */ -#define SCARD_STATE_UNPOWERED 0x0400 /**< Unpowered card */ - - -#define MAXIMUM_SMARTCARD_READERS 10 -#ifndef INFINITE -#define INFINITE 0xFFFFFFFF /**< Infinite timeout */ -#endif - -#define PCSCLITE_VERSION_NUMBER "1.7.4" /**< Current version */ - /** Maximum readers context (a slot is count as a reader) */ -#define PCSCLITE_MAX_READERS_CONTEXTS 16 -#define PCSCLITE_STATUS_WAIT 10000 -#define MAX_READERNAME 100 - -#ifndef SCARD_ATR_LENGTH -#define SCARD_ATR_LENGTH MAX_ATR_SIZE /**< Maximum ATR size */ -#endif - - /* - * The message and buffer sizes must be multiples of 16. - * The max message size must be at least large enough - * to accomodate the transmit_struct - */ -#define MAX_BUFFER_SIZE 264 /**< Maximum Tx/Rx Buffer for short APDU */ -#define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3) /**< enhanced (64K + APDU + Lc + Le) Tx/Rx Buffer */ - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Modules/IdCardLib/Sources/bR301/shim.c b/Modules/IdCardLib/Sources/bR301/shim.c deleted file mode 100644 index 69ec06a0..00000000 --- a/Modules/IdCardLib/Sources/bR301/shim.c +++ /dev/null @@ -1,22 +0,0 @@ -// -// shim.c -// IdCardLib -// -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ diff --git a/Modules/IdCardLib/Tests/IdCardLibTests/Operations/UsbReaderConnectionTests.swift b/Modules/IdCardLib/Tests/IdCardLibTests/Operations/UsbReaderConnectionTests.swift deleted file mode 100644 index 905951cd..00000000 --- a/Modules/IdCardLib/Tests/IdCardLibTests/Operations/UsbReaderConnectionTests.swift +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import Testing -import IdCardLibMocks - -@testable import IdCardLib - -struct UsbReaderConnectionTests { - - private let mockCardCommands: CardCommandsMock - private let usbReaderConnection: UsbReaderConnection - - init() async throws { - mockCardCommands = CardCommandsMock() - usbReaderConnection = UsbReaderConnection() - } - - @Test - func calculateSignature_success() async throws { - let expectedSignature = Data([0x01, 0x02]) - let inputData = Data([0xAA]) - let pin2 = SecureData([1, 2, 3, 4, 5]) - - mockCardCommands.calculateSignatureHandler = { _, _ in - expectedSignature - } - - await usbReaderConnection.setCardHandler(mockCardCommands) - - let result = try await usbReaderConnection.calculateSignature( - for: inputData, - pin2: pin2 - ) - - #expect(result == expectedSignature) - } - - @Test - func calculateSignature_throwReaderProcessFailedErrorWhenCardHandlerNil() async throws { - let inputData = Data() - let pin2 = SecureData([1, 2, 3, 4, 5]) - - await usbReaderConnection.setCardHandler(nil) - - await #expect(throws: IdCardInternalError.readerProcessFailed) { - try await usbReaderConnection.calculateSignature( - for: inputData, - pin2: pin2 - ) - } - } - - @Test - func calculateSignature_throwSessionErrorWhenUnknownErrorThrown() async throws { - let inputData = Data() - let pin2 = SecureData([1, 2, 3, 4, 5]) - - mockCardCommands.calculateSignatureHandler = { _, _ in - throw NSError(domain: "Test", code: 1) - } - - await usbReaderConnection.setCardHandler(mockCardCommands) - - await #expect(throws: IdCardError.sessionError) { - try await usbReaderConnection.calculateSignature( - for: inputData, - pin2: pin2 - ) - } - } - - @Test - func calculateSignature_throwIdCardErrorWhenInternalErrorThrown() async throws { - let inputData = Data() - let pin2 = SecureData([1, 2, 3, 4, 5]) - let internalError = IdCardInternalError.connectionFailed - - mockCardCommands.calculateSignatureHandler = { _, _ in - throw internalError - } - - await usbReaderConnection.setCardHandler(mockCardCommands) - - await #expect(throws: internalError.getIdCardError()) { - try await usbReaderConnection.calculateSignature( - for: inputData, - pin2: pin2 - ) - } - } -} diff --git a/RIADigiDoc.xcodeproj/project.pbxproj b/RIADigiDoc.xcodeproj/project.pbxproj index dcf0cbde..d741f1f0 100644 --- a/RIADigiDoc.xcodeproj/project.pbxproj +++ b/RIADigiDoc.xcodeproj/project.pbxproj @@ -17,7 +17,6 @@ DF21D3592E8AA98E00A8E28C /* CommonsTestShared in Frameworks */ = {isa = PBXBuildFile; productRef = DFAABD0A2E82B45700906874 /* CommonsTestShared */; }; DF2B1BEA2F520815008EC06F /* SmartIdLib in Frameworks */ = {isa = PBXBuildFile; productRef = DF2B1BE92F520815008EC06F /* SmartIdLib */; }; DF2B1BF72F525021008EC06F /* IdCardLib in Frameworks */ = {isa = PBXBuildFile; productRef = DF2B1BF62F525021008EC06F /* IdCardLib */; }; - DF2B1BF92F52520D008EC06F /* IdCardLibMocks in Frameworks */ = {isa = PBXBuildFile; productRef = DF2B1BF82F52520D008EC06F /* IdCardLibMocks */; }; DF3D9BB22E8355F9009B086E /* CommonsTestShared in Frameworks */ = {isa = PBXBuildFile; productRef = DF0B681B2D0779EF00A5457C /* CommonsTestShared */; }; DF3E4A7F2CE269C900137235 /* UtilsLib in Frameworks */ = {isa = PBXBuildFile; productRef = DF3E4A7E2CE269C900137235 /* UtilsLib */; }; DF3E4A8F2CE2CDD100137235 /* LibdigidocLib in Frameworks */ = {isa = PBXBuildFile; productRef = DF3E4A8E2CE2CDD100137235 /* LibdigidocLib */; }; @@ -29,7 +28,6 @@ DF4E43CB2D0BA38600967997 /* FileImportShareExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = DF4E43C12D0BA38600967997 /* FileImportShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; DF4E6D822D11DE7B00F6111A /* CommonsLib in Frameworks */ = {isa = PBXBuildFile; productRef = DF4E6D812D11DE7B00F6111A /* CommonsLib */; }; DF4E6D842D120CFC00F6111A /* UtilsLib in Frameworks */ = {isa = PBXBuildFile; productRef = DF4E6D832D120CFC00F6111A /* UtilsLib */; }; - DF54F82F2D431BD50021D05A /* X509 in Frameworks */ = {isa = PBXBuildFile; productRef = DF54F82E2D431BD50021D05A /* X509 */; }; DF5903762ECCC41F00D1A278 /* MobileIdLibMocks in Frameworks */ = {isa = PBXBuildFile; productRef = DF5903752ECCC41F00D1A278 /* MobileIdLibMocks */; }; DF5903782ECCC42500D1A278 /* SmartIdLibMocks in Frameworks */ = {isa = PBXBuildFile; productRef = DF5903772ECCC42500D1A278 /* SmartIdLibMocks */; }; DF5C54272E82F07A006E2251 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = DFA3EE5C2D14C9B7001D951B /* Alamofire */; }; @@ -55,6 +53,7 @@ DFB663A22F16917E00804545 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFB663A12F16917E00804545 /* SwiftUI.framework */; }; DFB663AF2F16918100804545 /* WidgetExtensionExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = DFB6639E2F16917D00804545 /* WidgetExtensionExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; DFBD09F62CE3FBDC006AF9C2 /* LibdigidocLib in Frameworks */ = {isa = PBXBuildFile; productRef = DFBD09F52CE3FBDC006AF9C2 /* LibdigidocLib */; }; + DF54F82F2D431BD50021D05A /* X509 in Frameworks */ = {isa = PBXBuildFile; productRef = DF54F82E2D431BD50021D05A /* X509 */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -124,7 +123,7 @@ 1A1548DE2E85801500DC2339 /* IdCardLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = IdCardLib; sourceTree = ""; }; 1A3E9ED22E79D35E00033299 /* build-openldap-iphonesimulator.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "build-openldap-iphonesimulator.sh"; sourceTree = ""; }; 1A3E9ED62E79DD6E00033299 /* build-openldap-iphoneos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "build-openldap-iphoneos.sh"; sourceTree = ""; }; - 1A438FCF2E7224CE00546B86 /* GenerateMocks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = GenerateMocks.sh; sourceTree = ""; }; + 1A438FCF2E7224CE00546B86 /* generate-mocks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "generate-mocks.sh"; sourceTree = ""; }; 1A438FD02E7224CE00546B86 /* TSLXMLDownloader.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = TSLXMLDownloader.py; sourceTree = ""; }; 1A7D36992E79EB8000CAD7A6 /* build-xcframeworks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "build-xcframeworks.sh"; sourceTree = ""; }; 1AA9FF6C2E71A14200FFDC35 /* CryptoLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = CryptoLib; sourceTree = ""; }; @@ -193,6 +192,8 @@ Domain/Model/SupportedLanguage.swift, Domain/Model/SupportedTheme.swift, Domain/Model/ToastMessage.swift, + Domain/NFC/IdCardError.swift, + Domain/NFC/IdCardInternalError.swift, Domain/NFC/NFCOperationBase.swift, Domain/NFC/NFCSessionStrings.swift, Domain/NFC/NFCSessionStringsUtil.swift, @@ -201,6 +202,7 @@ Domain/NFC/OperationReadCardData.swift, Domain/NFC/OperationReadCertAndSign.swift, Domain/NFC/OperationUnblockPin.swift, + Domain/NFC/ProgressBar.swift, Domain/NFC/Protocols/OperationChangePinProtocol.swift, Domain/NFC/Protocols/OperationDecryptProtocol.swift, Domain/NFC/Protocols/OperationReadCardDataProtocol.swift, @@ -214,14 +216,10 @@ Domain/Repository/AdvancedSettings/AdvancedSettingsRepositoryProtocol.swift, Domain/Repository/FileOpening/FileOpeningRepository.swift, Domain/Repository/FileOpening/FileOpeningRepositoryProtocol.swift, - Domain/Repository/IdCard/IdCardRepository.swift, - Domain/Repository/IdCard/IdCardRepositoryProtocol.swift, Domain/Repository/Siva/SivaRepository.swift, Domain/Repository/Siva/SivaRepositoryProtocol.swift, Domain/Service/FileOpening/FileOpeningService.swift, Domain/Service/FileOpening/FileOpeningServiceProtocol.swift, - Domain/Service/IdCard/IdCardService.swift, - Domain/Service/IdCard/IdCardServiceProtocol.swift, Domain/Service/Siva/SivaService.swift, Domain/Service/Siva/SivaServiceProtocol.swift, LibrarySetup.swift, @@ -294,7 +292,6 @@ ViewModel/Protocols/ProxySettingsViewModelProtocol.swift, ViewModel/Protocols/RecentDocumentsViewModelProtocol.swift, ViewModel/Protocols/Shared/SharedContainerViewModelProtocol.swift, - ViewModel/Protocols/Shared/SharedIdCardViewModelProtocol.swift, ViewModel/Protocols/SignatureDetailViewModelProtocol.swift, ViewModel/Protocols/SigningViewModelProtocol.swift, ViewModel/Protocols/TimeStampSettingsViewModelProtocol.swift, @@ -302,12 +299,9 @@ ViewModel/ProxySettingsViewModel.swift, ViewModel/RecentDocumentsViewModel.swift, ViewModel/Shared/SharedContainerViewModel.swift, - ViewModel/Shared/SharedIdCardViewModel.swift, ViewModel/SignatureDetailViewModel.swift, ViewModel/Signing/ActionMethod/ActionMethodSelectionViewModel.swift, ViewModel/Signing/ActionMethod/ActionMethodSelectionViewModelProtocol.swift, - ViewModel/Signing/IdCard/IdCardViewModel.swift, - ViewModel/Signing/IdCard/IdCardViewModelProtocol.swift, ViewModel/Signing/MobileId/MobileIdViewModel.swift, ViewModel/Signing/MobileId/MobileIdViewModelProtocol.swift, ViewModel/Signing/NFC/NFCViewModel.swift, @@ -531,13 +525,13 @@ DFB1F1312CF0217C00185A7F /* CommonsLib in Frameworks */, DF9AFE922E00D30A0062C64D /* FactoryKit in Frameworks */, DF3E4A7F2CE269C900137235 /* UtilsLib in Frameworks */, - DF54F82F2D431BD50021D05A /* X509 in Frameworks */, 1A5026ED2E8BFCF400C184D7 /* IdCardLib in Frameworks */, DFA23CBD2EB6DC64000403E4 /* MobileIdLib in Frameworks */, DF1D595C2F3BF88000855E2E /* FirebaseCrashlytics in Frameworks */, DF3E922D2D2C371200F2990A /* Alamofire in Frameworks */, DF1D595A2F3BF88000855E2E /* FirebaseCore in Frameworks */, DF3E922B2D285A1D00F2990A /* ConfigLib in Frameworks */, + DF54F82F2D431BD50021D05A /* X509 in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -556,7 +550,6 @@ DF5903782ECCC42500D1A278 /* SmartIdLibMocks in Frameworks */, DFAABD052E82B1AB00906874 /* Alamofire in Frameworks */, DFAABCFC2E82AEA900906874 /* UtilsLibMocks in Frameworks */, - DF2B1BF92F52520D008EC06F /* IdCardLibMocks in Frameworks */, DF5903762ECCC41F00D1A278 /* MobileIdLibMocks in Frameworks */, DFA23CBF2EB6DC73000403E4 /* MobileIdLib in Frameworks */, DF4295B22D39D2F400415C71 /* ConfigLib in Frameworks */, @@ -584,7 +577,7 @@ 1A7D36992E79EB8000CAD7A6 /* build-xcframeworks.sh */, 1A3E9ED22E79D35E00033299 /* build-openldap-iphonesimulator.sh */, 1A3E9ED62E79DD6E00033299 /* build-openldap-iphoneos.sh */, - 1A438FCF2E7224CE00546B86 /* GenerateMocks.sh */, + 1A438FCF2E7224CE00546B86 /* generate-mocks.sh */, 1A438FD02E7224CE00546B86 /* TSLXMLDownloader.py */, ); path = scripts; @@ -771,7 +764,6 @@ DF3E4A7E2CE269C900137235 /* UtilsLib */, DF3E4A8E2CE2CDD100137235 /* LibdigidocLib */, DFB1F1302CF0217C00185A7F /* CommonsLib */, - DF54F82E2D431BD50021D05A /* X509 */, DF3E922A2D285A1D00F2990A /* ConfigLib */, DF3E922C2D2C371200F2990A /* Alamofire */, DF9AFE912E00D30A0062C64D /* FactoryKit */, @@ -781,6 +773,7 @@ DF64D0ED2EC36F7700FF73C6 /* SmartIdLib */, DF1D59592F3BF88000855E2E /* FirebaseCore */, DF1D595B2F3BF88000855E2E /* FirebaseCrashlytics */, + DF54F82E2D431BD50021D05A /* X509 */, ); productName = RIADigiDoc; productReference = DFDB147B2CC97B0E00153876 /* RIADigiDoc.app */; @@ -821,7 +814,6 @@ DF5903772ECCC42500D1A278 /* SmartIdLibMocks */, DF2B1BE92F520815008EC06F /* SmartIdLib */, DF2B1BF62F525021008EC06F /* IdCardLib */, - DF2B1BF82F52520D008EC06F /* IdCardLibMocks */, ); productName = RIADigiDocTests; productReference = DFDB148C2CC97B1000153876 /* RIADigiDocTests.xctest */; @@ -897,12 +889,11 @@ packageReferences = ( DFED7A5F2CC9A3B200D8BCA9 /* XCRemoteSwiftPackageReference "SwiftLintPlugins" */, DFA3EE592D14C4C2001D951B /* XCRemoteSwiftPackageReference "Alamofire" */, - DF54F82D2D431BD50021D05A /* XCRemoteSwiftPackageReference "swift-certificates" */, DF9AFE902E00D30A0062C64D /* XCRemoteSwiftPackageReference "Factory" */, 1A7CC1C52E71CAAB0002CEA3 /* XCRemoteSwiftPackageReference "ASN1Decoder" */, - 1A2D04BC2E85850500A7269B /* XCRemoteSwiftPackageReference "BigInt" */, 1A2D04BD2E8588F100A7269B /* XCRemoteSwiftPackageReference "SwiftECC" */, DF1D59582F3BF88000855E2E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + DF54F82D2D431BD50021D05A /* XCRemoteSwiftPackageReference "swift-certificates" */, ); preferredProjectObjectVersion = 77; productRefGroup = DFDB147C2CC97B0E00153876 /* Products */; @@ -1689,14 +1680,6 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 1A2D04BC2E85850500A7269B /* XCRemoteSwiftPackageReference "BigInt" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/leif-ibsen/BigInt"; - requirement = { - kind = exactVersion; - version = 1.23.0; - }; - }; 1A2D04BD2E8588F100A7269B /* XCRemoteSwiftPackageReference "SwiftECC" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/leif-ibsen/SwiftECC"; @@ -1721,14 +1704,6 @@ version = 12.12.1; }; }; - DF54F82D2D431BD50021D05A /* XCRemoteSwiftPackageReference "swift-certificates" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/apple/swift-certificates.git"; - requirement = { - kind = exactVersion; - version = 1.19.0; - }; - }; DF9AFE902E00D30A0062C64D /* XCRemoteSwiftPackageReference "Factory" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/hmlongco/Factory"; @@ -1753,6 +1728,14 @@ version = 0.63.2; }; }; + DF54F82D2D431BD50021D05A /* XCRemoteSwiftPackageReference "swift-certificates" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/apple/swift-certificates.git"; + requirement = { + kind = exactVersion; + version = 1.19.0; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -1798,10 +1781,6 @@ isa = XCSwiftPackageProductDependency; productName = IdCardLib; }; - DF2B1BF82F52520D008EC06F /* IdCardLibMocks */ = { - isa = XCSwiftPackageProductDependency; - productName = IdCardLibMocks; - }; DF3E4A7E2CE269C900137235 /* UtilsLib */ = { isa = XCSwiftPackageProductDependency; productName = UtilsLib; @@ -1839,11 +1818,6 @@ isa = XCSwiftPackageProductDependency; productName = UtilsLib; }; - DF54F82E2D431BD50021D05A /* X509 */ = { - isa = XCSwiftPackageProductDependency; - package = DF54F82D2D431BD50021D05A /* XCRemoteSwiftPackageReference "swift-certificates" */; - productName = X509; - }; DF5903752ECCC41F00D1A278 /* MobileIdLibMocks */ = { isa = XCSwiftPackageProductDependency; productName = MobileIdLibMocks; @@ -1943,6 +1917,11 @@ isa = XCSwiftPackageProductDependency; productName = LibdigidocLib; }; + DF54F82E2D431BD50021D05A /* X509 */ = { + isa = XCSwiftPackageProductDependency; + package = DF54F82D2D431BD50021D05A /* XCRemoteSwiftPackageReference "swift-certificates" */; + productName = X509; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = DFDB14732CC97B0E00153876 /* Project object */; diff --git a/RIADigiDoc.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/RIADigiDoc.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 987b34cd..0718496b 100644 --- a/RIADigiDoc.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/RIADigiDoc.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "a82b406c3d85517dd4b2e58cb9c226399e1542da2d025b4d90acd2079cd678d8", + "originHash" : "b4f054ad9c471fab72929d2e5687dd7f818e958401197162c86062302c1826d8", "pins" : [ { "identity" : "abseil-cpp-binary", diff --git a/RIADigiDoc/DI/AppContainer.swift b/RIADigiDoc/DI/AppContainer.swift index bc7eb482..ebdf4655 100644 --- a/RIADigiDoc/DI/AppContainer.swift +++ b/RIADigiDoc/DI/AppContainer.swift @@ -22,7 +22,7 @@ import ConfigLib import FactoryKit import Foundation import UtilsLib -import IdCardLib +import nfclib extension Container { @MainActor @@ -413,39 +413,10 @@ extension Container { } } - @MainActor - var idCardViewModel: Factory { - self { @MainActor in - IdCardViewModel( - idCardRepository: self.idCardRepository(), - sharedMyEidSession: self.sharedMyEidSession(), - certificateUtil: self.certificateUtil(), - nameUtil: self.nameUtil(), - dataStore: self.dataStore(), - userAgentUtil: self.userAgentUtil() - ) - } - } - - @MainActor - var idCardService: Factory { - self { @MainActor in - IdCardService(usbReaderConnection: self.usbReaderConnection()) - } - } - - @MainActor - var idCardRepository: Factory { - self { @MainActor in - IdCardRepository(idCardService: self.idCardService()) - } - .shared - } - @MainActor var sharedMyEidSession: Factory { self { @MainActor in - SharedMyEidSession(idCardRepository: self.idCardRepository()) + SharedMyEidSession() } .shared } @@ -454,7 +425,6 @@ extension Container { var myEidViewModel: Factory { self { @MainActor in MyEidViewModel( - idCardRepository: self.idCardRepository(), sharedMyEidSession: self.sharedMyEidSession() ) } @@ -578,7 +548,6 @@ extension Container { codeType: codeType, personalCode: personalCode, actionMethod: actionMethod, - idCardRepository: self.idCardRepository(), sharedMyEidSession: self.sharedMyEidSession(), operationChangePin: self.operationChangePin(), operationUnblockPin: self.operationUnblockPin() diff --git a/RIADigiDoc/Domain/Model/Error/NFC/ReadCertAndSignError.swift b/RIADigiDoc/Domain/Model/Error/NFC/ReadCertAndSignError.swift index 5ef246da..b8ccfae4 100644 --- a/RIADigiDoc/Domain/Model/Error/NFC/ReadCertAndSignError.swift +++ b/RIADigiDoc/Domain/Model/Error/NFC/ReadCertAndSignError.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib public enum ReadCertAndSignError: Error { case signedContainerNil diff --git a/RIADigiDoc/Domain/Model/IdCard/IdCardData.swift b/RIADigiDoc/Domain/Model/IdCard/IdCardData.swift index 407b3d3d..2440b6db 100644 --- a/RIADigiDoc/Domain/Model/IdCard/IdCardData.swift +++ b/RIADigiDoc/Domain/Model/IdCard/IdCardData.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib public struct IdCardData: Sendable, Hashable { public let publicData: CardInfo diff --git a/RIADigiDoc/Domain/Model/My eID/MyEidPinCodeAction.swift b/RIADigiDoc/Domain/Model/My eID/MyEidPinCodeAction.swift index d38c54d4..226ee683 100644 --- a/RIADigiDoc/Domain/Model/My eID/MyEidPinCodeAction.swift +++ b/RIADigiDoc/Domain/Model/My eID/MyEidPinCodeAction.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib public enum MyEidPinCodeAction: Sendable, Codable { case change diff --git a/RIADigiDoc/Domain/Model/NFC/NFCCardData.swift b/RIADigiDoc/Domain/Model/NFC/NFCCardData.swift index 6daa0e15..972c6f04 100644 --- a/RIADigiDoc/Domain/Model/NFC/NFCCardData.swift +++ b/RIADigiDoc/Domain/Model/NFC/NFCCardData.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib public struct NFCCardData: Sendable { let publicData: CardInfo diff --git a/RIADigiDoc/Domain/Model/Navigation/NavigationDestination.swift b/RIADigiDoc/Domain/Model/Navigation/NavigationDestination.swift index 0b2a7a24..d0ac747d 100644 --- a/RIADigiDoc/Domain/Model/Navigation/NavigationDestination.swift +++ b/RIADigiDoc/Domain/Model/Navigation/NavigationDestination.swift @@ -20,7 +20,7 @@ import Foundation import CryptoObjCWrapper import LibdigidocLibSwift -import IdCardLib +import nfclib public enum NavigationDestination: Hashable { case contentView diff --git a/RIADigiDoc/Domain/Model/Signing/SigningMethod.swift b/RIADigiDoc/Domain/Model/Signing/SigningMethod.swift index 9732e222..1577dbdc 100644 --- a/RIADigiDoc/Domain/Model/Signing/SigningMethod.swift +++ b/RIADigiDoc/Domain/Model/Signing/SigningMethod.swift @@ -21,7 +21,6 @@ import Foundation public enum ActionMethod: String, Sendable, CaseIterable, Identifiable { case idCardViaNFC = "ID-card via NFC" - case idCardViaUSB = "ID-card via USB" case mobileId = "Mobile-ID" case smartId = "Smart-ID" diff --git a/RIADigiDoc/ViewModel/Shared/SharedIdCardViewModel.swift b/RIADigiDoc/Domain/NFC/IdCardError.swift similarity index 60% rename from RIADigiDoc/ViewModel/Shared/SharedIdCardViewModel.swift rename to RIADigiDoc/Domain/NFC/IdCardError.swift index af3a4ee0..493d7bcf 100644 --- a/RIADigiDoc/ViewModel/Shared/SharedIdCardViewModel.swift +++ b/RIADigiDoc/Domain/NFC/IdCardError.swift @@ -17,23 +17,25 @@ * */ -import Foundation -import IdCardLib +import nfclib -@Observable -@MainActor -class SharedIdCardViewModel: SharedIdCardViewModelProtocol { - private let usbReaderConnection: UsbReaderConnectionProtocol - - var usbReaderStatus: UsbReaderStatus = .sInitial - - init(usbReaderConnection: UsbReaderConnectionProtocol) { - self.usbReaderConnection = usbReaderConnection - } +public enum IdCardError: Error { + case cancelledByUser + case wrongCAN + case wrongPIN(triesLeft: Int) + case invalidNewPIN + case sessionError + case pinLocked +} - public func startStatusStreaming() async { - for await status in await usbReaderConnection.statusStream() { - self.usbReaderStatus = status +extension IdCardError { + public init(_ nfcError: nfclib.IdCardError) { + switch nfcError { + case .wrongCAN: self = .wrongCAN + case .wrongPIN(let tries): self = .wrongPIN(triesLeft: tries) + case .invalidNewPIN: self = .invalidNewPIN + case .sessionError: self = .sessionError + @unknown default: self = .sessionError } } } diff --git a/RIADigiDoc/Domain/NFC/IdCardInternalError.swift b/RIADigiDoc/Domain/NFC/IdCardInternalError.swift new file mode 100644 index 00000000..459f2112 --- /dev/null +++ b/RIADigiDoc/Domain/NFC/IdCardInternalError.swift @@ -0,0 +1,71 @@ +/* + * Copyright 2017 - 2026 Riigi Infosüsteemi Amet + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +import nfclib + +public enum IdCardInternalError: Error { + case missingRESTag + case missingMACTag + case invalidMACValue + case failedReadingField(nfclib.CardField) + case hexConversionFailed + case AESCBCError + case sendCommandFailed(message: String) + case invalidResponse(message: String) + case swError(UInt16) + case pinVerificationFailed + case remainingPinRetryCount(Int) + case invalidNewPin + case notSupportedCodeType + case dataPaddingError + case invalidAPDU + case authenticationFailed + case canAuthenticationFailed + case invalidTag + case cardNotSupported + case nfcNotSupported + case connectionFailed + case multipleTagsDetected + case couldNotVerifyChipsMAC + case cancelledByUser + case sessionInvalidated + case readerProcessFailed + case failedToRemovePadding + case notSupportedAlgorithm + case pinLocked + + public func getIdCardError() -> IdCardError { + switch self { + case .canAuthenticationFailed: + return .wrongCAN + case .remainingPinRetryCount(let count): + return .wrongPIN(triesLeft: count) + case .pinVerificationFailed: + return .wrongPIN(triesLeft: 0) + case .pinLocked: + return .pinLocked + case .cancelledByUser: + return .cancelledByUser + case .invalidNewPin: + return .invalidNewPIN + default: + return .sessionError + } + } +} diff --git a/RIADigiDoc/Domain/NFC/NFCOperationBase.swift b/RIADigiDoc/Domain/NFC/NFCOperationBase.swift index 1f003d44..262e3455 100644 --- a/RIADigiDoc/Domain/NFC/NFCOperationBase.swift +++ b/RIADigiDoc/Domain/NFC/NFCOperationBase.swift @@ -19,7 +19,7 @@ import Foundation import CoreNFC -import IdCardLib +import nfclib import LibdigidocLibSwift import UtilsLib @@ -100,6 +100,17 @@ public class NFCOperationBase: NSObject, Loggable, @MainActor NFCTagReaderSessio session.invalidate(errorMessage: nfcError) } + func handleIdCardInternalError( + _ error: nfclib.IdCardInternalError, + session: NFCTagReaderSession + ) { + let idCardError = IdCardError(error.getIdCardError()) + Self.logger().error("NFC: IdCardError detected: \(idCardError)") + operationError = error + handleIdCardError(idCardError) + session.invalidate(errorMessage: nfcError) + } + func handleDigiDocError( _ error: DigiDocError, session: NFCTagReaderSession diff --git a/RIADigiDoc/Domain/NFC/NFCSessionStringsUtil.swift b/RIADigiDoc/Domain/NFC/NFCSessionStringsUtil.swift index 8f12c0b5..17fc9ab3 100644 --- a/RIADigiDoc/Domain/NFC/NFCSessionStringsUtil.swift +++ b/RIADigiDoc/Domain/NFC/NFCSessionStringsUtil.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib public struct NFCSessionStringsUtil { private let localize: (String, [String]) -> String diff --git a/RIADigiDoc/Domain/NFC/OperationChangePin.swift b/RIADigiDoc/Domain/NFC/OperationChangePin.swift index a7afc783..75f51cbf 100644 --- a/RIADigiDoc/Domain/NFC/OperationChangePin.swift +++ b/RIADigiDoc/Domain/NFC/OperationChangePin.swift @@ -20,7 +20,7 @@ import Foundation import CoreNFC import UtilsLib -import IdCardLib +import nfclib @MainActor public class OperationChangePin: NFCOperationBase, OperationChangePinProtocol { @@ -36,6 +36,12 @@ public class OperationChangePin: NFCOperationBase, OperationChangePinProtocol { newPin: SecureData, strings: NFCSessionStrings, ) async throws { + self.canNumber = canNumber + self.codeType = codeType + self.currentPin = currentPin + self.newPin = newPin + self.strings = strings + return try await withCheckedThrowingContinuation { continuation in self.continuation = continuation @@ -44,11 +50,6 @@ public class OperationChangePin: NFCOperationBase, OperationChangePinProtocol { return } - self.canNumber = canNumber - self.codeType = codeType - self.currentPin = currentPin - self.newPin = newPin - self.strings = strings session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) updateAlertMessage(step: 0) session?.begin() @@ -99,6 +100,11 @@ public class OperationChangePin: NFCOperationBase, OperationChangePinProtocol { return } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardInternalError(nfcIdCardError, session: session) + return + } + if let changePinError = error as? ChangePinError { operationError = changePinError OperationChangePin.logger() diff --git a/RIADigiDoc/Domain/NFC/OperationDecrypt.swift b/RIADigiDoc/Domain/NFC/OperationDecrypt.swift index 4e770d69..418c812c 100644 --- a/RIADigiDoc/Domain/NFC/OperationDecrypt.swift +++ b/RIADigiDoc/Domain/NFC/OperationDecrypt.swift @@ -21,10 +21,8 @@ import Foundation import CoreNFC import CommonCrypto import CryptoTokenKit -internal import SwiftECC -import BigInt import CryptoKit -import IdCardLib +import nfclib import CryptoObjCWrapper import CryptoSwift import UtilsLib @@ -45,6 +43,12 @@ public class OperationDecrypt: NFCOperationBase, OperationDecryptProtocol { strings: NFCSessionStrings, ) async throws -> CryptoContainerProtocol { + self.canNumber = canNumber + self.pin1Number = pin1Number + self.containerFile = containerFile + self.recipients = recipients + self.strings = strings + return try await withCheckedThrowingContinuation { continuation in self.continuation = continuation @@ -52,11 +56,6 @@ public class OperationDecrypt: NFCOperationBase, OperationDecryptProtocol { continuation.resume(throwing: IdCardInternalError.nfcNotSupported) return } - self.canNumber = canNumber - self.pin1Number = pin1Number - self.containerFile = containerFile - self.recipients = recipients - self.strings = strings session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) updateAlertMessage(step: 0) @@ -136,6 +135,11 @@ public class OperationDecrypt: NFCOperationBase, OperationDecryptProtocol { return } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardInternalError(nfcIdCardError, session: session) + return + } + if let decryptError = error as? DecryptError { OperationDecrypt.logger() .error("NFC: DecryptError: \(decryptError.localizedDescription)") diff --git a/RIADigiDoc/Domain/NFC/OperationReadCardData.swift b/RIADigiDoc/Domain/NFC/OperationReadCardData.swift index 8f77cda4..aa4547be 100644 --- a/RIADigiDoc/Domain/NFC/OperationReadCardData.swift +++ b/RIADigiDoc/Domain/NFC/OperationReadCardData.swift @@ -19,7 +19,7 @@ import Foundation import CoreNFC -import IdCardLib +import nfclib import UtilsLib @MainActor @@ -122,6 +122,11 @@ final public class OperationReadCardData: NFCOperationBase, OperationReadCardDat return } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardInternalError(nfcIdCardError, session: session) + return + } + handleUnknownError(error, session: session) } } diff --git a/RIADigiDoc/Domain/NFC/OperationReadCertAndSign.swift b/RIADigiDoc/Domain/NFC/OperationReadCertAndSign.swift index e8c55533..00a9fe86 100644 --- a/RIADigiDoc/Domain/NFC/OperationReadCertAndSign.swift +++ b/RIADigiDoc/Domain/NFC/OperationReadCertAndSign.swift @@ -22,10 +22,8 @@ import CoreNFC import CommonCrypto import CommonsLib import CryptoTokenKit -internal import SwiftECC -import BigInt import Security -import IdCardLib +import nfclib import LibdigidocLibSwift import UtilsLib @@ -51,6 +49,14 @@ public class OperationReadCertAndSign: NFCOperationBase, OperationReadCertAndSig strings: NFCSessionStrings ) async throws -> SignedContainerProtocol { + self.canNumber = canNumber + self.pin2Number = pin2Number + self.signedContainer = signedContainer + self.containerPath = containerPath + self.roleData = roleData + self.userAgent = userAgent + self.strings = strings + return try await withCheckedThrowingContinuation { continuation in self.continuation = continuation @@ -59,14 +65,6 @@ public class OperationReadCertAndSign: NFCOperationBase, OperationReadCertAndSig return } - self.canNumber = canNumber - self.pin2Number = pin2Number - self.signedContainer = signedContainer - self.containerPath = containerPath - self.roleData = roleData - self.userAgent = userAgent - self.strings = strings - session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) updateAlertMessage(step: 0) session?.begin() @@ -163,6 +161,11 @@ public class OperationReadCertAndSign: NFCOperationBase, OperationReadCertAndSig return } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardInternalError(nfcIdCardError, session: session) + return + } + if let readCertSignError = error as? ReadCertAndSignError { OperationReadCertAndSign.logger() .error("NFC: ReadCertAndSignError: \(readCertSignError.localizedDescription)") diff --git a/RIADigiDoc/Domain/NFC/OperationUnblockPin.swift b/RIADigiDoc/Domain/NFC/OperationUnblockPin.swift index feb97bd0..64f4f766 100644 --- a/RIADigiDoc/Domain/NFC/OperationUnblockPin.swift +++ b/RIADigiDoc/Domain/NFC/OperationUnblockPin.swift @@ -21,10 +21,8 @@ import Foundation import CoreNFC import CommonCrypto import CryptoTokenKit -internal import SwiftECC -import BigInt import Security -import IdCardLib +import nfclib @MainActor public class OperationUnblockPin: NFCOperationBase, OperationUnblockPinProtocol { @@ -40,6 +38,12 @@ public class OperationUnblockPin: NFCOperationBase, OperationUnblockPinProtocol newPin: SecureData, strings: NFCSessionStrings ) async throws { + self.canNumber = canNumber + self.codeType = codeType + self.puk = puk + self.newPin = newPin + self.strings = strings + return try await withCheckedThrowingContinuation { continuation in self.continuation = continuation @@ -48,11 +52,6 @@ public class OperationUnblockPin: NFCOperationBase, OperationUnblockPinProtocol return } - self.canNumber = canNumber - self.codeType = codeType - self.puk = puk - self.newPin = newPin - self.strings = strings session = NFCTagReaderSession(pollingOption: .iso14443, delegate: self) updateAlertMessage(step: 0) session?.begin() @@ -99,6 +98,11 @@ public class OperationUnblockPin: NFCOperationBase, OperationUnblockPinProtocol return } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardInternalError(nfcIdCardError, session: session) + return + } + if let unblockPINError = error as? UnblockPINError { operationError = unblockPINError OperationReadCertAndSign.logger() diff --git a/Modules/IdCardLib/Sources/IdCardLib/Utilities/ProgressBar.swift b/RIADigiDoc/Domain/NFC/ProgressBar.swift similarity index 67% rename from Modules/IdCardLib/Sources/IdCardLib/Utilities/ProgressBar.swift rename to RIADigiDoc/Domain/NFC/ProgressBar.swift index 0fa0dbd3..5c9abbb5 100644 --- a/Modules/IdCardLib/Sources/IdCardLib/Utilities/ProgressBar.swift +++ b/RIADigiDoc/Domain/NFC/ProgressBar.swift @@ -17,20 +17,18 @@ * */ -public struct ProgressBar { - private let totalSteps: Int - private let currentStep: Int +struct ProgressBar { + let currentStep: Int + let totalSteps: Int - public init(currentStep: Int, totalSteps: Int = 4) { - self.currentStep = currentStep + init(currentStep: Int, totalSteps: Int = 4) { + self.currentStep = min(currentStep, totalSteps) self.totalSteps = totalSteps } - public func generate() -> String { - if currentStep > 0 { - return (0.. String { + let filled = String(repeating: "●", count: currentStep) + let empty = String(repeating: "○", count: max(0, totalSteps - currentStep)) + return filled + empty } } diff --git a/RIADigiDoc/Domain/NFC/Protocols/OperationChangePinProtocol.swift b/RIADigiDoc/Domain/NFC/Protocols/OperationChangePinProtocol.swift index 87c5d4ee..c0d4b43f 100644 --- a/RIADigiDoc/Domain/NFC/Protocols/OperationChangePinProtocol.swift +++ b/RIADigiDoc/Domain/NFC/Protocols/OperationChangePinProtocol.swift @@ -17,7 +17,7 @@ * */ -import IdCardLib +import nfclib /// @mockable @MainActor diff --git a/RIADigiDoc/Domain/NFC/Protocols/OperationDecryptProtocol.swift b/RIADigiDoc/Domain/NFC/Protocols/OperationDecryptProtocol.swift index a85cd326..32dd222f 100644 --- a/RIADigiDoc/Domain/NFC/Protocols/OperationDecryptProtocol.swift +++ b/RIADigiDoc/Domain/NFC/Protocols/OperationDecryptProtocol.swift @@ -20,7 +20,7 @@ import CryptoObjCWrapper import CryptoSwift import Foundation -import IdCardLib +import nfclib /// @mockable @MainActor diff --git a/RIADigiDoc/Domain/NFC/Protocols/OperationReadCertAndSignProtocol.swift b/RIADigiDoc/Domain/NFC/Protocols/OperationReadCertAndSignProtocol.swift index 6e0741aa..08305f4a 100644 --- a/RIADigiDoc/Domain/NFC/Protocols/OperationReadCertAndSignProtocol.swift +++ b/RIADigiDoc/Domain/NFC/Protocols/OperationReadCertAndSignProtocol.swift @@ -19,7 +19,7 @@ import CommonsLib import Foundation -import IdCardLib +import nfclib import LibdigidocLibSwift /// @mockable diff --git a/RIADigiDoc/Domain/NFC/Protocols/OperationUnblockPinProtocol.swift b/RIADigiDoc/Domain/NFC/Protocols/OperationUnblockPinProtocol.swift index 6cae7f96..d6ad268f 100644 --- a/RIADigiDoc/Domain/NFC/Protocols/OperationUnblockPinProtocol.swift +++ b/RIADigiDoc/Domain/NFC/Protocols/OperationUnblockPinProtocol.swift @@ -17,7 +17,7 @@ * */ -import IdCardLib +import nfclib /// @mockable @MainActor diff --git a/RIADigiDoc/Domain/Repository/IdCard/IdCardRepository.swift b/RIADigiDoc/Domain/Repository/IdCard/IdCardRepository.swift deleted file mode 100644 index 2b9588ed..00000000 --- a/RIADigiDoc/Domain/Repository/IdCard/IdCardRepository.swift +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import IdCardLib - -actor IdCardRepository: IdCardRepositoryProtocol { - private let idCardService: IdCardServiceProtocol - - init( - idCardService: IdCardServiceProtocol - ) { - self.idCardService = idCardService - } - - func startDiscoveringReaders() async { - await idCardService.startDiscoveringReaders() - } - - func stopDiscoveringReaders() async { - await idCardService.stopDiscoveringReaders() - } - - func statusStream() async -> AsyncStream { - await idCardService.statusStream() - } - - func getCardHandler() async throws -> CardCommands { - try await idCardService.getCardHandler() - } - - func getPublicData() async throws -> CardInfo { - try await idCardService.getPublicData() - } - - func readAuthenticationCertificate() async throws -> Data { - return try await idCardService.readAuthenticationCertificate() - } - - func readSignatureCertificate() async throws -> Data { - return try await idCardService.readSignatureCertificate() - } - - func readCodeTryCounterRecord(for codeType: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) { - return try await idCardService.readCodeTryCounterRecord(for: codeType) - } - - func isPUKChangeable() async throws -> Bool { - return try await idCardService.isPUKChangeable() - } - - func changeCode(_ codeType: CodeType, to newCode: Data, verifyCode: Data) async throws { - try await idCardService.changeCode(codeType, to: newCode, verifyCode: verifyCode) - } - - func unblockCode(_ codeType: CodeType, puk: Data, newCode: Data) async throws { - try await idCardService.unblockCode(codeType, puk: puk, newCode: newCode) - } - - func calculateSignature(for dataToSign: Data, pin2: SecureData) async throws -> Data { - try await idCardService.calculateSignature(for: dataToSign, pin2: pin2) - } -} diff --git a/RIADigiDoc/Domain/Repository/IdCard/IdCardRepositoryProtocol.swift b/RIADigiDoc/Domain/Repository/IdCard/IdCardRepositoryProtocol.swift deleted file mode 100644 index c19f545c..00000000 --- a/RIADigiDoc/Domain/Repository/IdCard/IdCardRepositoryProtocol.swift +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import IdCardLib - -/// @mockable -public protocol IdCardRepositoryProtocol: Sendable { - func startDiscoveringReaders() async - func stopDiscoveringReaders() async - func statusStream() async -> AsyncStream - func getCardHandler() async throws -> CardCommands - func getPublicData() async throws -> CardInfo - func readAuthenticationCertificate() async throws -> Data - func readSignatureCertificate() async throws -> Data - func readCodeTryCounterRecord(for codeType: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) - func isPUKChangeable() async throws -> Bool - func changeCode(_ codeType: CodeType, to newCode: Data, verifyCode: Data) async throws - func unblockCode(_ codeType: CodeType, puk: Data, newCode: Data) async throws - func calculateSignature(for dataToSign: Data, pin2: SecureData) async throws -> Data -} diff --git a/RIADigiDoc/Domain/Service/IdCard/IdCardService.swift b/RIADigiDoc/Domain/Service/IdCard/IdCardService.swift deleted file mode 100644 index 5ee0bc84..00000000 --- a/RIADigiDoc/Domain/Service/IdCard/IdCardService.swift +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import IdCardLib - -actor IdCardService: IdCardServiceProtocol { - private let usbReaderConnection: UsbReaderConnectionProtocol - - init(usbReaderConnection: UsbReaderConnectionProtocol) { - self.usbReaderConnection = usbReaderConnection - } - - public func startDiscoveringReaders() async { - await usbReaderConnection.startDiscoveringReaders() - } - - public func stopDiscoveringReaders() async { - await usbReaderConnection.stopDiscoveringReaders(with: .sInitial) - } - - public func statusStream() async -> AsyncStream { - await usbReaderConnection.statusStream() - } - - public func getPublicData() async throws -> CardInfo { - return try await usbReaderConnection.getPublicData() - } - - public func getCardHandler() async throws -> CardCommands { - return try await usbReaderConnection.getCardHandler() - } - - func readAuthenticationCertificate() async throws -> Data { - return try await usbReaderConnection.readAuthenticationCertificate() - } - - func readSignatureCertificate() async throws -> Data { - return try await usbReaderConnection.readSignatureCertificate() - } - - func readCodeTryCounterRecord(for codeType: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) { - return try await usbReaderConnection.readCodeTryCounterRecord(for: codeType) - } - - func isPUKChangeable() async throws -> Bool { - return try await usbReaderConnection.isPUKChangeable() - } - - func changeCode(_ codeType: CodeType, to newCode: Data, verifyCode: Data) async throws { - try await usbReaderConnection.changeCode(codeType, to: newCode, verifyCode: verifyCode) - } - - func unblockCode(_ codeType: CodeType, puk: Data, newCode: Data) async throws { - try await usbReaderConnection.unblockCode(codeType, puk: puk, newCode: newCode) - } - - func calculateSignature(for dataToSign: Data, pin2: SecureData) async throws -> Data { - try await usbReaderConnection.calculateSignature(for: dataToSign, pin2: pin2) - } -} diff --git a/RIADigiDoc/Domain/Service/IdCard/IdCardServiceProtocol.swift b/RIADigiDoc/Domain/Service/IdCard/IdCardServiceProtocol.swift deleted file mode 100644 index 7e82506c..00000000 --- a/RIADigiDoc/Domain/Service/IdCard/IdCardServiceProtocol.swift +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import IdCardLib - -/// @mockable -public protocol IdCardServiceProtocol: Sendable { - func startDiscoveringReaders() async - func stopDiscoveringReaders() async - func statusStream() async -> AsyncStream - func getCardHandler() async throws -> CardCommands - func getPublicData() async throws -> CardInfo - func readAuthenticationCertificate() async throws -> Data - func readSignatureCertificate() async throws -> Data - func readCodeTryCounterRecord(for codeType: CodeType) async throws -> (retryCount: UInt8, pinActive: Bool) - func isPUKChangeable() async throws -> Bool - func changeCode(_ codeType: CodeType, to newCode: Data, verifyCode: Data) async throws - func unblockCode(_ codeType: CodeType, puk: Data, newCode: Data) async throws - func calculateSignature(for dataToSign: Data, pin2: SecureData) async throws -> Data -} diff --git a/RIADigiDoc/Info.plist b/RIADigiDoc/Info.plist index 6673ca68..badae4ad 100644 --- a/RIADigiDoc/Info.plist +++ b/RIADigiDoc/Info.plist @@ -2,11 +2,6 @@ - UISupportedExternalAccessoryProtocols - - com.ftsafe.bR301 - com.ftsafe.iR301 - NSSupportsLiveActivities CFBundleDocumentTypes diff --git a/RIADigiDoc/UI/Component/Container/Crypto/DecryptRootView.swift b/RIADigiDoc/UI/Component/Container/Crypto/DecryptRootView.swift index 00964475..263011c6 100644 --- a/RIADigiDoc/UI/Component/Container/Crypto/DecryptRootView.swift +++ b/RIADigiDoc/UI/Component/Container/Crypto/DecryptRootView.swift @@ -20,18 +20,12 @@ import SwiftUI import FactoryKit import CryptoSwift -import IdCardLib +import nfclib import CommonsLib struct DecryptRootView: View { @Environment(\.accessibilityVoiceOverEnabled) private var voiceOverEnabled - @Environment(\.dismiss) private var dismiss @Environment(LanguageSettings.self) private var languageSettings - @Environment(NavigationPathManager.self) private var pathManager - - @State private var chosenMethod: ActionMethod = .idCardViaNFC - - @State private var viewModel: DecryptRootViewModel private let cryptoContainer: GeneralContainer? @@ -42,58 +36,25 @@ struct DecryptRootView: View { } init() { - _viewModel = State(wrappedValue: Container.shared.decryptRootViewModel()) self.sharedContainerViewModel = Container.shared.sharedContainerViewModel() self.cryptoContainer = sharedContainerViewModel.currentContainer() } var body: some View { ZStack { - switch chosenMethod { - case .idCardViaNFC: - if let container = cryptoContainer as? CryptoContainerProtocol { - NFCView( - actionType: .decrypt, - actionMethods: [ - .idCardViaNFC, - .idCardViaUSB - ], - pinType: CodeType.pin1, - cryptoContainer: container, - onSuccessDecrypt: { container in - sharedContainerViewModel.removeLastContainer() - sharedContainerViewModel.setCryptoContainer(container) - - showContainerSuccessfullyDecryptedMessage() - } - ) - } - case .idCardViaUSB: - if let container = cryptoContainer as? CryptoContainerProtocol { - IdCardView( - actionType: .decrypt, - actionMethods: [ - .idCardViaNFC, - .idCardViaUSB - ], - cryptoContainer: container, - onSuccessDecrypt: { container in - sharedContainerViewModel.removeLastContainer() - sharedContainerViewModel.setCryptoContainer(container) + if let container = cryptoContainer as? CryptoContainerProtocol { + NFCView( + actionType: .decrypt, + actionMethods: [.idCardViaNFC], + pinType: CodeType.pin1, + cryptoContainer: container, + onSuccessDecrypt: { container in + sharedContainerViewModel.removeLastContainer() + sharedContainerViewModel.setCryptoContainer(container) - showContainerSuccessfullyDecryptedMessage() - } - ) - } - case .mobileId: - EmptyView() - case .smartId: - EmptyView() - } - } - .onAppear { - Task { - chosenMethod = await viewModel.getSelectedDecryptMethod() + showContainerSuccessfullyDecryptedMessage() + } + ) } } } diff --git a/RIADigiDoc/UI/Component/Container/Signing/ActionInputScreen.swift b/RIADigiDoc/UI/Component/Container/Signing/ActionInputScreen.swift index de4673c1..8ed807ce 100644 --- a/RIADigiDoc/UI/Component/Container/Signing/ActionInputScreen.swift +++ b/RIADigiDoc/UI/Component/Container/Signing/ActionInputScreen.swift @@ -78,7 +78,6 @@ struct ActionInputScreen: View { actionType: ActionType = .signing, actionMethods: [ActionMethod] = [ .idCardViaNFC, - .idCardViaUSB, .mobileId, .smartId ], @@ -124,29 +123,38 @@ struct ActionInputScreen: View { .foregroundStyle(theme.onSurfaceVariant) .accessibilityHidden(true) - NavigationLink( - value: NavigationDestination.signingMethodSelectionView( - actionType: actionType, - methods: actionMethods - ) - ) { - HStack { - Text(verbatim: selectedSigningMethodText) - .font(typography.bodyLarge) - .foregroundStyle(theme.onSurface) - .accessibilityLabel(Text(verbatim: - "\(selectedActionMethodLabel) \(selectedSigningMethodText)") - ) - Spacer() - Image("ic_m3_arrow_right_48pt_wght400") - .resizable() - .scaledToFit() - .frame( - width: Dimensions.Icon.IconSizeXXS, - height: Dimensions.Icon.IconSizeXXS - ) - .foregroundStyle(theme.onSurfaceVariant) - .accessibilityHidden(true) + if actionType == .myeid { + Text(verbatim: selectedSigningMethodText) + .font(typography.bodyLarge) + .foregroundStyle(theme.onSurface) + .accessibilityLabel(Text(verbatim: + "\(selectedActionMethodLabel) \(selectedSigningMethodText)") + ) + } else { + NavigationLink( + value: NavigationDestination.signingMethodSelectionView( + actionType: actionType, + methods: actionMethods + ) + ) { + HStack { + Text(verbatim: selectedSigningMethodText) + .font(typography.bodyLarge) + .foregroundStyle(theme.onSurface) + .accessibilityLabel(Text(verbatim: + "\(selectedActionMethodLabel) \(selectedSigningMethodText)") + ) + Spacer() + Image("ic_m3_arrow_right_48pt_wght400") + .resizable() + .scaledToFit() + .frame( + width: Dimensions.Icon.IconSizeXXS, + height: Dimensions.Icon.IconSizeXXS + ) + .foregroundStyle(theme.onSurfaceVariant) + .accessibilityHidden(true) + } } } } @@ -157,10 +165,7 @@ struct ActionInputScreen: View { content - // ID-card via USB shows the button later in the process - if (!isInProgress || - selectedActionMethod == .idCardViaUSB - ) && showSubmitButton { + if !isInProgress && showSubmitButton { PrimaryButton( text: buttonTitle, isButtonEnabled: isActionEnabled, diff --git a/RIADigiDoc/UI/Component/Container/Signing/ActionMethodSelectionView.swift b/RIADigiDoc/UI/Component/Container/Signing/ActionMethodSelectionView.swift index 54a19e3f..dc29056d 100644 --- a/RIADigiDoc/UI/Component/Container/Signing/ActionMethodSelectionView.swift +++ b/RIADigiDoc/UI/Component/Container/Signing/ActionMethodSelectionView.swift @@ -173,7 +173,6 @@ struct ActionMethodSelectionView: View { actionType: .signing, methods: [ .idCardViaNFC, - .idCardViaUSB, .mobileId, .smartId ] diff --git a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardActionView.swift b/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardActionView.swift deleted file mode 100644 index fd596053..00000000 --- a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardActionView.swift +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import SwiftUI -import FactoryKit - -struct IdCardActionView: View { - @Environment(LanguageSettings.self) private var languageSettings - - @AccessibilityFocusState private var isIdCardActionMessageFocused: Bool - - @AppTheme private var theme - @AppTypography private var typography - - var icon: String - - @Binding var message: String - - var body: some View { - VStack(alignment: .center) { - Image(icon) - .resizable() - .scaledToFit() - .foregroundStyle(theme.onSurfaceVariant) - .frame( - width: Dimensions.Icon.IconSizeXXL, - height: Dimensions.Icon.IconSizeXXL - ) - .accessibilityHidden(true) - - Text(verbatim: languageSettings.localized(message)) - .font(typography.headlineSmall) - .foregroundStyle(theme.onSurfaceVariant) - .padding(.horizontal, Dimensions.Padding.LPadding) - .multilineTextAlignment(.center) - .frame(maxWidth: .infinity, alignment: .center) - .accessibilityFocused($isIdCardActionMessageFocused) - .accessibilityAddTraits([.updatesFrequently]) - .onChange(of: message) { _, newValue in - DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { - AccessibilityUtil.announceMessage(newValue) - } - } - } - .padding(.vertical, Dimensions.Padding.LPadding) - .onAppear { - DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { - isIdCardActionMessageFocused = true - } - } - .accessibilityElement(children: .combine) - } -} - -#Preview { - IdCardActionView( - icon: "ic_m3_smart_card_reader_48pt_wght400", - message: .constant("ID card connect card reader") - ) - .environment(Container.shared.languageSettings()) - .environment(Container.shared.themeSettings()) -} diff --git a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardInputView.swift b/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardInputView.swift deleted file mode 100644 index 0c7b19c6..00000000 --- a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardInputView.swift +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import SwiftUI -import FactoryKit -import IdCardLib -import CommonsLib - -struct IdCardInputView: View { - @Environment(LanguageSettings.self) private var languageSettings - - @AppTheme private var theme - @AppTypography private var typography - - @AccessibilityFocusState private var isActionMessageFocused: Bool - - let personIdentifier: String - @Binding var pinNumber: String - @Binding var pinError: String - var actionType: ActionType - var pinType: CodeType - - let onInputChange: () -> Void - - private var pinNumberTitle: String { - languageSettings.localized("PIN code", [pinType.name]) - } - - private var actionMessage: String { - let messageKey = actionType == .decrypt - ? "Ready to decrypt message" - : "Ready to sign message" - - return languageSettings.localized(messageKey) - } - - private var isPinError: Bool { - !pinError.isEmpty - } - - init( - personIdentifier: String, - pinNumber: Binding, - pinError: Binding, - actionType: ActionType, - pinType: CodeType, - onInputChange: @escaping () -> Void - ) { - self.personIdentifier = personIdentifier - self._pinNumber = pinNumber - self._pinError = pinError - self.actionType = actionType - self.pinType = pinType - self.onInputChange = onInputChange - } - - var body: some View { - VStack(alignment: .leading, spacing: Dimensions.Padding.MPadding) { - Text(verbatim: actionMessage) - .font(typography.labelLarge) - .foregroundStyle(theme.onSurfaceVariant) - .accessibilityFocused($isActionMessageFocused) - - Text(verbatim: personIdentifier) - .font(typography.bodyLarge) - .foregroundStyle(theme.onSurface) - - FloatingLabelTextField( - title: pinNumberTitle, - placeholder: pinNumberTitle, - text: $pinNumber, - isSecure: true, - isError: isPinError, - keyboardType: .numberPad, - identifier: "idCardPinNumberField" - ) - .onChange(of: pinNumber) { - onInputChange() - } - - if isPinError { - Text(verbatim: pinError) - .font(typography.bodySmall) - .foregroundStyle(theme.error) - } - } - .onAppear { - DispatchQueue.main.async { - isActionMessageFocused = true - } - } - } -} - -#Preview { - IdCardInputView( - personIdentifier: "Test User, 12345678901", - pinNumber: .constant("123"), - pinError: .constant("PIN length requirement"), - actionType: .signing, - pinType: CodeType.pin2, - onInputChange: {}, - ) - .environment(Container.shared.languageSettings()) - .environment(Container.shared.themeSettings()) -} diff --git a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardLoadingView.swift b/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardLoadingView.swift deleted file mode 100644 index 4f4fd9fe..00000000 --- a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardLoadingView.swift +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import SwiftUI -import FactoryKit -import IdCardLib -import CommonsLib - -struct IdCardLoadingView: View { - @Environment(LanguageSettings.self) private var languageSettings - - @AppTheme private var theme - @AppTypography private var typography - - private let actionType: ActionType - - private var actionMessage: String { - switch actionType { - case .signing: - return languageSettings.localized("Signing in progress") - case .decrypt: - return languageSettings.localized("Decrypting in progress") - default: - break - } - - return "" - } - - init( - actionType: ActionType - ) { - self.actionType = actionType - } - - var body: some View { - VStack(alignment: .center, spacing: Dimensions.Padding.MPadding) { - LoadingView() - .padding(.top, Dimensions.Padding.MPadding) - - Text(verbatim: actionMessage) - .font(typography.titleLarge) - .foregroundStyle(theme.onSurface) - } - } -} - -#Preview { - IdCardLoadingView( - actionType: .signing - ) - .environment(Container.shared.languageSettings()) - .environment(Container.shared.themeSettings()) -} diff --git a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardView.swift b/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardView.swift deleted file mode 100644 index 1156857f..00000000 --- a/RIADigiDoc/UI/Component/Container/Signing/IdCard/IdCardView.swift +++ /dev/null @@ -1,539 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import SwiftUI -import FactoryKit -import CryptoSwift -import LibdigidocLibSwift -import IdCardLib -import CommonsLib - -struct IdCardView: View { - @Environment(\.accessibilityVoiceOverEnabled) private var voiceOverEnabled - @Environment(\.openURL) private var openURL - @Environment(\.dismiss) private var dismiss - @Environment(LanguageSettings.self) private var languageSettings - @Environment(NavigationPathManager.self) private var pathManager - - @State private var actionType: ActionType - @State private var actionMethods: [ActionMethod] - @State private var isActionEnabled = false - @State private var isInProgress: Bool = false - @State private var isShowingPinView: Bool = false - @State private var isShowingLoadingView: Bool = false - @State private var showRoleView: Bool = false - @State private var pinNumber = "" - @State private var idCardActionMessage: String = "ID card connect card reader" - - @State private var viewModel: IdCardViewModel - - @State private var usbReaderStatus: UsbReaderStatus = .sInitial - @State private var idCardData: IdCardData? - - @State private var task: Task? - - let signedContainer: SignedContainerProtocol? - let cryptoContainer: CryptoContainerProtocol? - - let onSuccess: (SignedContainerProtocol) -> Void - let onSuccessDecrypt: (CryptoContainerProtocol) -> Void - - var localizedPinBlockedMessage: String? { - guard let messageKey = viewModel.idCardAlertMessageKey else { return nil } - if messageKey == "PIN blocked" { - let pinBlockedMessage = languageSettings.localized( - messageKey, - viewModel.idCardAlertMessageExtraArguments - ) - - let unblockMessage = languageSettings.localized( - "PIN blocked unblock message" - ) - - return "\(pinBlockedMessage) \(unblockMessage)" - } - - return messageKey - } - - var localizedArguments: [String] { - var localized: [String] = [] - for arg in viewModel.idCardAlertMessageExtraArguments { - localized.append(languageSettings.localized(arg)) - } - - return localized - } - - private var errorMessage: String { - languageSettings.localized( - viewModel.errorMessage ?? "", - viewModel.errorExtraArguments - ) - } - - private var pinNumberError: Binding { - Binding( - get: { languageSettings.localized( - viewModel.pinNumberErrorKey ?? "", - viewModel.pinNumberErrorExtraArguments - ) }, - set: { _ in } - ) - } - - private var personIdentifier: String { - let publicData = idCardData?.publicData - guard let personData = publicData else { return "" } - return viewModel - .formatPersonalIdentifier( - givenName: personData.givenName, - surname: personData.surname, - personalCode: personData.personalCode - ) - } - - private var pinCodeType: CodeType { - actionType == .signing ? .pin2 : .pin1 - } - - private var isIdCardAlertError: Bool { - viewModel.idCardAlertMessageKey?.isEmpty == false - } - - private var signatureAddedMessage: String { - languageSettings.localized("Signature added") - } - - private var generalErrorMessage: String { - languageSettings.localized("General error") - } - - init( - actionType: ActionType, - actionMethods: [ActionMethod], - signedContainer: SignedContainerProtocol? = nil, - cryptoContainer: CryptoContainerProtocol? = nil, - onSuccess: @escaping (SignedContainerProtocol) -> Void = { _ in }, - onSuccessDecrypt: @escaping (CryptoContainerProtocol) -> Void = { _ in } - ) { - _viewModel = State(wrappedValue: Container.shared.idCardViewModel()) - self.actionType = actionType - self.actionMethods = actionMethods - self.signedContainer = signedContainer - self.cryptoContainer = cryptoContainer - self.onSuccess = onSuccess - self.onSuccessDecrypt = onSuccessDecrypt - } - - var body: some View { - ActionInputScreen( - actionType: actionType, - actionMethods: actionMethods, - selectedActionMethod: .idCardViaUSB, - isActionEnabled: $isActionEnabled, - isInProgress: $isInProgress, - showSubmitButton: isShowingPinView, - onBackClick: { - Task { - await viewModel.stopDiscoveringReaders() - } - - guard isInProgress else { - dismiss() - return - } - isInProgress = false - isShowingPinView = false - isShowingLoadingView = false - }, - onSubmit: { - switch actionType { - case .decrypt: - isInProgress = true - isShowingPinView = false - isShowingLoadingView = true - - guard let container = cryptoContainer else { return } - - if usbReaderStatus == .sCardConnected { - Task { - let decryptedContainer = await viewModel.decrypt( - pin1: pinNumber, - cryptoContainer: container - ) - - pinNumber = "" - - let shouldDismiss = viewModel.shouldDismissForError - - guard let container = decryptedContainer else { - if shouldDismiss { - cancelIdCardAction() - await viewModel.stopDiscoveringReaders() - } - - await MainActor.run { - showMessage(message: errorMessage, type: .error) - - viewModel.resetErrors() - resetIdCardAction() - if shouldDismiss { - dismiss() - } - - isInProgress = !viewModel.shouldDismissForError - isShowingPinView = !viewModel.shouldDismissForError - isShowingLoadingView = false - return - } - - return - } - - await viewModel.stopDiscoveringReaders() - cancelIdCardAction() - resetIdCardAction() - - onSuccessDecrypt(container) - dismiss() - } - } - case .signing: - isInProgress = true - isShowingPinView = false - isShowingLoadingView = true - - if usbReaderStatus == .sCardConnected { - Task { - let isRoleDataEnabled = await viewModel.isRoleDataEnabled() - if isRoleDataEnabled { - showRoleView = true - } else { - sign() - } - } - } - case .myeid: - // Do nothing - break - } - }, - content: { - if !isShowingPinView && !isShowingLoadingView { - IdCardActionView( - icon: "ic_m3_smart_card_reader_48pt_wght400", - message: $idCardActionMessage - ) - .accessibilityHidden(!isInProgress) - } else if isInProgress && isShowingPinView { - IdCardInputView( - personIdentifier: personIdentifier, - pinNumber: $pinNumber, - pinError: pinNumberError, - actionType: actionType, - pinType: pinCodeType, - onInputChange: { - isActionEnabled = viewModel - .isActionEnabled(pinNumber: pinNumber, pinType: pinCodeType) - } - ) - } else if isInProgress && isShowingLoadingView { - IdCardLoadingView( - actionType: actionType - ) - } - } - ) - .task { - await viewModel.startDiscoveringReaders() - } - .fullScreenCover(isPresented: $showRoleView) { - RoleView( - onComplete: { roles, city, state, country, zipCode in - showRoleView = false - sign( - roleData: RoleData( - roles: roles - .split(separator: ",") - .map { $0.trimmingCharacters(in: .whitespaces) }, - city: city, - state: state, - country: country, - zipCode: zipCode - ) - ) - } - ) - } - .alert( - languageSettings.localized( - localizedPinBlockedMessage ?? "", - localizedArguments - ), - isPresented: $viewModel.showIdCardAlertMessage - ) { - Button(languageSettings.localized("OK")) { - Task { - await viewModel.stopDiscoveringReaders() - } - viewModel.resetErrors() - viewModel.resetAlertErrors() - dismiss() - } - - if let messageUrl = viewModel.idCardAlertMessageUrl, !messageUrl.isEmpty { - Button(languageSettings.localized("Additional information")) { - if let url = URL(string: languageSettings.localized(messageUrl)), - UIApplication.shared.canOpenURL(url) { - openURL(url) - } - viewModel.resetErrors() - viewModel.resetAlertErrors() - dismiss() - } - } - } - .onChange(of: viewModel.usbReaderStatus) { _, newValue in - usbReaderStatus = newValue - idCardActionMessage = getStatusText(newValue) - - let notInProgressStates: [UsbReaderStatus] = [ - .sInitial, - .sReaderNotConnected, - .sReaderProcessFailed - ] - - isInProgress = !notInProgressStates.contains(newValue) - - pinNumber = "" - - Task { - switch actionType { - case .decrypt: - guard newValue == .sCardConnected else { - await MainActor.run { - isShowingPinView = false - isShowingLoadingView = false - } - return - } - - idCardData = await viewModel.getIdCardData(for: .pin1) - guard idCardData != nil else { - await handleCardError() - return - } - - await MainActor.run { - isShowingLoadingView = false - isShowingPinView = true - } - - case .signing: - guard newValue == .sCardConnected else { - await MainActor.run { - isShowingPinView = false - isShowingLoadingView = false - } - return - } - - idCardData = await viewModel.getIdCardData(for: .pin2) - guard idCardData != nil else { - await handleCardError() - return - } - - await MainActor.run { - isShowingLoadingView = false - isShowingPinView = true - } - - case .myeid: - guard newValue == .sCardConnected else { return } - - let cardData = await viewModel.getIdCardDataMyEid() - guard let cardData else { - await handleCardError() - return - } - - await MainActor.run { - isInProgress = true - pathManager.replaceLast( - to: .myEidView( - idCardData: cardData, - actionMethod: .idCardViaUSB - ) - ) - } - } - } - } - .onDisappear { - isInProgress = false - isShowingPinView = false - isShowingLoadingView = false - idCardActionMessage = "" - pinNumber.removeAll() - cancelIdCardAction() - } - } - - private func handleCardError() async { - await viewModel.stopDiscoveringReaders() - await MainActor.run { - showMessage(message: errorMessage, type: .error) - - viewModel.resetErrors() - resetIdCardAction() - - // Let ID-card alert closure handle dismiss - // Dismiss is run when user has pressed OK button on alert - if !isIdCardAlertError { - dismiss() - } - } - } - - private func getStatusText(_ status: UsbReaderStatus) -> String { - switch status { - case .sInitial, .sReaderNotConnected: - return languageSettings.localized("ID card connect card reader") - case .sReaderConnected: - return languageSettings.localized("ID card reader connected") - case .sCardConnected: - return languageSettings.localized("ID card detected") - case .sReaderProcessFailed: - return languageSettings.localized("ID card reader process failed") - default: - return languageSettings.localized("ID card connect card reader") - } - } - - private func cancelIdCardAction() { - pinNumber.isEmpty ? () : (pinNumber.removeAll()) - isActionEnabled = viewModel - .isActionEnabled(pinNumber: pinNumber, pinType: pinCodeType) - } - - private func resetIdCardAction() { - task?.cancel() - task = nil - viewModel.resetErrors() - } - - private func sign(roleData: RoleData? = nil) { - resetIdCardAction() - - guard let container = signedContainer else { - showMessage(message: generalErrorMessage, type: .error) - return - } - - task = Task { - let updatedContainer = await viewModel.sign( - pin2: pinNumber, - signedContainer: container, - roleData: roleData ?? RoleData( - roles: [], - city: "", - state: "", - country: "", - zipCode: "" - ) - ) - - pinNumber = "" - - let shouldDismiss = viewModel.shouldDismissForError - - guard let container = updatedContainer else { - if shouldDismiss { - cancelIdCardAction() - await viewModel.stopDiscoveringReaders() - } - - await MainActor.run { - showMessage(message: errorMessage, type: .error) - viewModel.resetErrors() - resetIdCardAction() - if shouldDismiss { - dismiss() - } - - if viewModel.showIdCardAlertMessage { - idCardActionMessage = "ID card connect card reader" - isInProgress = false - isShowingPinView = false - isShowingLoadingView = false - } else { - isInProgress = !viewModel.shouldDismissForError - isShowingPinView = !viewModel.shouldDismissForError - isShowingLoadingView = false - } - return - } - - return - } - - await viewModel.stopDiscoveringReaders() - cancelIdCardAction() - - await MainActor.run { - idCardActionMessage = "" - - showMessage(message: signatureAddedMessage, type: .success) - - onSuccess(container) - dismiss() - } - } - } - - private func showMessage(message: String, type: ToastType) { - Toast.show(message, type: type) - - if voiceOverEnabled { - AccessibilityUtil.announceMessage(message) - } - } -} - -#Preview { - IdCardView( - actionType: .signing, - actionMethods: [ - .idCardViaNFC, - .idCardViaUSB, - .mobileId, - .smartId - ], - signedContainer: SignedContainer( - fileManager: Container.shared.fileManager(), - containerUtil: Container.shared.containerUtil() - ), - onSuccess: { _ in } - ) - .environment(Container.shared.languageSettings()) - .environment(Container.shared.themeSettings()) - .environment(NavigationPathManager()) -} diff --git a/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCInputView.swift b/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCInputView.swift index e66e6f69..3a7ad4c5 100644 --- a/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCInputView.swift +++ b/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCInputView.swift @@ -19,7 +19,7 @@ import SwiftUI import FactoryKit -import IdCardLib +import nfclib struct NFCInputView: View { @Environment(\.accessibilityVoiceOverEnabled) private var voiceOverEnabled diff --git a/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCView.swift b/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCView.swift index 80bf779a..22dc6389 100644 --- a/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCView.swift +++ b/RIADigiDoc/UI/Component/Container/Signing/NFC/NFCView.swift @@ -20,7 +20,7 @@ import SwiftUI import FactoryKit import CryptoSwift -import IdCardLib +import nfclib import LibdigidocLibSwift import CommonsLib @@ -422,7 +422,6 @@ struct NFCView: View { actionType: .signing, actionMethods: [ .idCardViaNFC, - .idCardViaUSB, .mobileId, .smartId ], diff --git a/RIADigiDoc/UI/Component/Container/Signing/SigningRootView.swift b/RIADigiDoc/UI/Component/Container/Signing/SigningRootView.swift index 0e68d611..525514b7 100644 --- a/RIADigiDoc/UI/Component/Container/Signing/SigningRootView.swift +++ b/RIADigiDoc/UI/Component/Container/Signing/SigningRootView.swift @@ -19,7 +19,7 @@ import SwiftUI import FactoryKit -import IdCardLib +import nfclib import LibdigidocLibSwift import CommonsLib @@ -52,7 +52,6 @@ struct SigningRootView: View { actionType: .signing, actionMethods: [ .idCardViaNFC, - .idCardViaUSB, .mobileId, .smartId ], @@ -66,26 +65,6 @@ struct SigningRootView: View { } ) } - case .idCardViaUSB: - if let container = signedContainer as? SignedContainerProtocol { - IdCardView( - actionType: .signing, - actionMethods: [ - .idCardViaNFC, - .idCardViaUSB, - .mobileId, - .smartId - ], - signedContainer: container, - onSuccess: { container in - isSuccess = true - sharedContainerViewModel.removeLastContainer() - sharedContainerViewModel.setSignedContainer(container) - sharedContainerViewModel.setIsSignatureAdded(true) - } - ) - .accessibilityHidden(isSuccess) - } case .mobileId: if let container = signedContainer as? SignedContainerProtocol { MobileIdView( diff --git a/RIADigiDoc/UI/Component/My eID/MyEidPinChangeView.swift b/RIADigiDoc/UI/Component/My eID/MyEidPinChangeView.swift index 04e0881c..3080fbaa 100644 --- a/RIADigiDoc/UI/Component/My eID/MyEidPinChangeView.swift +++ b/RIADigiDoc/UI/Component/My eID/MyEidPinChangeView.swift @@ -19,7 +19,7 @@ import SwiftUI import FactoryKit -import IdCardLib +import nfclib import CommonsLib struct MyEidPinChangeView: View { @@ -38,6 +38,32 @@ struct MyEidPinChangeView: View { @State private var codeType: CodeType private var personalCode: String + public func minimumLength(_ type: CodeType) -> Int { + return switch type { + case .pin1: + Constants.Validation.Pin1MinimumLength + case .pin2: + Constants.Validation.Pin2MinimumLength + case .puk: + Constants.Validation.PukMinimumLength + @unknown default: + 0 + } + } + + public func validLength(_ type: CodeType) -> ClosedRange { + return switch type { + case .pin1: + minimumLength(type)...Constants.Validation.PinMaximumLength + case .pin2: + minimumLength(type)...Constants.Validation.PinMaximumLength + case .puk: + minimumLength(type)...Constants.Validation.PinMaximumLength + @unknown default: + 0...0 + } + } + private var inputErrorMessage: String { languageSettings.localized( viewModel.inputErrorMessage ?? "", @@ -95,7 +121,7 @@ struct MyEidPinChangeView: View { private var flowDescription: String { let pinLengthRequirement = languageSettings.localized( "PIN length requirement", - [codeType.name, String(codeType.minimumLength), String(Constants.Validation.PinMaximumLength)] + [codeType.name, String(minimumLength(codeType)), String(Constants.Validation.PinMaximumLength)] ) let newPinDifferenceRequirement = languageSettings.localized( @@ -285,11 +311,6 @@ struct MyEidPinChangeView: View { } viewModel.resetErrors() }) - .onChange(of: viewModel.usbReaderStatus) { _, newValue in - if newValue != .sCardConnected { - dismiss() - } - } .onChange(of: viewModel.step) { _, _ in DispatchQueue.main.async { stepTitleFocused = true diff --git a/RIADigiDoc/UI/Component/My eID/MyEidPinsAndCertificatesView.swift b/RIADigiDoc/UI/Component/My eID/MyEidPinsAndCertificatesView.swift index 112ab873..9cb5b1ac 100644 --- a/RIADigiDoc/UI/Component/My eID/MyEidPinsAndCertificatesView.swift +++ b/RIADigiDoc/UI/Component/My eID/MyEidPinsAndCertificatesView.swift @@ -18,7 +18,7 @@ */ import SwiftUI -import IdCardLib +import nfclib struct MyEidPinsAndCertificatesView: View { @Environment(LanguageSettings.self) private var languageSettings diff --git a/RIADigiDoc/UI/Component/My eID/MyEidRootView.swift b/RIADigiDoc/UI/Component/My eID/MyEidRootView.swift index f61d3207..8bb4adf9 100644 --- a/RIADigiDoc/UI/Component/My eID/MyEidRootView.swift +++ b/RIADigiDoc/UI/Component/My eID/MyEidRootView.swift @@ -19,53 +19,19 @@ import SwiftUI import FactoryKit -import IdCardLib -import LibdigidocLibSwift -import CommonsLib +import nfclib struct MyEidRootView: View { @Environment(\.dismiss) private var dismiss @Environment(NavigationPathManager.self) private var pathManager - @State private var chosenMethod: ActionMethod = .idCardViaNFC - - @State private var viewModel: MyEidRootViewModel - - init() { - _viewModel = State(wrappedValue: Container.shared.myEidRootViewModel()) - } - var body: some View { - ZStack { - switch chosenMethod { - case .idCardViaNFC: - NFCView( - actionType: .myeid, - actionMethods: [ - .idCardViaNFC, - .idCardViaUSB - ], - onSuccess: { _ in } - ) - case .idCardViaUSB: - IdCardView( - actionType: .myeid, - actionMethods: [ - .idCardViaNFC, - .idCardViaUSB - ], - onSuccess: { _ in } - ) - default: - EmptyView() - } - } - .onAppear { - Task { - chosenMethod = await viewModel.getSelectedMyEidMethod() - } - } + NFCView( + actionType: .myeid, + actionMethods: [.idCardViaNFC], + onSuccess: { _ in } + ) } } diff --git a/RIADigiDoc/UI/Component/My eID/MyEidView.swift b/RIADigiDoc/UI/Component/My eID/MyEidView.swift index a4a9aa82..3681a98e 100644 --- a/RIADigiDoc/UI/Component/My eID/MyEidView.swift +++ b/RIADigiDoc/UI/Component/My eID/MyEidView.swift @@ -21,7 +21,7 @@ import SwiftUI import FactoryKit import LibdigidocLibSwift import CommonsLib -import IdCardLib +import nfclib import UtilsLib struct MyEidView: View { @@ -102,10 +102,6 @@ struct MyEidView: View { title: languageSettings.localized("Main home my eid title"), titleAccessibility: languageSettings.localized("My eid title accessibility"), onLeftClick: { - Task { - await viewModel.stopDiscoveringReaders() - } - dismiss() }, content: { @@ -222,15 +218,6 @@ struct MyEidView: View { .accessibilityAddTraits(.isModal) } } - .task(id: viewModel.usbReaderStatus) { - if actionMethod == .idCardViaUSB && - viewModel.usbReaderStatus != .sCardConnected { - await viewModel.stopDiscoveringReaders() - await MainActor.run { - pathManager.replaceLast(to: .myEidRootView) - } - } - } .onAppear { isPin2Activated = !viewModel.getIsPinLocked(for: .pin2) isPin1Blocked = viewModel.getIsPinBlocked(for: .pin1) diff --git a/RIADigiDoc/ViewModel/MyEid/MyEidPinChangeViewModel.swift b/RIADigiDoc/ViewModel/MyEid/MyEidPinChangeViewModel.swift index 93cc06a5..5efd1db3 100644 --- a/RIADigiDoc/ViewModel/MyEid/MyEidPinChangeViewModel.swift +++ b/RIADigiDoc/ViewModel/MyEid/MyEidPinChangeViewModel.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib import CommonsLib import UtilsLib @@ -45,15 +45,10 @@ final class MyEidPinChangeViewModel: MyEidPinChangeViewModelProtocol, Loggable { private(set) var errorMessageExtraArguments: [String] = [] private(set) var isBlocked: Bool = false - private let idCardRepository: IdCardRepositoryProtocol private let sharedMyEidSession: SharedMyEidSessionProtocol private let operationChangePin: OperationChangePinProtocol private let operationUnblockPin: OperationUnblockPinProtocol - var usbReaderStatus: UsbReaderStatus { - sharedMyEidSession.usbReaderStatus - } - var isFirstStep: Bool { stepIndex == 0 } @@ -63,7 +58,6 @@ final class MyEidPinChangeViewModel: MyEidPinChangeViewModelProtocol, Loggable { codeType: CodeType, personalCode: String, actionMethod: ActionMethod, - idCardRepository: IdCardRepositoryProtocol, sharedMyEidSession: SharedMyEidSessionProtocol, operationChangePin: OperationChangePinProtocol, operationUnblockPin: OperationUnblockPinProtocol @@ -72,7 +66,6 @@ final class MyEidPinChangeViewModel: MyEidPinChangeViewModelProtocol, Loggable { self.codeType = codeType self.personalCode = personalCode self.actionMethod = actionMethod - self.idCardRepository = idCardRepository self.sharedMyEidSession = sharedMyEidSession self.operationChangePin = operationChangePin self.operationUnblockPin = operationUnblockPin @@ -243,42 +236,26 @@ final class MyEidPinChangeViewModel: MyEidPinChangeViewModelProtocol, Loggable { nfcStringsUtil: NFCSessionStringsUtil ) async { do { - if actionMethod == .idCardViaUSB { - switch action { - case .change: - try await idCardRepository.changeCode( - codeType, - to: Data(new), - verifyCode: Data(current) - ) - sharedMyEidSession.setIsPinLocked(codeType, isLocked: false) - case .unblock: - try await idCardRepository - .unblockCode(codeType, puk: Data(current), newCode: Data(new)) - sharedMyEidSession.setIsPinBlocked(codeType, isBlocked: false) - } - } else if actionMethod == .idCardViaNFC { - let canNumber = sharedMyEidSession.getCAN() - switch action { - case .change: - try await operationChangePin.startChanging( - canNumber: canNumber, - codeType: codeType, - currentPin: SecureData(current), - newPin: SecureData(new), - strings: nfcStringsUtil.makeForChangePin(pinName: codeType.name) - ) - sharedMyEidSession.setIsPinLocked(codeType, isLocked: false) - case .unblock: - try await operationUnblockPin.startReading( - canNumber: canNumber, - codeType: codeType, - puk: SecureData(current), - newPin: SecureData(new), - strings: nfcStringsUtil.makeForUnblock(pinName: codeType.name) - ) - sharedMyEidSession.setIsPinBlocked(codeType, isBlocked: false) - } + let canNumber = sharedMyEidSession.getCAN() + switch action { + case .change: + try await operationChangePin.startChanging( + canNumber: canNumber, + codeType: codeType, + currentPin: SecureData(current), + newPin: SecureData(new), + strings: nfcStringsUtil.makeForChangePin(pinName: codeType.name) + ) + sharedMyEidSession.setIsPinLocked(codeType, isLocked: false) + case .unblock: + try await operationUnblockPin.startReading( + canNumber: canNumber, + codeType: codeType, + puk: SecureData(current), + newPin: SecureData(new), + strings: nfcStringsUtil.makeForUnblock(pinName: codeType.name) + ) + sharedMyEidSession.setIsPinBlocked(codeType, isBlocked: false) } isSuccess = true } catch { @@ -288,6 +265,8 @@ final class MyEidPinChangeViewModel: MyEidPinChangeViewModelProtocol, Loggable { let idCardError = idCardInternalError.getIdCardError() MyEidPinChangeViewModel.logger().error("IdCardInternalError: \(idCardError)") handleIdCardError(idCardError, pinType: codeType) + } else if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardError(IdCardError(nfcIdCardError.getIdCardError()), pinType: codeType) } else if let idCardError = error as? IdCardError { MyEidPinChangeViewModel.logger().error("IdCardError: \(idCardError)") handleIdCardError(idCardError, pinType: codeType) @@ -445,6 +424,17 @@ final class MyEidPinChangeViewModel: MyEidPinChangeViewModelProtocol, Loggable { } } +extension CodeType { + var validLength: ClosedRange { + switch self { + case .pin1: return 4...12 + case .pin2: return 5...12 + case .puk: return 8...12 + @unknown default: return 4...12 + } + } +} + extension Array where Element == UInt8 { mutating func resetAllBytes() { for indice in indices { self[indice] = 0 } diff --git a/RIADigiDoc/ViewModel/MyEid/MyEidViewModel.swift b/RIADigiDoc/ViewModel/MyEid/MyEidViewModel.swift index 3f4ae6b6..b3e1db84 100644 --- a/RIADigiDoc/ViewModel/MyEid/MyEidViewModel.swift +++ b/RIADigiDoc/ViewModel/MyEid/MyEidViewModel.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib import UtilsLib import CommonsLib @@ -26,18 +26,9 @@ import CommonsLib @MainActor class MyEidViewModel: MyEidViewModelProtocol, Loggable { - private let idCardRepository: IdCardRepositoryProtocol private let sharedMyEidSession: SharedMyEidSessionProtocol - var usbReaderStatus: UsbReaderStatus { - sharedMyEidSession.usbReaderStatus - } - - init( - idCardRepository: IdCardRepositoryProtocol, - sharedMyEidSession: SharedMyEidSessionProtocol - ) { - self.idCardRepository = idCardRepository + init(sharedMyEidSession: SharedMyEidSessionProtocol) { self.sharedMyEidSession = sharedMyEidSession } @@ -85,8 +76,4 @@ class MyEidViewModel: MyEidViewModelProtocol, Loggable { return (date < today) ? .expired : .valid } - public func stopDiscoveringReaders() async { - await idCardRepository.stopDiscoveringReaders() - sharedMyEidSession.stopStatusStream() - } } diff --git a/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSession.swift b/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSession.swift index 2e6d091d..0074aead 100644 --- a/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSession.swift +++ b/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSession.swift @@ -18,14 +18,12 @@ */ import Foundation -import IdCardLib +import nfclib @Observable @MainActor final class SharedMyEidSession: SharedMyEidSessionProtocol { - var usbReaderStatus: UsbReaderStatus = .sInitial - private var isPin1Blocked = false private var isPin2Blocked = false private var isPukBlocked = false @@ -36,13 +34,7 @@ final class SharedMyEidSession: SharedMyEidSessionProtocol { private var isPin2Locked = false private var isPukLocked = false - private let idCardRepository: IdCardRepositoryProtocol - private var task: Task? - - init(idCardRepository: IdCardRepositoryProtocol) { - self.idCardRepository = idCardRepository - startStatusStream() - } + init() { } public func setIsPinLocked(_ codeType: CodeType, isLocked: Bool) { switch codeType { @@ -52,6 +44,8 @@ final class SharedMyEidSession: SharedMyEidSessionProtocol { self.isPin2Locked = isLocked case .puk: self.isPukLocked = isLocked + @unknown default: + break } } @@ -63,6 +57,8 @@ final class SharedMyEidSession: SharedMyEidSessionProtocol { return self.isPin2Locked case .puk: return self.isPukLocked + @unknown default: + return false } } @@ -74,6 +70,8 @@ final class SharedMyEidSession: SharedMyEidSessionProtocol { self.isPin2Blocked = isBlocked case .puk: self.isPukBlocked = isBlocked + @unknown default: + break } } @@ -85,23 +83,11 @@ final class SharedMyEidSession: SharedMyEidSessionProtocol { return self.isPin2Blocked case .puk: return self.isPukBlocked + @unknown default: + return false } } - private func startStatusStream() { - task = Task { - for await status in await idCardRepository.statusStream() { - usbReaderStatus = status - } - } - } - - public func stopStatusStream() { - task?.cancel() - } - - // MARK: - NFC methods - public func setCAN(_ can: String) { self.canNumber = can } diff --git a/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSessionProtocol.swift b/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSessionProtocol.swift index fefc033a..faf03bde 100644 --- a/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSessionProtocol.swift +++ b/RIADigiDoc/ViewModel/MyEid/Shared/SharedMyEidSessionProtocol.swift @@ -18,17 +18,15 @@ */ import Foundation -import IdCardLib +import nfclib /// @mockable @MainActor public protocol SharedMyEidSessionProtocol: Sendable { - var usbReaderStatus: UsbReaderStatus { get } func setIsPinLocked(_ codeType: CodeType, isLocked: Bool) func getIsPinLocked(for codeType: CodeType) -> Bool func setIsPinBlocked(_ codeType: CodeType, isBlocked: Bool) func getIsPinBlocked(for codeType: CodeType) -> Bool - func stopStatusStream() func setCAN(_ can: String) func getCAN() -> String } diff --git a/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidPinChangeViewModelProtocol.swift b/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidPinChangeViewModelProtocol.swift index d61ec677..db28e38a 100644 --- a/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidPinChangeViewModelProtocol.swift +++ b/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidPinChangeViewModelProtocol.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib @MainActor protocol MyEidPinChangeViewModelProtocol: Sendable { diff --git a/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidViewModelProtocol.swift b/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidViewModelProtocol.swift index 6e01cc0f..9e61fef0 100644 --- a/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidViewModelProtocol.swift +++ b/RIADigiDoc/ViewModel/Protocols/MyEid/MyEidViewModelProtocol.swift @@ -18,7 +18,7 @@ */ import Foundation -import IdCardLib +import nfclib /// @mockable @MainActor @@ -28,5 +28,4 @@ public protocol MyEidViewModelProtocol: Sendable { func getDocumentExpirationStatus(expiryDate: String) -> MyEidDocumentStatus func setIsPinBlocked(_ codeType: CodeType, isBlocked: Bool) func getIsPinBlocked(for codeType: CodeType) -> Bool - func stopDiscoveringReaders() async } diff --git a/RIADigiDoc/ViewModel/Protocols/Shared/SharedIdCardViewModelProtocol.swift b/RIADigiDoc/ViewModel/Protocols/Shared/SharedIdCardViewModelProtocol.swift deleted file mode 100644 index 1eb52aec..00000000 --- a/RIADigiDoc/ViewModel/Protocols/Shared/SharedIdCardViewModelProtocol.swift +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation - -/// @mockable -@MainActor -public protocol SharedIdCardViewModelProtocol: Sendable { - func startStatusStreaming() async -} diff --git a/RIADigiDoc/ViewModel/Signing/IdCard/IdCardViewModel.swift b/RIADigiDoc/ViewModel/Signing/IdCard/IdCardViewModel.swift deleted file mode 100644 index 6b037c37..00000000 --- a/RIADigiDoc/ViewModel/Signing/IdCard/IdCardViewModel.swift +++ /dev/null @@ -1,506 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CryptoSwift -import IdCardLib -import CommonsLib -import ASN1Decoder -import UtilsLib -import LibdigidocLibSwift - -@Observable -@MainActor -class IdCardViewModel: IdCardViewModelProtocol, Loggable { - private let idCardRepository: IdCardRepositoryProtocol - private let sharedMyEidSession: SharedMyEidSessionProtocol - private let certificateUtil: CertificateUtilProtocol - private let nameUtil: NameUtilProtocol - private let dataStore: DataStoreProtocol - private let userAgentUtil: UserAgentUtilProtocol - - var errorMessage: String? - var errorExtraArguments: [String] = [] - var shouldDismissForError = false - var showIdCardAlertMessage = false - var idCardAlertMessageKey: String? - var idCardAlertMessageUrl: String? - var idCardAlertMessageExtraArguments: [String] = [] - - var pinNumberErrorKey: String? - var pinNumberErrorExtraArguments: [String] = [] - - var usbReaderStatus: UsbReaderStatus { - sharedMyEidSession.usbReaderStatus - } - - init( - idCardRepository: IdCardRepositoryProtocol, - sharedMyEidSession: SharedMyEidSessionProtocol, - certificateUtil: CertificateUtilProtocol, - nameUtil: NameUtilProtocol, - dataStore: DataStoreProtocol, - userAgentUtil: UserAgentUtilProtocol - ) { - self.idCardRepository = idCardRepository - self.sharedMyEidSession = sharedMyEidSession - self.certificateUtil = certificateUtil - self.nameUtil = nameUtil - self.dataStore = dataStore - self.userAgentUtil = userAgentUtil - } - - func startDiscoveringReaders() async { - await idCardRepository.startDiscoveringReaders() - } - - func stopDiscoveringReaders() async { - await idCardRepository.stopDiscoveringReaders() - sharedMyEidSession.stopStatusStream() - } - - func isActionEnabled(pinNumber: String, pinType: CodeType?) -> Bool { - checkPINNumberValidity(pinNumber: pinNumber, pinType: pinType) - let result = (!pinNumber.isEmpty && pinNumberErrorKey?.isEmpty == true) - return result - } - - func decrypt( - pin1: String, - cryptoContainer: CryptoContainerProtocol?, - ) async - -> CryptoContainerProtocol? { - do { - let containerFile = await cryptoContainer?.getRawContainerFile() ?? URL(fileURLWithPath: "") - let recipients = await cryptoContainer?.getRecipients() ?? [] - let pinSecureData = SecureData(Array(pin1.utf8)) - - let cardCommands = try await idCardRepository.getCardHandler() - - let (retryCount, _) = try await idCardRepository.readCodeTryCounterRecord(for: .pin1) - - if retryCount == 0 { - throw IdCardInternalError.remainingPinRetryCount(Int(retryCount)) - } - - let authCertData = try await idCardRepository.readAuthenticationCertificate() - let container = try await CryptoContainer.decrypt( - containerFile: containerFile, - recipients: recipients, - cert: authCertData, - cardCommands: cardCommands, - pin: pinSecureData, - ) - - return container - } catch { - IdCardViewModel.logger().error("ID-CARD: Unable to decrypt container with ID-card reader. \(error)") - - let nsError = error as NSError - if nsError.localizedDescription == "Failed to find lock for cert" { - IdCardViewModel.logger().error("ID-CARD: Failed to find lock for cert") - errorMessage = "Failed to find lock for cert" - errorExtraArguments = [] - shouldDismissForError = true - return nil - } - - guard let exception = error as? IdCardInternalError else { - IdCardViewModel.logger().error("ID-CARD: ID Card General error.") - errorMessage = "General error" - errorExtraArguments = [] - return nil - } - - let error = exception.getIdCardError() - handleIdCardError(error, pinType: CodeType.pin1) - - return nil - } - } - - func sign( - pin2: String, - signedContainer: SignedContainerProtocol, - roleData: RoleData - ) async -> SignedContainerProtocol? { - do { - let containerFile = await signedContainer.getRawContainerFile() ?? URL(fileURLWithPath: "") - let pinSecureData = SecureData(Array(pin2.utf8)) - - let (retryCount, pinActive) = try await idCardRepository.readCodeTryCounterRecord(for: .pin2) - - if retryCount == 0 { - throw IdCardInternalError.remainingPinRetryCount(Int(retryCount)) - } - if !pinActive { - throw IdCardInternalError.pinLocked - } - - let signatureCertificate = try await idCardRepository.readSignatureCertificate() - - IdCardViewModel.logger().info("ID-CARD: Getting language") - let appLanguage = await dataStore.getSelectedLanguage() - - IdCardViewModel.logger().info("ID-CARD: Getting User-Agent") - let userAgent = userAgentUtil.userAgent(diagnostics: .devices, language: appLanguage) - - let dataToSign: Data - do { - dataToSign = try await prepareSignature( - cert: signatureCertificate, - containerFile: containerFile, - roleData: roleData, - signedContainer: signedContainer, - userAgent: userAgent - ) - } catch { - IdCardViewModel.logger().error( - "ID-CARD: Unable to prepare signature for signing with ID-card reader. \(error)" - ) - handleError(error, codeType: .pin2) - return nil - } - - let signatureData = try await idCardRepository.calculateSignature( - for: dataToSign, - pin2: pinSecureData - ) - - return try await signedContainer.addSignature( - signature: signatureData, - containerFile: containerFile - ) - } catch { - IdCardViewModel.logger().error( - "ID-CARD: Unable to read ID-card data to sign with ID-Card reader. \(error)" - ) - - handleError(error, codeType: .pin2) - return nil - } - } - - func getIdCardData(for codeType: CodeType) async -> IdCardData? { - do { - let publicData = try await getPublicData() - let authCertNotValidDate = try await readAuthenticationCertificateNotValidDate() - let signCertNotValidDate = try await readSignatureCertificateNotValidDate() - let pinResponse = try await readCodeTryCounterRecord() - let isPUKChangeable = try await isPukChangeable() - - if codeType == .pin1 { - if pinResponse.pin1RetryCount == 0 { - throw IdCardInternalError.remainingPinRetryCount(0) - } - } - if codeType == .pin2 { - if pinResponse.pin2RetryCount == 0 { - throw IdCardInternalError.remainingPinRetryCount(0) - } - - if !pinResponse.pin2Active { - throw IdCardInternalError.pinLocked - } - } - - return IdCardData( - publicData: publicData, - authCertNotValidDate: authCertNotValidDate, - signCertNotValidDate: signCertNotValidDate, - pinResponse: pinResponse, - isPUKChangeable: isPUKChangeable - ) - } catch { - IdCardViewModel.logger().error( - "Unable to read ID-card data. \(error)" - ) - - handleError(error, codeType: codeType) - return nil - } - } - - func getIdCardDataMyEid() async -> IdCardData? { - do { - let publicData = try await getPublicData() - let authCertNotValidDate = try await readAuthenticationCertificateNotValidDate() - let signCertNotValidDate = try await readSignatureCertificateNotValidDate() - let pinResponse = try await readCodeTryCounterRecord() - let isPUKChangeable = try await isPukChangeable() - - return IdCardData( - publicData: publicData, - authCertNotValidDate: authCertNotValidDate, - signCertNotValidDate: signCertNotValidDate, - pinResponse: pinResponse, - isPUKChangeable: isPUKChangeable - ) - } catch { - IdCardViewModel.logger().error( - "Unable to read ID-card data. \(error)" - ) - - errorMessage = "General error" - errorExtraArguments = [] - return nil - } - } - - func resetErrors() { - errorMessage = nil - errorExtraArguments = [] - shouldDismissForError = false - } - - func resetAlertErrors() { - showIdCardAlertMessage = false - idCardAlertMessageKey = nil - idCardAlertMessageUrl = nil - idCardAlertMessageExtraArguments = [] - } - - func formatPersonalIdentifier(givenName: String, surname: String, personalCode: String) -> String { - return "\(nameUtil.formatName("\(givenName) \(surname)")), \(personalCode)" - } - - func isRoleDataEnabled() async -> Bool { - await dataStore.getIsRoleAndAddressEnabled() - } - - private func getPublicData() async throws -> CardInfo { - IdCardViewModel.logger().info( - "ID-CARD: Getting public data from ID-card with reader" - ) - - return try await idCardRepository.getPublicData() - } - - private func readAuthenticationCertificateNotValidDate() async throws -> String? { - IdCardViewModel.logger().info( - "Reading authentication certificate from ID-card with reader" - ) - - let authCertData = try await idCardRepository.readAuthenticationCertificate() - return try getNotValidDate(from: authCertData) - } - - private func readSignatureCertificateNotValidDate() async throws -> String? { - IdCardViewModel.logger().info( - "ID-CARD: Reading signature certificate from ID-card with reader" - ) - - let signCertData = try await idCardRepository.readSignatureCertificate() - return try getNotValidDate(from: signCertData) - } - - private func readCodeTryCounterRecord() async throws -> PinResponse { - IdCardViewModel.logger().info( - "ID-CARD: Reading retry counter record from ID-card with reader" - ) - - let pin1Response = try await idCardRepository.readCodeTryCounterRecord(for: .pin1) - let pin2Response = try await idCardRepository.readCodeTryCounterRecord(for: .pin2) - let pukResponse = try await idCardRepository.readCodeTryCounterRecord(for: .puk) - return PinResponse( - pin1RetryCount: pin1Response.retryCount, - pin1Active: pin1Response.pinActive, - pin2RetryCount: pin2Response.retryCount, - pin2Active: pin2Response.pinActive, - pukRetryCount: pukResponse.retryCount, - pukActive: pukResponse.pinActive, - ) - } - - private func isPukChangeable() async throws -> Bool { - IdCardViewModel.logger().info( - "ID-CARD: Reading if PUK is changeable for this ID-card with reader" - ) - - return try await idCardRepository.isPUKChangeable() - } - - private func getNotValidDate(from certData: Data) throws -> String? { - let certificate = try X509Certificate(data: certData) - let notValidAfterDate = certificate.notAfter - guard let notValidAfter = notValidAfterDate else { - IdCardViewModel.logger().error( - "ID-CARD: Certificate does not contain a valid 'notAfter' date" - ) - return nil - } - return DateUtil.getFormattedDateTime( - date: notValidAfter, - isUTC: false - ).date - } - - private func handleIdCardError(_ error: IdCardError, pinType: CodeType) { - IdCardViewModel.logger().error("ID-CARD: ID Card error: \(error)") - - switch error { - case .cancelledByUser: - errorMessage = nil - errorExtraArguments = [] - shouldDismissForError = true - case .pinLocked: - showIdCardAlertMessage = true - idCardAlertMessageKey = "PIN2 locked" - idCardAlertMessageUrl = "PIN2 locked URL" - case .wrongPIN(let triesLeft): - if triesLeft > 1 { - errorMessage = "PIN verification error multiple" - errorExtraArguments = [pinType.name, String(triesLeft)] - } else if triesLeft == 1 { - errorMessage = "PIN verification error one" - errorExtraArguments = [pinType.name] - } else { - showIdCardAlertMessage = true - idCardAlertMessageKey = "PIN blocked" - idCardAlertMessageExtraArguments = [pinType.name] - } - case .sessionError: - errorMessage = "General error" - errorExtraArguments = [] - shouldDismissForError = true - default: - errorMessage = "General error" - errorExtraArguments = [] - shouldDismissForError = true - } - } - - private func checkPINNumberValidity(pinNumber: String, pinType: CodeType?) { - let minLen = if pinType == .pin1 { - Constants.Validation.Pin1MinimumLength - } else if pinType == .pin2 { - Constants.Validation.Pin2MinimumLength - } else { - Constants.Validation.PukMinimumLength - } - - let maxLen = Constants.Validation.PinMaximumLength - - guard pinNumber.isEmpty || ( - pinNumber.count >= minLen && - pinNumber.count <= maxLen && - pinNumber.allSatisfy { $0.isNumber } - ) else { - pinNumberErrorKey = "PIN length requirement" - pinNumberErrorExtraArguments = [pinType?.name ?? "", String(minLen), String(maxLen)] - return - } - pinNumberErrorKey = "" - } - - private func prepareSignature( - cert: Data, - containerFile: URL, - roleData: RoleData, - signedContainer: SignedContainerProtocol, - userAgent: String - ) async throws -> Data { - IdCardViewModel.logger().info( - "ID-CARD: Preparing signature. Calculating hash" - ) - - return try await signedContainer.prepareSignature( - cert: cert, - containerPath: containerFile, - roleData: roleData, - userAgent: userAgent - ) - } - - private func handleError(_ error: Error, codeType: CodeType) { - switch error { - case let cancellationError as CancellationError: - IdCardViewModel.logger().error("ID-card signing manually cancelled: \(cancellationError)") - return - - case let idCardError as IdCardError: - handleIdCardError(idCardError, pinType: codeType) - - case let idCardInternalError as IdCardInternalError: - let idCardError = idCardInternalError.getIdCardError() - handleIdCardError(idCardError, pinType: codeType) - - case let digidocError as DigiDocError: - handleSignatureAddingError(digidocError) - - default: - errorMessage = "General error" - errorExtraArguments = [] - } - } - - private func handleSignatureAddingError(_ error: Error) { - IdCardViewModel.logger().error("Unable to sign container with ID-card: \(error)") - - guard let digidocError = error as? DigiDocError else { - errorMessage = "General error" - return - } - - switch digidocError { - case .signatureAddingFailed(let errorDetail): - let message = errorDetail.message - - let sslError = "Failed to create ssl connection with host" - let tooManyRequestsError = "Too Many Requests" - let ocspError = "OCSP response not in valid time slot" - let revokedCertError = "Certificate status: revoked" - let connectError = "CONNECT: 403" - let failedToConnectError = "Failed to connect" - let proxyError = "Failed to authenticate with proxy" - - switch true { - case message.contains(sslError): - errorMessage = "SSL handshake failed" - - case message.contains(tooManyRequestsError): - showIdCardAlertMessage = true - idCardAlertMessageKey = "Too many requests" - idCardAlertMessageUrl = "Too many requests url" - idCardAlertMessageExtraArguments = ["ID card conditional speech"] - - case message.contains(ocspError): - showIdCardAlertMessage = true - idCardAlertMessageKey = "OCSP response not in valid time slot" - idCardAlertMessageUrl = "OCSP response not in valid time slot url" - - case message.contains(revokedCertError): - errorMessage = "Certificate status revoked" - - case message.contains(connectError), message.contains(failedToConnectError): - errorMessage = "No Internet connection" - - case message.contains(proxyError): - errorMessage = "Invalid proxy settings" - - default: - errorMessage = "Signing technical error" - errorExtraArguments = ["ID card conditional speech"] - } - - default: - errorMessage = "General error" - } - } -} diff --git a/RIADigiDoc/ViewModel/Signing/IdCard/IdCardViewModelProtocol.swift b/RIADigiDoc/ViewModel/Signing/IdCard/IdCardViewModelProtocol.swift deleted file mode 100644 index c8b0c558..00000000 --- a/RIADigiDoc/ViewModel/Signing/IdCard/IdCardViewModelProtocol.swift +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import CryptoSwift -import IdCardLib - -/// @mockable -@MainActor -public protocol IdCardViewModelProtocol: Sendable { - func startDiscoveringReaders() async - func stopDiscoveringReaders() async - func isActionEnabled(pinNumber: String, pinType: CodeType?) -> Bool - func decrypt( - pin1: String, - cryptoContainer: CryptoContainerProtocol? - ) async -> CryptoContainerProtocol? - func getIdCardData(for codeType: CodeType) async -> IdCardData? - func getIdCardDataMyEid() async -> IdCardData? - func resetErrors() - func formatPersonalIdentifier(givenName: String, surname: String, personalCode: String) -> String - func isRoleDataEnabled() async -> Bool -} diff --git a/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModel.swift b/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModel.swift index eea8e433..bd537e1c 100644 --- a/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModel.swift +++ b/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModel.swift @@ -20,7 +20,7 @@ import Foundation import CryptoObjCWrapper import CryptoSwift -import IdCardLib +import nfclib import LibdigidocLibSwift import CommonsLib import UtilsLib @@ -243,6 +243,11 @@ class NFCViewModel: NFCViewModelProtocol, Loggable { return nil } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardError(IdCardError(nfcIdCardError.getIdCardError()), pinType: CodeType.pin1) + return nil + } + if let decryptError = error as? DecryptError { NFCViewModel.logger().error("NFC: ReadCertAndDecryptError: \(decryptError.localizedDescription)") handleDecryptError(error: decryptError) @@ -419,6 +424,11 @@ class NFCViewModel: NFCViewModelProtocol, Loggable { return nil } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardError(IdCardError(nfcIdCardError.getIdCardError()), pinType: .pin2) + return nil + } + if let readCertSignError = error as? ReadCertAndSignError { NFCViewModel.logger().error("NFC: ReadCertAndSignError: \(readCertSignError.localizedDescription)") handleReadCertAndSignError(error: readCertSignError) @@ -505,6 +515,11 @@ class NFCViewModel: NFCViewModelProtocol, Loggable { return nil } + if let nfcIdCardError = error as? nfclib.IdCardInternalError { + handleIdCardError(IdCardError(nfcIdCardError.getIdCardError()), pinType: .pin2) + return nil + } + NFCViewModel.logger().error("NFC: Unexpected error type: \(type(of: error))") NFCViewModel.logger().error("NFC: Error details: \(error)") nfcErrorKey = "General error" diff --git a/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModelProtocol.swift b/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModelProtocol.swift index 883a54cc..cf3a93b1 100644 --- a/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModelProtocol.swift +++ b/RIADigiDoc/ViewModel/Signing/NFC/NFCViewModelProtocol.swift @@ -19,7 +19,7 @@ import Foundation import CryptoSwift -import IdCardLib +import nfclib import LibdigidocLibSwift import CommonsLib diff --git a/RIADigiDocTests/Domain/Repository/IdCard/IdCardRepositoryTests.swift b/RIADigiDocTests/Domain/Repository/IdCard/IdCardRepositoryTests.swift deleted file mode 100644 index 9be6a954..00000000 --- a/RIADigiDocTests/Domain/Repository/IdCard/IdCardRepositoryTests.swift +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import Testing -import IdCardLib -import IdCardLibMocks - -struct IdCardRepositoryTests { - - private let mockIdCardService: IdCardServiceProtocolMock - private let repository: IdCardRepository - - init() async throws { - mockIdCardService = IdCardServiceProtocolMock() - repository = IdCardRepository( - idCardService: mockIdCardService - ) - } - - @Test - func startDiscoveringReaders_success() async throws { - await repository.startDiscoveringReaders() - - #expect(mockIdCardService.startDiscoveringReadersCallCount == 1) - } - - @Test - func stopDiscoveringReaders_success() async throws { - await repository.stopDiscoveringReaders() - - #expect(mockIdCardService.stopDiscoveringReadersCallCount == 1) - } - - @Test - func getCardHandler_success() async throws { - let mockCardCommands = CardCommandsMock() - - mockIdCardService.getCardHandlerHandler = { - mockCardCommands - } - - let result = try await repository.getCardHandler() - - #expect(result as? CardCommandsMock === mockCardCommands) - #expect(mockIdCardService.getCardHandlerCallCount == 1) - } - - @Test - func getCardHandler_throwIdCardInternalErrorWhenConnectionFailed() async throws { - mockIdCardService.getCardHandlerHandler = { - throw IdCardInternalError.connectionFailed - } - - await #expect(throws: IdCardInternalError.connectionFailed) { - try await repository.getCardHandler() - } - } - - @Test - func readAuthenticationCertificate_success() async throws { - let expected = Data([0x01]) - - mockIdCardService.readAuthenticationCertificateHandler = { - expected - } - - let result = try await repository.readAuthenticationCertificate() - - #expect(result == expected) - } - - @Test - func readSignatureCertificate_success() async throws { - let expected = Data([0x02]) - - mockIdCardService.readSignatureCertificateHandler = { - expected - } - - let result = try await repository.readSignatureCertificate() - - #expect(result == expected) - } - - @Test - func readCodeTryCounterRecord_success() async throws { - let expected: (retryCount: UInt8, pinActive: Bool) = (3, true) - - mockIdCardService.readCodeTryCounterRecordHandler = { _ in - expected - } - - let result = try await repository.readCodeTryCounterRecord(for: .pin1) - - #expect(result.retryCount == expected.retryCount) - #expect(result.pinActive == expected.pinActive) - } - - @Test - func isPUKChangeable_success() async throws { - mockIdCardService.isPUKChangeableHandler = { - true - } - - let result = try await repository.isPUKChangeable() - - #expect(result) - } - - @Test - func changeCode_success() async throws { - await #expect(throws: Never.self) { - try await repository.changeCode( - .pin1, - to: Data([0x01]), - verifyCode: Data([0x02]) - ) - } - - #expect(mockIdCardService.changeCodeCallCount == 1) - } - - @Test - func unblockCode_success() async throws { - await #expect(throws: Never.self) { - try await repository.unblockCode( - .pin1, - puk: Data([0x00]), - newCode: Data([0x01]) - ) - } - - #expect(mockIdCardService.unblockCodeCallCount == 1) - } - - @Test - func calculateSignature_success() async throws { - let expected = Data([0xAB]) - let pin2 = SecureData([1, 2, 3, 4, 5]) - - mockIdCardService.calculateSignatureHandler = { _, _ in - expected - } - - let result = try await repository.calculateSignature( - for: Data([0x01]), - pin2: pin2 - ) - - #expect(result == expected) - #expect(mockIdCardService.calculateSignatureCallCount == 1) - } - - @Test - func calculateSignature_throwConnectionFailedErrorWhenUnableToCalculateSignature() async throws { - mockIdCardService.calculateSignatureHandler = { _, _ in - throw IdCardInternalError.connectionFailed - } - - await #expect(throws: IdCardInternalError.connectionFailed) { - try await repository.calculateSignature( - for: Data(), - pin2: SecureData([1, 2, 3, 4, 5]) - ) - } - } -} diff --git a/RIADigiDocTests/TestPlans/AllTests.xctestplan b/RIADigiDocTests/TestPlans/AllTests.xctestplan index e85965ee..34e2c4a1 100644 --- a/RIADigiDocTests/TestPlans/AllTests.xctestplan +++ b/RIADigiDocTests/TestPlans/AllTests.xctestplan @@ -12,13 +12,6 @@ }, "testTargets" : [ - { - "target" : { - "containerPath" : "container:Modules\/IdCardLib", - "identifier" : "IdCardLibTests", - "name" : "IdCardLibTests" - } - }, { "target" : { "containerPath" : "container:RIADigiDoc.xcodeproj", diff --git a/RIADigiDocTests/ViewModel/MyEid/MyEidPinChangeViewModelTests.swift b/RIADigiDocTests/ViewModel/MyEid/MyEidPinChangeViewModelTests.swift index cdd87611..d71fd16f 100644 --- a/RIADigiDocTests/ViewModel/MyEid/MyEidPinChangeViewModelTests.swift +++ b/RIADigiDocTests/ViewModel/MyEid/MyEidPinChangeViewModelTests.swift @@ -18,17 +18,15 @@ */ import Testing -import IdCardLib +import nfclib @MainActor final class MyEidPinChangeViewModelTests { - private let mockIdCardRepository: IdCardRepositoryProtocolMock private let mockSharedMyEidSession: SharedMyEidSessionProtocolMock private let mockOperationChangePin: OperationChangePinProtocolMock private let mockOperationUnblockPin: OperationUnblockPinProtocolMock public init() async throws { - mockIdCardRepository = IdCardRepositoryProtocolMock() mockSharedMyEidSession = SharedMyEidSessionProtocolMock() mockOperationChangePin = OperationChangePinProtocolMock() mockOperationUnblockPin = OperationUnblockPinProtocolMock() @@ -51,7 +49,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -65,23 +62,6 @@ final class MyEidPinChangeViewModelTests { #expect(viewModel.isFirstStep == true) } - @Test - func init_unblockPin2Success() async throws { - let viewModel = MyEidPinChangeViewModel( - pinAction: .unblock, - codeType: .pin2, - personalCode: "39001010000", - actionMethod: .idCardViaUSB, - idCardRepository: mockIdCardRepository, - sharedMyEidSession: mockSharedMyEidSession, - operationChangePin: mockOperationChangePin, - operationUnblockPin: mockOperationUnblockPin - ) - - #expect(viewModel.pinAction == .unblock) - #expect(viewModel.codeType == .pin2) - #expect(viewModel.actionMethod == .idCardViaUSB) - } // MARK: - handleBackButton tests @@ -92,7 +72,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -111,7 +90,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -137,7 +115,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -155,7 +132,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -173,7 +149,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin2, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -191,7 +166,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin2, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -209,7 +183,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -227,7 +200,6 @@ final class MyEidPinChangeViewModelTests { codeType: .puk, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -245,7 +217,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -265,7 +236,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -284,7 +254,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -305,7 +274,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -325,7 +293,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -347,7 +314,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -373,7 +339,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -400,7 +365,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -428,7 +392,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -455,7 +418,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin @@ -480,7 +442,6 @@ final class MyEidPinChangeViewModelTests { codeType: .pin1, personalCode: "39001010000", actionMethod: .idCardViaNFC, - idCardRepository: mockIdCardRepository, sharedMyEidSession: mockSharedMyEidSession, operationChangePin: mockOperationChangePin, operationUnblockPin: mockOperationUnblockPin diff --git a/RIADigiDocTests/ViewModel/MyEid/Shared/SharedMyEidSessionTests.swift b/RIADigiDocTests/ViewModel/MyEid/Shared/SharedMyEidSessionTests.swift index 6dc86450..810a8e4c 100644 --- a/RIADigiDocTests/ViewModel/MyEid/Shared/SharedMyEidSessionTests.swift +++ b/RIADigiDocTests/ViewModel/MyEid/Shared/SharedMyEidSessionTests.swift @@ -23,20 +23,8 @@ import Testing final class SharedMyEidSessionTests { private let sharedMyEidSession: SharedMyEidSession - private let mockIdCardRepository: IdCardRepositoryProtocolMock - init() async throws { - mockIdCardRepository = IdCardRepositoryProtocolMock() - - mockIdCardRepository.statusStreamHandler = { - AsyncStream { continuation in - continuation.finish() - } - } - - sharedMyEidSession = SharedMyEidSession( - idCardRepository: mockIdCardRepository - ) + sharedMyEidSession = SharedMyEidSession() } // MARK: - PIN1 tests diff --git a/RIADigiDocTests/ViewModel/Signing/ActionMethodSelectionViewModelTests.swift b/RIADigiDocTests/ViewModel/Signing/ActionMethodSelectionViewModelTests.swift index 9e4d3caa..8e844f9b 100644 --- a/RIADigiDocTests/ViewModel/Signing/ActionMethodSelectionViewModelTests.swift +++ b/RIADigiDocTests/ViewModel/Signing/ActionMethodSelectionViewModelTests.swift @@ -55,14 +55,14 @@ final class ActionMethodSelectionViewModelTests { func setSelectedMyEidMethod_success() async { mockDataStore.setSelectedMyEidMethodHandler = { _ in } - await viewModel.setSelectedMyEidMethod(.idCardViaUSB) + await viewModel.setSelectedMyEidMethod(.idCardViaNFC) #expect(mockDataStore.setSelectedMyEidMethodCallCount == 1) } @Test func getSelectedMyEidMethod_success() async { - let actionMethod: ActionMethod = .idCardViaUSB + let actionMethod: ActionMethod = .idCardViaNFC mockDataStore.getSelectedMyEidMethodHandler = { actionMethod } diff --git a/RIADigiDocTests/ViewModel/Signing/IdCard/IdCardViewModelTests.swift b/RIADigiDocTests/ViewModel/Signing/IdCard/IdCardViewModelTests.swift deleted file mode 100644 index c846df45..00000000 --- a/RIADigiDocTests/ViewModel/Signing/IdCard/IdCardViewModelTests.swift +++ /dev/null @@ -1,564 +0,0 @@ -/* - * Copyright 2017 - 2026 Riigi Infosüsteemi Amet - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -import Foundation -import Testing -import CommonsLib -import IdCardLib -import LibdigidocLibSwift -import LibdigidocLibSwiftMocks -import UtilsLibMocks - -@MainActor -final class IdCardViewModelTests { - - private let mockRepository: IdCardRepositoryProtocolMock - private let mockSession: SharedMyEidSessionProtocolMock - private let mockCertificateUtil: CertificateUtilProtocolMock - private let mockNameUtil: NameUtilProtocolMock - private let mockDataStore: DataStoreProtocolMock - private let mockUserAgentUtil: UserAgentUtilProtocolMock - private let viewModel: IdCardViewModel - - init() async throws { - mockRepository = IdCardRepositoryProtocolMock() - mockSession = SharedMyEidSessionProtocolMock() - mockCertificateUtil = CertificateUtilProtocolMock() - mockNameUtil = NameUtilProtocolMock() - mockDataStore = DataStoreProtocolMock() - mockUserAgentUtil = UserAgentUtilProtocolMock() - - viewModel = IdCardViewModel( - idCardRepository: mockRepository, - sharedMyEidSession: mockSession, - certificateUtil: mockCertificateUtil, - nameUtil: mockNameUtil, - dataStore: mockDataStore, - userAgentUtil: mockUserAgentUtil - ) - } - - @Test - func sign_success() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: ["Role"], city: "City", state: "State", country: "EE", zipCode: "12345") - - let expectedSignature = Data([0x01]) - let expectedFinalContainer = SignedContainerProtocolMock() - - mockSignedContainer.getRawContainerFileHandler = { - URL(fileURLWithPath: "/tmp/test.asice") - } - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data([0xAA]) } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in - Data([0xBB]) - } - - mockRepository.calculateSignatureHandler = { _, _ in - expectedSignature - } - - mockSignedContainer.addSignatureHandler = { _, _ in - expectedFinalContainer - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: roleData - ) - - #expect(result as? SignedContainerProtocolMock === expectedFinalContainer) - } - - @Test - func sign_returnNilWhenRetryCountZero() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in (0, true) } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - } - - @Test - func sign_returnNilWhenPinLocked() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, false) } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - } - - @Test - func sign_returnNilWhenPrepareSignatureThrowsError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data([0xAA]) } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in - throw NSError(domain: "Test", code: 1) - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - } - - @Test - func sign_returnNilWhenCalculateSignatureThrows() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data([0xAA]) } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in - Data([0xBB]) - } - - mockRepository.calculateSignatureHandler = { _, _ in - throw IdCardInternalError.connectionFailed - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - } - - @Test - func sign_returnNilWhenReadCodeTryCounterRecordThrowsError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in - throw IdCardInternalError.connectionFailed - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - } - - @Test - func sign_setShouldDismissWhenCancelledByUser() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in - throw IdCardError.cancelledByUser - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - #expect(viewModel.errorMessage == nil) - #expect(viewModel.shouldDismissForError) - } - - @Test - func sign_showAlertWhenPinLocked() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in - throw IdCardError.pinLocked - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - #expect(viewModel.showIdCardAlertMessage) - #expect(viewModel.idCardAlertMessageKey == "PIN2 locked") - #expect(viewModel.idCardAlertMessageUrl == "PIN2 locked URL") - } - - @Test - func sign_setErrorMessageWhenWrongPinMultipleTriesLeft() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in - throw IdCardError.wrongPIN(triesLeft: 2) - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - #expect(viewModel.errorMessage == "PIN verification error multiple") - #expect(viewModel.errorExtraArguments == ["PIN2", "2"]) - } - - @Test - func sign_setErrorMessageWhenWrongPinOneTryLeft() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in - throw IdCardError.wrongPIN(triesLeft: 1) - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - #expect(viewModel.errorMessage == "PIN verification error one") - #expect(viewModel.errorExtraArguments == ["PIN2"]) - } - - @Test - func sign_showAlertWhenWrongPinNoTriesLeft() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in - throw IdCardError.wrongPIN(triesLeft: 0) - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - #expect(viewModel.showIdCardAlertMessage) - #expect(viewModel.idCardAlertMessageKey == "PIN blocked") - #expect(viewModel.idCardAlertMessageExtraArguments == ["PIN2"]) - } - - @Test - func sign_setGeneralErrorAndDismissWhenSessionError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - - mockRepository.readCodeTryCounterRecordHandler = { _ in - throw IdCardError.sessionError - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: .init(roles: [], city: "", state: "", country: "", zipCode: "") - ) - - #expect(result == nil) - #expect(viewModel.errorMessage == "General error") - #expect(viewModel.shouldDismissForError) - } - - @Test - func sign_setSslErrorMessageWhenSignatureAddingFailsWithSslError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "Failed to create ssl connection with host") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign( - pin2: "12345", - signedContainer: mockSignedContainer, - roleData: roleData - ) - - #expect(result == nil) - #expect(viewModel.errorMessage == "SSL handshake failed") - } - - @Test - func sign_dontSetErrorWhenSignatureAddingCancelled() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - mockSignedContainer.addSignatureHandler = { _, _ in - throw CancellationError() - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.errorMessage == nil) - #expect(!viewModel.showIdCardAlertMessage) - } - - @Test - func sign_setGeneralErrorWhenSignatureAddingThrowsNonDigiDocError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - mockSignedContainer.addSignatureHandler = { _, _ in - throw NSError(domain: "Test", code: 1) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.errorMessage == "General error") - } - - @Test - func sign_showAlertWhenSignatureAddingFailsWithTooManyRequestsError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "Too Many Requests") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.showIdCardAlertMessage) - #expect(viewModel.idCardAlertMessageKey == "Too many requests") - #expect(viewModel.idCardAlertMessageUrl == "Too many requests url") - #expect(viewModel.idCardAlertMessageExtraArguments == ["ID card conditional speech"]) - } - - @Test - func sign_showAlertWhenSignatureAddingFailsWithOcspError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "OCSP response not in valid time slot") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.showIdCardAlertMessage) - #expect(viewModel.idCardAlertMessageKey == "OCSP response not in valid time slot") - #expect(viewModel.idCardAlertMessageUrl == "OCSP response not in valid time slot url") - } - - @Test - func sign_setErrorMessageWhenSignatureAddingFailsWithRevokedCertificateError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "Certificate status: revoked") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.errorMessage == "Certificate status revoked") - } - - @Test - func sign_setErrorMessageWhenSignatureAddingFailsWithConnect403Error() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "CONNECT: 403") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.errorMessage == "No Internet connection") - } - - @Test - func sign_setErrorMessageWhenSignatureAddingFailsWithFailedToConnectError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "Failed to connect") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.errorMessage == "No Internet connection") - } - - @Test - func sign_setErrorMessageWhenSignatureAddingFailsWithProxyError() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "Failed to authenticate with proxy") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.errorMessage == "Invalid proxy settings") - } - - @Test - func sign_setSigningTechnicalErrorWhenSignatureAddingFailsWithUnknownMessage() async throws { - let mockSignedContainer = SignedContainerProtocolMock() - let roleData = RoleData(roles: [], city: "", state: "", country: "", zipCode: "") - - mockRepository.readCodeTryCounterRecordHandler = { _ in (3, true) } - mockRepository.readSignatureCertificateHandler = { Data() } - mockDataStore.getSelectedLanguageHandler = { "et" } - mockUserAgentUtil.userAgentHandler = { _, _ in "TestUserAgent" } - - mockSignedContainer.getRawContainerFileHandler = { URL(fileURLWithPath: "/tmp/test") } - mockSignedContainer.prepareSignatureHandler = { _, _, _, _ in Data() } - mockRepository.calculateSignatureHandler = { _, _ in Data() } - - let errorDetail = ErrorDetail(message: "Unknown signing failure") - mockSignedContainer.addSignatureHandler = { _, _ in - throw DigiDocError.signatureAddingFailed(errorDetail) - } - - let result = await viewModel.sign(pin2: "12345", signedContainer: mockSignedContainer, roleData: roleData) - - #expect(result == nil) - #expect(viewModel.errorMessage == "Signing technical error") - #expect(viewModel.errorExtraArguments == ["ID card conditional speech"]) - } -} diff --git a/RIADigiDocTests/ViewModel/Signing/NFC/NFCViewModelTests.swift b/RIADigiDocTests/ViewModel/Signing/NFC/NFCViewModelTests.swift index 85fbca54..f844d052 100644 --- a/RIADigiDocTests/ViewModel/Signing/NFC/NFCViewModelTests.swift +++ b/RIADigiDocTests/ViewModel/Signing/NFC/NFCViewModelTests.swift @@ -20,7 +20,7 @@ import CommonsLib import CryptoSwift import Foundation -import IdCardLib +import nfclib import LibdigidocLibSwift import LibdigidocLibSwiftMocks import Testing diff --git a/scripts/GenerateMocks.sh b/scripts/GenerateMocks.sh index e4edf449..e8d51658 100755 --- a/scripts/GenerateMocks.sh +++ b/scripts/GenerateMocks.sh @@ -13,7 +13,6 @@ modules=( "CryptoLib" "MobileIdLib" "SmartIdLib" - "IdCardLib" ) extensions=( @@ -60,10 +59,6 @@ for module in "${modules[@]}"; do custom_imports=("SmartIdLib") testable_imports="" ;; - "IdCardLib") - custom_imports=("IdCardLib") - testable_imports="" - ;; *) custom_imports=() testable_imports=""