diff --git a/AndroidBinding1/nfc-sdk.aar b/AndroidBinding1/nfc-sdk.aar
index c07e480..ccd0e04 100644
Binary files a/AndroidBinding1/nfc-sdk.aar and b/AndroidBinding1/nfc-sdk.aar differ
diff --git a/NFCLockDemoV2/MainPage.xaml b/NFCLockDemoV2/MainPage.xaml
index 4ace71b..8477fd3 100644
--- a/NFCLockDemoV2/MainPage.xaml
+++ b/NFCLockDemoV2/MainPage.xaml
@@ -38,6 +38,14 @@
HorizontalOptions="Center"
VerticalOptions="Center"
HorizontalTextAlignment="Center" />
+
diff --git a/NFCLockDemoV2/MainPage.xaml.cs b/NFCLockDemoV2/MainPage.xaml.cs
index fccfc15..e289a7f 100644
--- a/NFCLockDemoV2/MainPage.xaml.cs
+++ b/NFCLockDemoV2/MainPage.xaml.cs
@@ -1,6 +1,6 @@
using NFCLockDemoV2.ViewModels;
-#if IOS
+#if IOS && !MACCATALYST
using Foundation;
using NFCManager = NfcLock.Ios.Binding.NFCManager;
#endif
@@ -11,35 +11,68 @@ public partial class MainPage : ContentPage
{
private MainViewModel _mainMainViewModel;
-#if IOS
+#if IOS && !MACCATALYST
private void SetNFCCallbacks()
{
- NFCManager.SetLoopCbWithCb((NSString id, bool isNew,int rssi) => {
+ NFCManager.Shared.SetDeviceDiscoveredCallback((NSString id, int isNew, int rssi) => {
_mainMainViewModel.DeviceId = id;
_mainMainViewModel.DeviceRssi = rssi.ToString();
- return true;
+ NFCManager.Shared.ShowTipsWith("Device detected");
});
- NFCManager.SetFinishedCbWithCb(() =>
+ NFCManager.Shared.SetOperationFinishedCallback(() =>
{
- System.Diagnostics.Debug.WriteLine("finished");
_mainMainViewModel.DeviceId = "--";
_mainMainViewModel.DeviceRssi = "--";
_mainMainViewModel.DeviceStatus = "NFC操作完成";
_mainMainViewModel.Operation = null;
_mainMainViewModel.ArcProgress = 0;
});
-
- NFCManager.SetChargingCbWithCb((NSString res, int level) =>
+
+ NFCManager.Shared.SetChargingCallback((NSString res, int level) =>
{
- System.Diagnostics.Debug.WriteLine($"res: {res}, level: {level}");
- _mainMainViewModel.UpdateMessage($"充电中({level}%)");
- _mainMainViewModel.ArcProgress = level;
+ if (res == "OK")
+ {
+ _mainMainViewModel.UpdateMessage($"充电中({level}%)");
+ _mainMainViewModel.ArcProgress = level;
+ NFCManager.Shared.ShowTipsWith($"Charing ({level})%)");
+ }
+ else if (res == "UNAUTHORIZED")
+ {
+ NFCManager.Shared.EndScanWith("验证失败");
+ }
+ else
+ {
+ NFCManager.Shared.EndScanWith("充电失败");
+ }
});
-
- NFCManager.SetControllingCbWithCb((NSString res, int progress) =>
+
+ NFCManager.Shared.SetControllingCallback((NSString res, int progress, NSString ctrl) =>
{
- System.Diagnostics.Debug.WriteLine($"res: {res}, progress: {progress}");
- _mainMainViewModel.UpdateMessage($"控制中({progress}%)");
+ System.Diagnostics.Debug.WriteLine($"res: {res}, progress: {progress}, ctrl: {ctrl}");
+
+ if (res == "OK")
+ {
+ if (progress >= 100)
+ {
+ string operation = _mainMainViewModel.Operation == OperationType.UNLOCK ? "Unlocked" : "Locked";
+ NFCManager.Shared.ShowTipsWith($"{operation}");
+ NFCManager.Shared.EndScan();
+ }
+ else
+ {
+ string operation = _mainMainViewModel.Operation == OperationType.UNLOCK ? "Unlocking" : "Locking";
+ _mainMainViewModel.UpdateMessage($"{operation} ({progress}%)");
+ NFCManager.Shared.ShowTipsWith($"{operation} ({progress}%)");
+ }
+ }
+ else if (res == "UNAUTHORIZED")
+ {
+ NFCManager.Shared.EndScanWith("验证失败");
+ }
+ else
+ {
+ NFCManager.Shared.EndScanWith("充电失败");
+ }
});
}
#endif
@@ -54,24 +87,25 @@ public partial class MainPage : ContentPage
protected override void OnAppearing()
{
base.OnAppearing();
-#if IOS
+#if IOS && !MACCATALYST
SetNFCCallbacks();
#endif
}
private void LockClicked(object? sender, EventArgs e)
{
-#if IOS
- NFCManager.LockWithPassword(_mainMainViewModel.Password);
- NFCManager.StartScan();
+#if IOS && !MACCATALYST
+
+ NFCManager.Shared.LockWith(_mainMainViewModel.Password);
+ NFCManager.Shared.StartScanWith("Hold your iPhone near the device");
#endif
}
private void UnlockClicked(object? sender, EventArgs e)
{
-#if IOS
- NFCManager.UnlockWithPassword(_mainMainViewModel.Password);
- NFCManager.StartScan();
+#if IOS && !MACCATALYST
+ NFCManager.Shared.UnlockWith(_mainMainViewModel.Password);
+ NFCManager.Shared.StartScanWith("Hold your iPhone near the device");
#endif
}
}
\ No newline at end of file
diff --git a/NFCLockDemoV2/MauiProgram.cs b/NFCLockDemoV2/MauiProgram.cs
index c9897ce..a2e47e3 100644
--- a/NFCLockDemoV2/MauiProgram.cs
+++ b/NFCLockDemoV2/MauiProgram.cs
@@ -1,8 +1,8 @@
using Microsoft.Extensions.Logging;
using NFCLockDemoV2.ViewModels;
-#if ANDROID
+/*#if ANDROID
using NFCLockDemoV2.Platforms.Android;
-#endif
+#endif*/
namespace NFCLockDemoV2
{
@@ -23,9 +23,9 @@ namespace NFCLockDemoV2
builder.Logging.AddDebug();
#endif
builder.Services.AddSingleton();
-#if ANDROID
+/*#if ANDROID
builder.Services.AddSingleton();
-#endif
+#endif*/
return builder.Build();
}
}
diff --git a/NFCLockDemoV2/NFCLockDemoV2.csproj b/NFCLockDemoV2/NFCLockDemoV2.csproj
index e0004e0..b9228dd 100644
--- a/NFCLockDemoV2/NFCLockDemoV2.csproj
+++ b/NFCLockDemoV2/NFCLockDemoV2.csproj
@@ -1,18 +1,8 @@
- net10.0-android;net10.0-ios;net10.0-maccatalyst
+ net10.0-android;net10.0-ios
$(TargetFrameworks);net10.0-windows10.0.19041.0
-
-
-
-
-
-
Exe
NFCLockDemoV2
true
@@ -35,11 +25,9 @@
None
15.0
- 15.0
30.0
10.0.17763.0
10.0.17763.0
- 6.5
@@ -48,38 +36,9 @@
com.elitesys.nfclockdemov2
-
- False
- com.elitesys.nfclockdemov2
-
-
-
- com.elitesys.nfclockdemov2
-
-
-
- com.elitesys.nfclockdemov2
-
-
-
- com.elitesys.nfclockdemov2
-
-
-
- com.elitesys.nfclockdemov2
-
-
-
- com.elitesys.nfclockdemov2
-
-
-
- com.elitesys.nfclockdemov2
-
-
manual
- iPhone Distribution
+ Apple Distribution: Elitesys Technology Limited (65WPY33KVK)
nfclockdemoProfile
@@ -117,9 +76,5 @@
-
-
-
-
diff --git a/NFCLockDemoV2/Platforms/Android/AndroidNfcCallBack.cs b/NFCLockDemoV2/Platforms/Android/AndroidNfcCallBack.cs
new file mode 100644
index 0000000..98a785f
--- /dev/null
+++ b/NFCLockDemoV2/Platforms/Android/AndroidNfcCallBack.cs
@@ -0,0 +1,92 @@
+using Com.Lvcheng.Lock.Shared.Nfc.Kmp;
+using Java.Lang;
+using NFCLockDemoV2.ViewModels;
+using Math = System.Math;
+
+namespace NFCLockDemoV2;
+
+public class AndroidNfcCallBack : Java.Lang.Object, IAndroidNFCCallbacks
+{
+ private readonly MainViewModel mainViewModel;
+ private long startTimestamp;
+
+ public AndroidNfcCallBack(MainViewModel mainViewModel)
+ {
+ this.mainViewModel = mainViewModel;
+ }
+
+ public void Charging(Result result, Integer? p1)
+ {
+ startTimestamp = System.Diagnostics.Stopwatch.GetTimestamp();
+ if (result == Result.Ok)
+ {
+ var level = p1?.IntValue() ?? 0;
+ string levelText = level.ToString();
+
+ var progress = Math.Min(level, 100) / 3 * 2;
+ mainViewModel.ArcProgress = progress;
+ mainViewModel.UpdateMessage("充电中(" + levelText + "%)");
+ }
+ else if (result == Result.Unauthorized)
+ {
+ mainViewModel.ArcProgress = 0;
+ mainViewModel.UpdateMessage("验证失败");
+ }
+ else
+ {
+ mainViewModel.UpdateMessage("充电失败");
+ }
+ }
+
+ public void Controlling(Result result, Integer? p1, Ctrl ctrl)
+ {
+ var operationType = ctrl == Ctrl.Lock ? "关锁" : "开锁";
+ if (result == Result.Ok)
+ {
+ mainViewModel.OperationElapsed = FormatElapsed(startTimestamp);
+ mainViewModel.ArcProgress = 100;
+ mainViewModel.UpdateMessage($"{operationType}成功");
+
+ } else if (result == Result.Unauthorized)
+ {
+ mainViewModel.ArcProgress = 0;
+ mainViewModel.UpdateMessage($"验证失败");
+ }
+ else
+ {
+ mainViewModel.ArcProgress = 0;
+ mainViewModel.UpdateMessage($"{operationType}失败");
+ }
+ }
+
+ public void CustomData(Result result, CustomDataConfig config, byte[]? data)
+ {
+ }
+
+ public void Discovered(long id, bool isNew, Integer? p2)
+ {
+ // 更新设备信息
+ mainViewModel.DeviceId = id.ToString();
+ mainViewModel.DeviceRssi = p2?.ToString() ?? "--";
+ }
+
+ public void Finished()
+ {
+ startTimestamp = 0;
+ mainViewModel.DeviceId = "--";
+ mainViewModel.DeviceRssi = "--";
+ mainViewModel.DeviceStatus = "NFC操作完成";
+ mainViewModel.Operation = null;
+ mainViewModel.ArcProgress = 0;
+ }
+
+ public void SetKey(Result result, string password)
+ {
+ }
+
+ private static string FormatElapsed(long startTimestamp)
+ {
+ double elapsedMs = (System.Diagnostics.Stopwatch.GetTimestamp() - startTimestamp) * 1000.0 / System.Diagnostics.Stopwatch.Frequency;
+ return elapsedMs >= 1000 ? $"{elapsedMs / 1000.0:F2}s" : $"{elapsedMs:F0}ms";
+ }
+}
\ No newline at end of file
diff --git a/NFCLockDemoV2/Platforms/Android/MainActivity.cs b/NFCLockDemoV2/Platforms/Android/MainActivity.cs
index 6ab8dfe..0a21bfe 100644
--- a/NFCLockDemoV2/Platforms/Android/MainActivity.cs
+++ b/NFCLockDemoV2/Platforms/Android/MainActivity.cs
@@ -3,9 +3,9 @@ using Android.Content;
using Android.Content.PM;
using Android.Nfc;
using Android.OS;
+using Com.Lvcheng.Lock.Shared.Nfc.Kmp;
using NFCLockDemoV2;
-using NFCLockDemoV2.Platforms.Android;
-using System.Diagnostics;
+using NFCLockDemoV2.ViewModels;
namespace NFCLockAppV2;
@@ -14,15 +14,27 @@ namespace NFCLockAppV2;
[IntentFilter(new[] { NfcAdapter.ActionNdefDiscovered, NfcAdapter.ActionTechDiscovered, NfcAdapter.ActionTagDiscovered }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = "text/plain")]
public class MainActivity : MauiAppCompatActivity
{
- private NFCLockHelper nfcHelper;
- private NFCCallbacks _callbacks;
-
+ private AndroidNFCHelper nfcHelper;
+ private MainViewModel _mainViewModel;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
- _callbacks = new NFCCallbacks();
- nfcHelper = new NFCLockHelper(this, _callbacks);
-
+ _mainViewModel = Microsoft.Maui.Controls.Application.Current.Handler.MauiContext.Services.GetService();
+ nfcHelper = new AndroidNFCHelper(this, new AndroidNfcCallBack(_mainViewModel));
+ _mainViewModel.OperationTask = () =>
+ {
+ switch (_mainViewModel.Operation)
+ {
+ case OperationType.LOCK:
+ nfcHelper.Lock(_mainViewModel.Password);
+ break;
+ case OperationType.UNLOCK:
+ nfcHelper.Unlock(_mainViewModel.Password);
+ break;
+ default:
+ break;
+ }
+ };
}
protected override void OnResume()
@@ -36,11 +48,4 @@ public class MainActivity : MauiAppCompatActivity
base.OnPause();
nfcHelper.OnPause();
}
-
- protected override void OnNewIntent(Intent intent)
- {
- base.OnNewIntent(intent);
- nfcHelper.OnNewIntent(intent);
-
- }
}
\ No newline at end of file
diff --git a/NFCLockDemoV2/Platforms/Android/NFCCallbacks.cs b/NFCLockDemoV2/Platforms/Android/NFCCallbacks.cs
deleted file mode 100644
index eb9b8ac..0000000
--- a/NFCLockDemoV2/Platforms/Android/NFCCallbacks.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-using Java.Lang;
-using Com.Lvcheng.Lock.Shared.Nfc.Example.Java;
-using NFCLockDemoV2.ViewModels;
-using Android.Util;
-using Exception = System.Exception;
-
-namespace NFCLockDemoV2.Platforms.Android
-{
- public class NFCCallbacks
- {
- private readonly MainViewModel mainViewModel;
- private ViewModels.OperationType? Operation => mainViewModel.Operation;
- public NFCCallbacks()
- {
- mainViewModel = Application.Current?.Handler?.MauiContext?.Services.GetService();
- }
-
- public void OnFinished()
- {
- mainViewModel.DeviceId = "--";
- mainViewModel.DeviceRssi = "--";
- mainViewModel.DeviceStatus = "NFC操作完成";
- //mainViewModel.Operation = null;
- mainViewModel.ArcProgress = 0;
- }
-
- public bool OnLoop(DeviceManagerWrapper? wrapper, long? id, bool? isNew, int? rssi)
- {
- try
- {
- // 更新设备信息
- mainViewModel.DeviceId = id?.ToString() ?? "--";
- mainViewModel.DeviceRssi = rssi?.ToString() ?? "--";
-
- string password = mainViewModel.Password;
-
- // 开关锁需要先充电
- if (Operation == ViewModels.OperationType.LOCK || Operation == ViewModels.OperationType.UNLOCK)
- {
- while (true)
- {
- Com.Lvcheng.Lock.Shared.Nfc.Result result = wrapper.GetChargeLevel(password);
- if (result == Com.Lvcheng.Lock.Shared.Nfc.Result.Ok)
- {
- Integer? level = wrapper.MGetChargeLevel();
- string levelText = level?.ToString() ?? "0";
-
- // 在主线程上更新UI
- mainViewModel.UpdateMessage("充电中(" + levelText + "%)");
-
- // 更新进度条
- if (level != null)
- {
- mainViewModel.ArcProgress = level.IntValue();
- }
-
- if (level != null && level.IntValue() >= 100)
- {
- break;
- }
- }
- else if (result == Com.Lvcheng.Lock.Shared.Nfc.Result.Unauthorized)
- {
- mainViewModel.UpdateMessage("验证失败");
- // 返回 false 手动结束 NFC 连接
- return false;
- }
- else
- {
- mainViewModel.UpdateMessage("充电失败");
- return false;
- }
-
- // 添加短暂延迟以避免过度频繁的循环
- System.Threading.Thread.Sleep(100);
- }
- }
-
- if (Operation != null)
- {
- switch (Operation)
- {
- case ViewModels.OperationType.UNLOCK:
- if (wrapper.Control(password, false) == Com.Lvcheng.Lock.Shared.Nfc.Result.Ok)
- {
- mainViewModel.UpdateMessage("开锁成功");
- }
- else
- {
- mainViewModel.UpdateMessage("开锁失败");
- }
- return false;
-
- case ViewModels.OperationType.LOCK:
- if (wrapper.Control(password, true) == Com.Lvcheng.Lock.Shared.Nfc.Result.Ok)
- {
- mainViewModel.UpdateMessage("关锁成功");
- }
- else
- {
- mainViewModel.UpdateMessage("关锁失败");
- }
- return false;
-
- case ViewModels.OperationType.SET_PASSWORD:
- if (wrapper.SetKey(password, "") == Com.Lvcheng.Lock.Shared.Nfc.Result.Ok)
- {
- mainViewModel.UpdateMessage("设置密码成功");
- }
- else
- {
- mainViewModel.UpdateMessage("设置密码失败");
- }
- return false;
- }
- }
-
- return true;
- }
- catch (Exception ex)
- {
- Log.Error("NFCCallbacks", "Error in OnLoop: " + ex.Message);
- mainViewModel.UpdateMessage("操作异常: " + ex.Message);
- return false;
- }
- }
-
- public void OnLost()
- {
- mainViewModel.DeviceId = "--";
- mainViewModel.DeviceRssi = "--";
- mainViewModel.DeviceStatus = "设备连接断开";
- //mainViewModel.Operation = null;
- mainViewModel.ArcProgress = 0;
- }
- }
-}
\ No newline at end of file
diff --git a/NFCLockDemoV2/Platforms/Android/NFCLockHelper.cs b/NFCLockDemoV2/Platforms/Android/NFCLockHelper.cs
deleted file mode 100644
index 7812c41..0000000
--- a/NFCLockDemoV2/Platforms/Android/NFCLockHelper.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-using Android.App;
-using Android.Content;
-using Android.Nfc;
-using Android.Nfc.Tech;
-using Com.Lvcheng.Lock.Shared.Nfc.Example.Java;
-using NFCLockAppV2;
-using NFCLockDemoV2.Platforms.Android;
-
-namespace NFCLockDemoV2;
-
-public class NFCLockHelper
-{
- private readonly MainActivity _activity;
- private readonly NFCCallbacks _callbacks;
-
- private readonly NfcAdapter _nfcAdapter;
- private readonly PendingIntent _pendingIntent;
- private string[][] _techLists = [[typeof(NfcA).FullName, typeof(NdefFormatable).FullName, typeof(MifareUltralight).FullName]];
- private IntentFilter[] _intentFilters = [new(NfcAdapter.ActionNdefDiscovered), new(NfcAdapter.ActionTechDiscovered), new(NfcAdapter.ActionTagDiscovered)];
- private volatile bool _processing = false;
-
- public NFCLockHelper(MainActivity activity, NFCCallbacks callbacks)
- {
- _activity = activity;
- _callbacks = callbacks;
- _nfcAdapter = NfcAdapter.GetDefaultAdapter(_activity);
- _pendingIntent = PendingIntent.GetActivity(_activity, 0, new Intent(_activity, typeof(MainActivity)).AddFlags(ActivityFlags.ReceiverReplacePending), PendingIntentFlags.Mutable);
- }
-
- public void OnResume()
- {
- if (_nfcAdapter != null)
- {
- _nfcAdapter.EnableForegroundDispatch(_activity, _pendingIntent, _intentFilters, _techLists);
- }
- }
-
- public void OnPause()
- {
- if (_nfcAdapter != null)
- {
- _nfcAdapter.DisableForegroundDispatch(_activity);
- }
- }
-
- public void OnNewIntent(Intent intent)
- {
- if (!_processing)
- {
-
- if (intent != null && (intent.Action == NfcAdapter.ActionNdefDiscovered ||
- intent.Action == NfcAdapter.ActionTechDiscovered ||
- intent.Action == NfcAdapter.ActionTagDiscovered))
- {
- Task.Run(async() =>
- {
- try
- {
- _processing = true;
- Tag? tag = intent.GetParcelableExtra(NfcAdapter.ExtraTag) as Tag;
- if (tag != null)
- {
- NfcA? nfcA = NfcA.Get(tag);
- if (nfcA != null)
- {
- nfcA.Connect();
- nfcA.Timeout = 1000;
- Process(nfcA);
- }
- }
- }
- catch (Exception e)
- {
- _callbacks.OnLost();
- Console.WriteLine(e);
- }
- finally
- {
- await Task.Delay(1000);
- _processing = false;
- _callbacks.OnFinished();
- }
- });
- }
- }
- }
-
- private void Process(NfcA nfcA)
- {
- DeviceManagerWrapper wrapper = new DeviceManagerWrapper(nfcA);
-
- try
- {
- Com.Lvcheng.Lock.Shared.Nfc.Result initRes = wrapper.Init();
- if (initRes.Equals(Com.Lvcheng.Lock.Shared.Nfc.Result.Ok))
- {
- long? id;
- bool? isNew;
- int? mRssi;
-
- while (true)
- {
- Com.Lvcheng.Lock.Shared.Nfc.Result getInfoRes = wrapper.Info;
- if (!getInfoRes.Equals(Com.Lvcheng.Lock.Shared.Nfc.Result.Ok))
- return;
-
- _ = wrapper.Rssi;
- id = wrapper.MGetId()?.LongValue() ?? null;
- isNew = wrapper.MGetIsNew()?.BooleanValue() ?? null;
- mRssi = wrapper.MGetRssi()?.IntValue() ?? null;
-
- bool continueLoop = _callbacks.OnLoop(wrapper, id, isNew, mRssi);
-
- if (!continueLoop)
- break;
- }
- }
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- }
- }
-}
\ No newline at end of file
diff --git a/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/Headers/NFCSDK.h b/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/Headers/NFCSDK.h
deleted file mode 100644
index d56f6de..0000000
--- a/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/Headers/NFCSDK.h
+++ /dev/null
@@ -1,707 +0,0 @@
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-
-@class NFCSDKCV, NFCSDKCVCompanion, NFCSDKCallFunctionTask, NFCSDKChargeLevel, NFCSDKCommonTask, NFCSDKControlProgress, NFCSDKControlTask, NFCSDKCtrl, NFCSDKCtrlCompanion, NFCSDKDevice, NFCSDKDeviceInfo, NFCSDKDeviceLog, NFCSDKDeviceManager, NFCSDKGetLogTask, NFCSDKKotlinArray, NFCSDKKotlinByteArray, NFCSDKKotlinByteIterator, NFCSDKKotlinEnum, NFCSDKKotlinEnumCompanion, NFCSDKKotlinException, NFCSDKKotlinIllegalStateException, NFCSDKKotlinPair<__covariant A, __covariant B>, NFCSDKKotlinRuntimeException, NFCSDKKotlinThrowable, NFCSDKKotlinUnit, NFCSDKMet, NFCSDKMetCompanion, NFCSDKParameters, NFCSDKResult, NFCSDKSetKeyTask, NFCSDKSetParametersTask, NFCSDKUserType, NFCSDKUserTypeCompanion;
-
-@protocol NFCSDKKotlinComparable, NFCSDKKotlinIterator, NFCSDKNFCCallbacks, NFCSDKNFCTag;
-
-NS_ASSUME_NONNULL_BEGIN
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wunknown-warning-option"
-#pragma clang diagnostic ignored "-Wincompatible-property-type"
-#pragma clang diagnostic ignored "-Wnullability"
-
-#pragma push_macro("_Nullable_result")
-#if !__has_feature(nullability_nullable_result)
-#undef _Nullable_result
-#define _Nullable_result _Nullable
-#endif
-
-__attribute__((swift_name("KotlinBase")))
-@interface NFCSDKBase : NSObject
-- (instancetype)init __attribute__((unavailable));
-+ (instancetype)new __attribute__((unavailable));
-+ (void)initialize __attribute__((objc_requires_super));
-@end
-
-@interface NFCSDKBase (NFCSDKBaseCopying)
-@end
-
-__attribute__((swift_name("KotlinMutableSet")))
-@interface NFCSDKMutableSet : NSMutableSet
-@end
-
-__attribute__((swift_name("KotlinMutableDictionary")))
-@interface NFCSDKMutableDictionary : NSMutableDictionary
-@end
-
-@interface NSError (NSErrorNFCSDKKotlinException)
-@property (readonly) id _Nullable kotlinException;
-@end
-
-__attribute__((swift_name("KotlinNumber")))
-@interface NFCSDKNumber : NSNumber
-- (instancetype)initWithChar:(char)value __attribute__((unavailable));
-- (instancetype)initWithUnsignedChar:(unsigned char)value __attribute__((unavailable));
-- (instancetype)initWithShort:(short)value __attribute__((unavailable));
-- (instancetype)initWithUnsignedShort:(unsigned short)value __attribute__((unavailable));
-- (instancetype)initWithInt:(int)value __attribute__((unavailable));
-- (instancetype)initWithUnsignedInt:(unsigned int)value __attribute__((unavailable));
-- (instancetype)initWithLong:(long)value __attribute__((unavailable));
-- (instancetype)initWithUnsignedLong:(unsigned long)value __attribute__((unavailable));
-- (instancetype)initWithLongLong:(long long)value __attribute__((unavailable));
-- (instancetype)initWithUnsignedLongLong:(unsigned long long)value __attribute__((unavailable));
-- (instancetype)initWithFloat:(float)value __attribute__((unavailable));
-- (instancetype)initWithDouble:(double)value __attribute__((unavailable));
-- (instancetype)initWithBool:(BOOL)value __attribute__((unavailable));
-- (instancetype)initWithInteger:(NSInteger)value __attribute__((unavailable));
-- (instancetype)initWithUnsignedInteger:(NSUInteger)value __attribute__((unavailable));
-+ (instancetype)numberWithChar:(char)value __attribute__((unavailable));
-+ (instancetype)numberWithUnsignedChar:(unsigned char)value __attribute__((unavailable));
-+ (instancetype)numberWithShort:(short)value __attribute__((unavailable));
-+ (instancetype)numberWithUnsignedShort:(unsigned short)value __attribute__((unavailable));
-+ (instancetype)numberWithInt:(int)value __attribute__((unavailable));
-+ (instancetype)numberWithUnsignedInt:(unsigned int)value __attribute__((unavailable));
-+ (instancetype)numberWithLong:(long)value __attribute__((unavailable));
-+ (instancetype)numberWithUnsignedLong:(unsigned long)value __attribute__((unavailable));
-+ (instancetype)numberWithLongLong:(long long)value __attribute__((unavailable));
-+ (instancetype)numberWithUnsignedLongLong:(unsigned long long)value __attribute__((unavailable));
-+ (instancetype)numberWithFloat:(float)value __attribute__((unavailable));
-+ (instancetype)numberWithDouble:(double)value __attribute__((unavailable));
-+ (instancetype)numberWithBool:(BOOL)value __attribute__((unavailable));
-+ (instancetype)numberWithInteger:(NSInteger)value __attribute__((unavailable));
-+ (instancetype)numberWithUnsignedInteger:(NSUInteger)value __attribute__((unavailable));
-@end
-
-__attribute__((swift_name("KotlinByte")))
-@interface NFCSDKByte : NFCSDKNumber
-- (instancetype)initWithChar:(char)value;
-+ (instancetype)numberWithChar:(char)value;
-@end
-
-__attribute__((swift_name("KotlinUByte")))
-@interface NFCSDKUByte : NFCSDKNumber
-- (instancetype)initWithUnsignedChar:(unsigned char)value;
-+ (instancetype)numberWithUnsignedChar:(unsigned char)value;
-@end
-
-__attribute__((swift_name("KotlinShort")))
-@interface NFCSDKShort : NFCSDKNumber
-- (instancetype)initWithShort:(short)value;
-+ (instancetype)numberWithShort:(short)value;
-@end
-
-__attribute__((swift_name("KotlinUShort")))
-@interface NFCSDKUShort : NFCSDKNumber
-- (instancetype)initWithUnsignedShort:(unsigned short)value;
-+ (instancetype)numberWithUnsignedShort:(unsigned short)value;
-@end
-
-__attribute__((swift_name("KotlinInt")))
-@interface NFCSDKInt : NFCSDKNumber
-- (instancetype)initWithInt:(int)value;
-+ (instancetype)numberWithInt:(int)value;
-@end
-
-__attribute__((swift_name("KotlinUInt")))
-@interface NFCSDKUInt : NFCSDKNumber
-- (instancetype)initWithUnsignedInt:(unsigned int)value;
-+ (instancetype)numberWithUnsignedInt:(unsigned int)value;
-@end
-
-__attribute__((swift_name("KotlinLong")))
-@interface NFCSDKLong : NFCSDKNumber
-- (instancetype)initWithLongLong:(long long)value;
-+ (instancetype)numberWithLongLong:(long long)value;
-@end
-
-__attribute__((swift_name("KotlinULong")))
-@interface NFCSDKULong : NFCSDKNumber
-- (instancetype)initWithUnsignedLongLong:(unsigned long long)value;
-+ (instancetype)numberWithUnsignedLongLong:(unsigned long long)value;
-@end
-
-__attribute__((swift_name("KotlinFloat")))
-@interface NFCSDKFloat : NFCSDKNumber
-- (instancetype)initWithFloat:(float)value;
-+ (instancetype)numberWithFloat:(float)value;
-@end
-
-__attribute__((swift_name("KotlinDouble")))
-@interface NFCSDKDouble : NFCSDKNumber
-- (instancetype)initWithDouble:(double)value;
-+ (instancetype)numberWithDouble:(double)value;
-@end
-
-__attribute__((swift_name("KotlinBoolean")))
-@interface NFCSDKBoolean : NFCSDKNumber
-- (instancetype)initWithBool:(BOOL)value;
-+ (instancetype)numberWithBool:(BOOL)value;
-@end
-
-__attribute__((swift_name("KotlinComparable")))
-@protocol NFCSDKKotlinComparable
-@required
-- (int32_t)compareToOther:(id _Nullable)other __attribute__((swift_name("compareTo(other:)")));
-@end
-
-__attribute__((swift_name("KotlinEnum")))
-@interface NFCSDKKotlinEnum : NFCSDKBase
-- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer));
-@property (class, readonly, getter=companion) NFCSDKKotlinEnumCompanion *companion __attribute__((swift_name("companion")));
-- (int32_t)compareToOther:(E)other __attribute__((swift_name("compareTo(other:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) NSString *name __attribute__((swift_name("name")));
-@property (readonly) int32_t ordinal __attribute__((swift_name("ordinal")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("CV")))
-@interface NFCSDKCV : NFCSDKKotlinEnum
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
-@property (class, readonly, getter=companion) NFCSDKCVCompanion *companion __attribute__((swift_name("companion")));
-@property (class, readonly) NFCSDKCV *low __attribute__((swift_name("low")));
-@property (class, readonly) NFCSDKCV *medium __attribute__((swift_name("medium")));
-@property (class, readonly) NFCSDKCV *high __attribute__((swift_name("high")));
-+ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
-@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
-@property (readonly) uint16_t value __attribute__((swift_name("value")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("CV.Companion")))
-@interface NFCSDKCVCompanion : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)companion __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKCVCompanion *shared __attribute__((swift_name("shared")));
-- (NFCSDKCV * _Nullable)fromValueValue:(uint16_t)value __attribute__((swift_name("fromValue(value:)")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("ChargeLevel")))
-@interface NFCSDKChargeLevel : NFCSDKBase
-- (instancetype)initWithLevel:(uint16_t)level complete:(BOOL)complete __attribute__((swift_name("init(level:complete:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKChargeLevel *)doCopyLevel:(uint16_t)level complete:(BOOL)complete __attribute__((swift_name("doCopy(level:complete:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) BOOL complete __attribute__((swift_name("complete")));
-@property (readonly) uint16_t level __attribute__((swift_name("level")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("ControlProgress")))
-@interface NFCSDKControlProgress : NFCSDKBase
-- (instancetype)initWithProgress:(uint16_t)progress complete:(BOOL)complete __attribute__((swift_name("init(progress:complete:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKControlProgress *)doCopyProgress:(uint16_t)progress complete:(BOOL)complete __attribute__((swift_name("doCopy(progress:complete:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) BOOL complete __attribute__((swift_name("complete")));
-@property (readonly) uint16_t progress __attribute__((swift_name("progress")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Ctrl")))
-@interface NFCSDKCtrl : NFCSDKKotlinEnum
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
-@property (class, readonly, getter=companion) NFCSDKCtrlCompanion *companion __attribute__((swift_name("companion")));
-@property (class, readonly) NFCSDKCtrl *lock __attribute__((swift_name("lock")));
-@property (class, readonly) NFCSDKCtrl *unlock __attribute__((swift_name("unlock")));
-+ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
-@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
-@property (readonly) uint8_t value __attribute__((swift_name("value")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Ctrl.Companion")))
-@interface NFCSDKCtrlCompanion : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)companion __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKCtrlCompanion *shared __attribute__((swift_name("shared")));
-- (NFCSDKCtrl * _Nullable)fromValueValue:(uint8_t)value __attribute__((swift_name("fromValue(value:)")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Device")))
-@interface NFCSDKDevice : NFCSDKBase
-- (instancetype)initWithS:(uint32_t)s __attribute__((swift_name("init(s:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKDevice *)doCopyS:(uint32_t)s __attribute__((swift_name("doCopy(s:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (uint32_t)shiftC:(uint16_t)c __attribute__((swift_name("shift(c:)")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) uint32_t s __attribute__((swift_name("s")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("DeviceInfo")))
-@interface NFCSDKDeviceInfo : NFCSDKBase
-- (instancetype)initWithId:(uint64_t)id isNew:(BOOL)isNew __attribute__((swift_name("init(id:isNew:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKDeviceInfo *)doCopyId:(uint64_t)id isNew:(BOOL)isNew __attribute__((swift_name("doCopy(id:isNew:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) uint64_t id __attribute__((swift_name("id")));
-@property (readonly) BOOL isNew __attribute__((swift_name("isNew")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("DeviceLog")))
-@interface NFCSDKDeviceLog : NFCSDKBase
-- (instancetype)initWithTimestamp:(uint64_t)timestamp username:(NSString *)username ctrl:(NFCSDKCtrl * _Nullable)ctrl __attribute__((swift_name("init(timestamp:username:ctrl:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKDeviceLog *)doCopyTimestamp:(uint64_t)timestamp username:(NSString *)username ctrl:(NFCSDKCtrl * _Nullable)ctrl __attribute__((swift_name("doCopy(timestamp:username:ctrl:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) NFCSDKCtrl * _Nullable ctrl __attribute__((swift_name("ctrl")));
-@property (readonly) uint64_t timestamp __attribute__((swift_name("timestamp")));
-@property (readonly) NSString *username __attribute__((swift_name("username")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("DeviceManager")))
-@interface NFCSDKDeviceManager : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)deviceManager __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKDeviceManager *shared __attribute__((swift_name("shared")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)controlT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key ctrl:(NFCSDKCtrl *)ctrl completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("control(t:d:key:ctrl:completionHandler:)")));
-- (NFCSDKKotlinByteArray *)encKey:(NFCSDKKotlinByteArray *)key info:(NFCSDKDeviceInfo *)info __attribute__((swift_name("enc(key:info:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)getChargeLevelT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getChargeLevel(t:d:key:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)getControlProgressT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getControlProgress(t:d:key:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)getInfoT:(id)t d:(NFCSDKDevice *)d completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getInfo(t:d:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)getLogT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair *> * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getLog(t:d:key:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)getRssiT:(id)t d:(NFCSDKDevice *)d completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getRssi(t:d:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)getVersionT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key completionHandler:(void (^)(NFCSDKKotlinPair *> * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("getVersion(t:d:key:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)doInitT:(id)t completionHandler:(void (^)(NFCSDKKotlinPair * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("doInit(t:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)selectT:(id)t d:(NFCSDKDevice *)d type:(NFCSDKUserType *)type completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("select(t:d:type:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)setKeyT:(id)t d:(NFCSDKDevice *)d info:(NFCSDKDeviceInfo *)info key:(NFCSDKKotlinByteArray *)key sKey:(NFCSDKKotlinByteArray *)sKey completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("setKey(t:d:info:key:sKey:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)setParametersT:(id)t d:(NFCSDKDevice *)d key:(NFCSDKKotlinByteArray *)key p:(NFCSDKParameters *)p completionHandler:(void (^)(NFCSDKResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("setParameters(t:d:key:p:completionHandler:)")));
-- (NFCSDKKotlinByteArray *)toFixed16Input:(NSString *)input __attribute__((swift_name("toFixed16(input:)")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("IOSNFCHelper")))
-@interface NFCSDKIOSNFCHelper : NFCSDKBase
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (void)controlPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl __attribute__((swift_name("control(password:ctrl:)")));
-- (void)lockPassword:(NSString *)password __attribute__((swift_name("lock(password:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)processWithCompletionHandler:(void (^)(NSError * _Nullable))completionHandler __attribute__((swift_name("process(completionHandler:)")));
-- (void)setChargingCbCb:(void (^ _Nullable)(NSString *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setChargingCb(cb:)")));
-- (void)setControllingCbCb:(void (^ _Nullable)(NSString *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setControllingCb(cb:)")));
-- (void)setFinishedCbCb:(void (^ _Nullable)(void))cb __attribute__((swift_name("setFinishedCb(cb:)")));
-- (void)setLoopCbCb:(NFCSDKBoolean *(^)(NSString *, NFCSDKBoolean *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setLoopCb(cb:)")));
-- (void)setLostCbCb:(void (^ _Nullable)(void))cb __attribute__((swift_name("setLostCb(cb:)")));
-- (void)setTransceiverT:(void (^ _Nullable)(NFCSDKKotlinByteArray *, NFCSDKKotlinUnit *(^)(NFCSDKKotlinByteArray *)))t __attribute__((swift_name("setTransceiver(t:)")));
-- (void)unlockPassword:(NSString *)password __attribute__((swift_name("unlock(password:)")));
-@property void (^ _Nullable charging)(NSString *, NFCSDKInt * _Nullable) __attribute__((swift_name("charging")));
-@property void (^ _Nullable controlling)(NSString *, NFCSDKInt * _Nullable) __attribute__((swift_name("controlling")));
-@property void (^ _Nullable finished)(void) __attribute__((swift_name("finished")));
-@property NFCSDKBoolean *(^ _Nullable loop)(NSString *, NFCSDKBoolean *, NFCSDKInt * _Nullable) __attribute__((swift_name("loop")));
-@property void (^ _Nullable lost)(void) __attribute__((swift_name("lost")));
-@property void (^ _Nullable transceiver)(NFCSDKKotlinByteArray *, NFCSDKKotlinUnit *(^)(NFCSDKKotlinByteArray *)) __attribute__((swift_name("transceiver")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Met")))
-@interface NFCSDKMet : NFCSDKKotlinEnum
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
-@property (class, readonly, getter=companion) NFCSDKMetCompanion *companion __attribute__((swift_name("companion")));
-@property (class, readonly) NFCSDKMet *single __attribute__((swift_name("single")));
-@property (class, readonly) NFCSDKMet *voltage __attribute__((swift_name("voltage")));
-@property (class, readonly) NFCSDKMet *timer __attribute__((swift_name("timer")));
-+ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
-@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
-@property (readonly) uint8_t value __attribute__((swift_name("value")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Met.Companion")))
-@interface NFCSDKMetCompanion : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)companion __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKMetCompanion *shared __attribute__((swift_name("shared")));
-- (NFCSDKMet * _Nullable)fromValueValue:(uint8_t)value __attribute__((swift_name("fromValue(value:)")));
-@end
-
-__attribute__((swift_name("NFCTag")))
-@protocol NFCSDKNFCTag
-@required
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)transceiveData:(NFCSDKKotlinByteArray *)data completionHandler:(void (^)(NFCSDKKotlinByteArray * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("transceive(data:completionHandler:)")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Parameters")))
-@interface NFCSDKParameters : NFCSDKBase
-- (instancetype)initWithMethod:(NFCSDKMet *)method clampingVoltage:(NFCSDKCV *)clampingVoltage totalMotorRuntime:(uint16_t)totalMotorRuntime p1:(uint16_t)p1 p2:(uint16_t)p2 __attribute__((swift_name("init(method:clampingVoltage:totalMotorRuntime:p1:p2:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKParameters *)doCopyMethod:(NFCSDKMet *)method clampingVoltage:(NFCSDKCV *)clampingVoltage totalMotorRuntime:(uint16_t)totalMotorRuntime p1:(uint16_t)p1 p2:(uint16_t)p2 __attribute__((swift_name("doCopy(method:clampingVoltage:totalMotorRuntime:p1:p2:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) NFCSDKCV *clampingVoltage __attribute__((swift_name("clampingVoltage")));
-@property (readonly) NFCSDKMet *method __attribute__((swift_name("method")));
-@property (readonly) uint16_t p1 __attribute__((swift_name("p1")));
-@property (readonly) uint16_t p2 __attribute__((swift_name("p2")));
-@property (readonly) uint16_t totalMotorRuntime __attribute__((swift_name("totalMotorRuntime")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Result")))
-@interface NFCSDKResult : NFCSDKKotlinEnum
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
-@property (class, readonly) NFCSDKResult *ok __attribute__((swift_name("ok")));
-@property (class, readonly) NFCSDKResult *error __attribute__((swift_name("error")));
-@property (class, readonly) NFCSDKResult *unauthorized __attribute__((swift_name("unauthorized")));
-+ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
-@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("UserType")))
-@interface NFCSDKUserType : NFCSDKKotlinEnum
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
-@property (class, readonly, getter=companion) NFCSDKUserTypeCompanion *companion __attribute__((swift_name("companion")));
-@property (class, readonly) NFCSDKUserType *normal __attribute__((swift_name("normal")));
-@property (class, readonly) NFCSDKUserType *supervisor __attribute__((swift_name("supervisor")));
-+ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
-@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
-@property (readonly) uint8_t value __attribute__((swift_name("value")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("UserType.Companion")))
-@interface NFCSDKUserTypeCompanion : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)companion __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKUserTypeCompanion *shared __attribute__((swift_name("shared")));
-- (NFCSDKUserType * _Nullable)fromValueValue:(uint8_t)value __attribute__((swift_name("fromValue(value:)")));
-@end
-
-__attribute__((swift_name("CommonTask")))
-@interface NFCSDKCommonTask : NFCSDKBase
-@property (readonly) NSString *password __attribute__((swift_name("password")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("CallFunctionTask")))
-@interface NFCSDKCallFunctionTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:data:index:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKCallFunctionTask *)doCopyPassword:(NSString *)password data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:data:index:callback:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) void (^callback)(NFCSDKResult *, NSArray * _Nullable) __attribute__((swift_name("callback")));
-@property (readonly) NSArray *data __attribute__((swift_name("data")));
-@property (readonly) uint8_t index __attribute__((swift_name("index")));
-@property (readonly) NSString *password __attribute__((swift_name("password")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("ControlTask")))
-@interface NFCSDKControlTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("init(password:ctrl:ignoreProgress:chargeCallback:controlCallback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKControlTask *)doCopyPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("doCopy(password:ctrl:ignoreProgress:chargeCallback:controlCallback:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) void (^chargeCallback)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable) __attribute__((swift_name("chargeCallback")));
-@property (readonly) void (^controlCallback)(NFCSDKResult *, NFCSDKControlProgress * _Nullable) __attribute__((swift_name("controlCallback")));
-@property (readonly) NFCSDKCtrl *ctrl __attribute__((swift_name("ctrl")));
-@property (readonly) BOOL ignoreProgress __attribute__((swift_name("ignoreProgress")));
-@property (readonly) NSString *password __attribute__((swift_name("password")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("GetLogTask")))
-@interface NFCSDKGetLogTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKGetLogTask *)doCopyPassword:(NSString *)password callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:callback:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) void (^callback)(NFCSDKResult *, NSArray * _Nullable) __attribute__((swift_name("callback")));
-@property (readonly) NSString *password __attribute__((swift_name("password")));
-@end
-
-__attribute__((swift_name("NFCCallbacks")))
-@protocol NFCSDKNFCCallbacks
-@required
-- (void)onFinished __attribute__((swift_name("onFinished()")));
-- (BOOL)onLoopInfo:(NFCSDKDeviceInfo *)info rssi:(NFCSDKUInt * _Nullable)rssi __attribute__((swift_name("onLoop(info:rssi:)")));
-- (void)onLost __attribute__((swift_name("onLost()")));
-@end
-
-__attribute__((swift_name("NFCHelper")))
-@interface NFCSDKNFCHelper : NFCSDKBase
-- (instancetype)initWithCallback:(id)callback __attribute__((swift_name("init(callback:)"))) __attribute__((objc_designated_initializer));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)getNFCTagParameter:(id _Nullable)parameter completionHandler:(void (^)(id _Nullable_result, NSError * _Nullable))completionHandler __attribute__((swift_name("getNFCTag(parameter:completionHandler:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)processParameter:(id _Nullable)parameter completionHandler:(void (^)(NSError * _Nullable))completionHandler __attribute__((swift_name("process(parameter:completionHandler:)")));
-- (void)setTaskTask:(NFCSDKCommonTask * _Nullable)task __attribute__((swift_name("setTask(task:)")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("SetKeyTask")))
-@interface NFCSDKSetKeyTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:sKey:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKSetKeyTask *)doCopyPassword:(NSString *)password sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:sKey:callback:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) void (^callback)(NFCSDKResult *) __attribute__((swift_name("callback")));
-@property (readonly) NSString *password __attribute__((swift_name("password")));
-@property (readonly) NSString *sKey __attribute__((swift_name("sKey")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("SetParametersTask")))
-@interface NFCSDKSetParametersTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:parameters:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKSetParametersTask *)doCopyPassword:(NSString *)password parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:parameters:callback:)")));
-- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
-- (NSUInteger)hash __attribute__((swift_name("hash()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) void (^callback)(NFCSDKResult *) __attribute__((swift_name("callback")));
-@property (readonly) NFCSDKParameters *parameters __attribute__((swift_name("parameters")));
-@property (readonly) NSString *password __attribute__((swift_name("password")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("Platform_iosKt")))
-@interface NFCSDKPlatform_iosKt : NFCSDKBase
-+ (int64_t)platformGetCurrentTimestamp __attribute__((swift_name("platformGetCurrentTimestamp()")));
-+ (NSString *)platformGetName __attribute__((swift_name("platformGetName()")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("KotlinEnumCompanion")))
-@interface NFCSDKKotlinEnumCompanion : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)companion __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKKotlinEnumCompanion *shared __attribute__((swift_name("shared")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("KotlinArray")))
-@interface NFCSDKKotlinArray : NFCSDKBase
-+ (instancetype)arrayWithSize:(int32_t)size init:(T _Nullable (^)(NFCSDKInt *))init __attribute__((swift_name("init(size:init:)")));
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-- (T _Nullable)getIndex:(int32_t)index __attribute__((swift_name("get(index:)")));
-- (id)iterator __attribute__((swift_name("iterator()")));
-- (void)setIndex:(int32_t)index value:(T _Nullable)value __attribute__((swift_name("set(index:value:)")));
-@property (readonly) int32_t size __attribute__((swift_name("size")));
-@end
-
-__attribute__((swift_name("KotlinThrowable")))
-@interface NFCSDKKotlinThrowable : NFCSDKBase
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
-
-/**
- * @note annotations
- * kotlin.experimental.ExperimentalNativeApi
-*/
-- (NFCSDKKotlinArray *)getStackTrace __attribute__((swift_name("getStackTrace()")));
-- (void)printStackTrace __attribute__((swift_name("printStackTrace()")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@property (readonly) NFCSDKKotlinThrowable * _Nullable cause __attribute__((swift_name("cause")));
-@property (readonly) NSString * _Nullable message __attribute__((swift_name("message")));
-- (NSError *)asError __attribute__((swift_name("asError()")));
-@end
-
-__attribute__((swift_name("KotlinException")))
-@interface NFCSDKKotlinException : NFCSDKKotlinThrowable
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
-@end
-
-__attribute__((swift_name("KotlinRuntimeException")))
-@interface NFCSDKKotlinRuntimeException : NFCSDKKotlinException
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
-@end
-
-__attribute__((swift_name("KotlinIllegalStateException")))
-@interface NFCSDKKotlinIllegalStateException : NFCSDKKotlinRuntimeException
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
-@end
-
-
-/**
- * @note annotations
- * kotlin.SinceKotlin(version="1.4")
-*/
-__attribute__((swift_name("KotlinCancellationException")))
-@interface NFCSDKKotlinCancellationException : NFCSDKKotlinIllegalStateException
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithCause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
-- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(NFCSDKKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("KotlinByteArray")))
-@interface NFCSDKKotlinByteArray : NFCSDKBase
-+ (instancetype)arrayWithSize:(int32_t)size __attribute__((swift_name("init(size:)")));
-+ (instancetype)arrayWithSize:(int32_t)size init:(NFCSDKByte *(^)(NFCSDKInt *))init __attribute__((swift_name("init(size:init:)")));
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-- (int8_t)getIndex:(int32_t)index __attribute__((swift_name("get(index:)")));
-- (NFCSDKKotlinByteIterator *)iterator __attribute__((swift_name("iterator()")));
-- (void)setIndex:(int32_t)index value:(int8_t)value __attribute__((swift_name("set(index:value:)")));
-@property (readonly) int32_t size __attribute__((swift_name("size")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("KotlinPair")))
-@interface NFCSDKKotlinPair<__covariant A, __covariant B> : NFCSDKBase
-- (instancetype)initWithFirst:(A _Nullable)first second:(B _Nullable)second __attribute__((swift_name("init(first:second:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKKotlinPair *)doCopyFirst:(A _Nullable)first second:(B _Nullable)second __attribute__((swift_name("doCopy(first:second:)")));
-- (BOOL)equalsOther:(id _Nullable)other __attribute__((swift_name("equals(other:)")));
-- (int32_t)hashCode __attribute__((swift_name("hashCode()")));
-- (NSString *)toString __attribute__((swift_name("toString()")));
-@property (readonly) A _Nullable first __attribute__((swift_name("first")));
-@property (readonly) B _Nullable second __attribute__((swift_name("second")));
-@end
-
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("KotlinUnit")))
-@interface NFCSDKKotlinUnit : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)unit __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKKotlinUnit *shared __attribute__((swift_name("shared")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@end
-
-__attribute__((swift_name("KotlinIterator")))
-@protocol NFCSDKKotlinIterator
-@required
-- (BOOL)hasNext __attribute__((swift_name("hasNext()")));
-- (id _Nullable)next __attribute__((swift_name("next()")));
-@end
-
-__attribute__((swift_name("KotlinByteIterator")))
-@interface NFCSDKKotlinByteIterator : NFCSDKBase
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (NFCSDKByte *)next __attribute__((swift_name("next()")));
-- (int8_t)nextByte __attribute__((swift_name("nextByte()")));
-@end
-
-#pragma pop_macro("_Nullable_result")
-#pragma clang diagnostic pop
-NS_ASSUME_NONNULL_END
diff --git a/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/NFCSDK b/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/NFCSDK
deleted file mode 100755
index db0a37a..0000000
Binary files a/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/NFCSDK and /dev/null differ
diff --git a/NFCLockDemoV2/ViewModels/MainViewModel.cs b/NFCLockDemoV2/ViewModels/MainViewModel.cs
index 7a61d7d..f6d1b48 100644
--- a/NFCLockDemoV2/ViewModels/MainViewModel.cs
+++ b/NFCLockDemoV2/ViewModels/MainViewModel.cs
@@ -7,6 +7,8 @@ namespace NFCLockDemoV2.ViewModels;
public class MainViewModel : ObservableObject
{
+ public Action? OperationTask;
+
private ViewModels.OperationType? _operation;
public ViewModels.OperationType? Operation
{
@@ -54,6 +56,13 @@ public class MainViewModel : ObservableObject
get => _password;
set => SetProperty(ref _password, value);
}
+
+ private string _operationElapsed = "--";
+ public string OperationElapsed
+ {
+ get => _operationElapsed;
+ set => SetProperty(ref _operationElapsed, value);
+ }
public ICommand ControlCommand { get; set; }
public ICommand CopyCommand { get; set; }
@@ -84,6 +93,7 @@ public class MainViewModel : ObservableObject
Devices = new ObservableCollection();
ControlCommand = new AsyncRelayCommand(val =>
{
+ OperationElapsed = "--";
switch (val)
{
case "Lock":
@@ -99,7 +109,7 @@ public class MainViewModel : ObservableObject
Operation = null;
break;
}
-
+ OperationTask?.Invoke();
return Task.CompletedTask;
});
diff --git a/NfcLock.Ios.Binding/ApiDefinition.cs b/NfcLock.Ios.Binding/ApiDefinition.cs
index b756362..e97234a 100644
--- a/NfcLock.Ios.Binding/ApiDefinition.cs
+++ b/NfcLock.Ios.Binding/ApiDefinition.cs
@@ -1,56 +1,117 @@
using System;
using Foundation;
+using ObjCRuntime;
namespace NfcLock.Ios.Binding
{
- // @interface NFCManager
- [DisableDefaultCtor]
- [BaseType (typeof (NSObject))]
- interface NFCManager
- {
- // +(void)startScan;
- [Static]
- [Export ("startScan")]
- void StartScan ();
+ // @interface NFCManager
+ [DisableDefaultCtor]
+ [BaseType (typeof (NSObject))]
+ public interface NFCManager
+ {
+ // @property (readonly, nonatomic, strong, class) NFCManager * _Nonnull shared;
+ [Static]
+ [Export ("shared", ArgumentSemantic.Strong)]
+ NFCManager Shared { get; }
- // +(void)endScan;
- [Static]
- [Export ("endScan")]
- void EndScan ();
+ // -(void)chargingRes:(NSString * _Nonnull)res level:(id)level;
+ [Export ("chargingRes:level:")]
+ void ChargingRes (string res, NSObject level);
- // +(void)endScanWithErrorMessage:(NSString * _Nonnull)errorMessage;
- [Static]
- [Export ("endScanWithErrorMessage:")]
- void EndScanWithErrorMessage (string errorMessage);
+ // -(void)controllingRes:(NSString * _Nonnull)res progress:(id)progress ctrl:(NSString * _Nonnull)ctrl;
+ [Export ("controllingRes:progress:ctrl:")]
+ void ControllingRes (string res, NSObject progress, string ctrl);
- // +(void)setLoopCbWithCb:(id)cb;
- [Static]
- [Export ("setLoopCbWithCb:")]
- void SetLoopCbWithCb (Func cb);
+ // -(void)customDataRes:(NSString * _Nonnull)res config:(NFCSDKCustomDataConfig * _Nonnull)config data:(NSData * _Nullable)data;
+ [Export ("customDataRes:config:data:")]
+ void CustomDataRes (string res, NSObject config, [NullAllowed] NSData data);
- // +(void)setFinishedCbWithCb:(void (^ _Nonnull)(void))cb;
- [Static]
- [Export ("setFinishedCbWithCb:")]
- void SetFinishedCbWithCb (Action cb);
+ // -(void)discoveredId:(NSString * _Nonnull)id isNew:(id)isNew rssi:(id)rssi;
+ [Export ("discoveredId:isNew:rssi:")]
+ void DiscoveredId (string id, NSObject isNew, NSObject rssi);
- // +(void)setChargingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb;
- [Static]
- [Export ("setChargingCbWithCb:")]
- void SetChargingCbWithCb (Action cb);
+ // -(void)finished;
+ [Export ("finished")]
+ void Finished ();
- // +(void)setControllingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb;
- [Static]
- [Export ("setControllingCbWithCb:")]
- void SetControllingCbWithCb (Action cb);
+ // -(void)setKeyRes:(NSString * _Nonnull)res password:(NSString * _Nonnull)password;
+ [Export ("setKeyRes:password:")]
+ void SetKeyRes (string res, string password);
- // +(void)lockWithPassword:(NSString * _Nonnull)password;
- [Static]
- [Export ("lockWithPassword:")]
- void LockWithPassword (string password);
+ // -(void)connectTagErrorError:(id)error;
+ [Export ("connectTagErrorError:")]
+ void ConnectTagErrorError (NSObject error);
- // +(void)unlockWithPassword:(NSString * _Nonnull)password;
- [Static]
- [Export ("unlockWithPassword:")]
- void UnlockWithPassword (string password);
- }
-}
\ No newline at end of file
+ // -(void)sendCommandErrorError:(id)error;
+ [Export ("sendCommandErrorError:")]
+ void SendCommandErrorError (NSObject error);
+
+ // -(void)notNfcA;
+ [Export ("notNfcA")]
+ void NotNfcA ();
+
+ // -(void)sessionInvalidWithErrorError:(id)error;
+ [Export ("sessionInvalidWithErrorError:")]
+ void SessionInvalidWithErrorError (NSObject error);
+
+ // -(void)setChargingCallback:(void (^ _Nonnull)(NSString * _Nonnull, int))cb;
+ [Export ("setChargingCallback:")]
+ void SetChargingCallback (Action cb);
+
+ // -(void)setControllingCallback:(void (^ _Nonnull)(NSString * _Nonnull, int, NSString * _Nonnull))cb;
+ [Export ("setControllingCallback:")]
+ void SetControllingCallback (Action cb);
+
+ // -(void)setCustomDataCallback:(void (^ _Nonnull)(NSString * _Nonnull, NFCSDKCustomDataConfig * _Nonnull, NSData * _Nullable))cb;
+ [Export ("setCustomDataCallback:")]
+ void SetCustomDataCallback (Action cb);
+
+ // -(void)setDeviceDiscoveredCallback:(void (^ _Nonnull)(NSString * _Nonnull, int, int))cb;
+ [Export ("setDeviceDiscoveredCallback:")]
+ void SetDeviceDiscoveredCallback (Action cb);
+
+ // -(void)setOperationFinishedCallback:(void (^ _Nonnull)(void))cb;
+ [Export ("setOperationFinishedCallback:")]
+ void SetOperationFinishedCallback (Action cb);
+
+ // -(void)setSetKeyCallback:(void (^ _Nonnull)(NSString * _Nonnull, NSString * _Nonnull))cb;
+ [Export ("setSetKeyCallback:")]
+ void SetSetKeyCallback (Action cb);
+
+ // -(void)setScanDidStartCallback:(void (^ _Nonnull)(void))cb;
+ [Export ("setScanDidStartCallback:")]
+ void SetScanDidStartCallback (Action cb);
+
+ // -(void)setScanDidEndCallback:(id)cb;
+ [Export ("setScanDidEndCallback:")]
+ void SetScanDidEndCallback (Action cb);
+
+ // -(void)clearAllCallbacks;
+ [Export ("clearAllCallbacks")]
+ void ClearAllCallbacks ();
+
+ // -(void)lockWith:(NSString * _Nonnull)password;
+ [Export ("lockWith:")]
+ void LockWith (string password);
+
+ // -(void)unlockWith:(NSString * _Nonnull)password;
+ [Export ("unlockWith:")]
+ void UnlockWith (string password);
+
+ // -(void)startScanWith:(NSString * _Nonnull)message;
+ [Export ("startScanWith:")]
+ void StartScanWith (string message);
+
+ // -(void)endScan;
+ [Export ("endScan")]
+ void EndScan ();
+
+ // -(void)endScanWith:(NSString * _Nonnull)errorMessage;
+ [Export ("endScanWith:")]
+ void EndScanWith (string errorMessage);
+
+ // -(void)showTipsWith:(NSString * _Nonnull)message;
+ [Export ("showTipsWith:")]
+ void ShowTipsWith (string message);
+ }
+}
diff --git a/NfcLock.Ios.Binding/shared_nfc_kmp.xcframework/Info.plist b/NfcLock.Ios.Binding/NFCSDK.xcframework/Info.plist
similarity index 100%
rename from NfcLock.Ios.Binding/shared_nfc_kmp.xcframework/Info.plist
rename to NfcLock.Ios.Binding/NFCSDK.xcframework/Info.plist
diff --git a/NfcLock.Ios.Binding/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h
similarity index 79%
rename from NfcLock.Ios.Binding/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h
rename to NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h
index d56f6de..0d333bd 100644
--- a/NfcLock.Ios.Binding/shared_nfc_kmp.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h
+++ b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/Headers/NFCSDK.h
@@ -6,9 +6,9 @@
#import
#import
-@class NFCSDKCV, NFCSDKCVCompanion, NFCSDKCallFunctionTask, NFCSDKChargeLevel, NFCSDKCommonTask, NFCSDKControlProgress, NFCSDKControlTask, NFCSDKCtrl, NFCSDKCtrlCompanion, NFCSDKDevice, NFCSDKDeviceInfo, NFCSDKDeviceLog, NFCSDKDeviceManager, NFCSDKGetLogTask, NFCSDKKotlinArray, NFCSDKKotlinByteArray, NFCSDKKotlinByteIterator, NFCSDKKotlinEnum, NFCSDKKotlinEnumCompanion, NFCSDKKotlinException, NFCSDKKotlinIllegalStateException, NFCSDKKotlinPair<__covariant A, __covariant B>, NFCSDKKotlinRuntimeException, NFCSDKKotlinThrowable, NFCSDKKotlinUnit, NFCSDKMet, NFCSDKMetCompanion, NFCSDKParameters, NFCSDKResult, NFCSDKSetKeyTask, NFCSDKSetParametersTask, NFCSDKUserType, NFCSDKUserTypeCompanion;
+@class NFCSDKCV, NFCSDKCVCompanion, NFCSDKCallFunctionTask, NFCSDKChargeLevel, NFCSDKCommonTask, NFCSDKControlProgress, NFCSDKControlTask, NFCSDKCtrl, NFCSDKCtrlCompanion, NFCSDKCustomDataConfig, NFCSDKCustomDataConfigCompanion, NFCSDKDevice, NFCSDKDeviceInfo, NFCSDKDeviceLog, NFCSDKDeviceManager, NFCSDKGetLogTask, NFCSDKGetVersionTask, NFCSDKKotlinArray, NFCSDKKotlinByteArray, NFCSDKKotlinByteIterator, NFCSDKKotlinEnum, NFCSDKKotlinEnumCompanion, NFCSDKKotlinException, NFCSDKKotlinIllegalStateException, NFCSDKKotlinPair<__covariant A, __covariant B>, NFCSDKKotlinRuntimeException, NFCSDKKotlinThrowable, NFCSDKMet, NFCSDKMetCompanion, NFCSDKParameters, NFCSDKResult, NFCSDKSetKeyTask, NFCSDKSetParametersTask, NFCSDKUserType, NFCSDKUserTypeCompanion, NSData, NSError;
-@protocol NFCSDKKotlinComparable, NFCSDKKotlinIterator, NFCSDKNFCCallbacks, NFCSDKNFCTag;
+@protocol NFCSDKIOSNFCCallbacks, NFCSDKKotlinComparable, NFCSDKKotlinIterator, NFCSDKNFCCallbacks, NFCSDKNFCTag;
NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic push
@@ -235,6 +235,30 @@ __attribute__((swift_name("Ctrl.Companion")))
- (NFCSDKCtrl * _Nullable)fromValueValue:(uint8_t)value __attribute__((swift_name("fromValue(value:)")));
@end
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CustomDataConfig")))
+@interface NFCSDKCustomDataConfig : NFCSDKKotlinEnum
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (class, readonly, getter=companion) NFCSDKCustomDataConfigCompanion *companion __attribute__((swift_name("companion")));
+@property (class, readonly) NFCSDKCustomDataConfig *write __attribute__((swift_name("write")));
+@property (class, readonly) NFCSDKCustomDataConfig *read __attribute__((swift_name("read")));
++ (NFCSDKKotlinArray *)values __attribute__((swift_name("values()")));
+@property (class, readonly) NSArray *entries __attribute__((swift_name("entries")));
+@property (readonly) uint32_t value __attribute__((swift_name("value")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CustomDataConfig.Companion")))
+@interface NFCSDKCustomDataConfigCompanion : NFCSDKBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) NFCSDKCustomDataConfigCompanion *shared __attribute__((swift_name("shared")));
+- (NFCSDKCustomDataConfig * _Nullable)fromNameName:(NSString *)name __attribute__((swift_name("fromName(name:)")));
+@end
+
__attribute__((objc_subclassing_restricted))
__attribute__((swift_name("Device")))
@interface NFCSDKDevice : NFCSDKBase
@@ -349,32 +373,36 @@ __attribute__((swift_name("DeviceManager")))
- (NFCSDKKotlinByteArray *)toFixed16Input:(NSString *)input __attribute__((swift_name("toFixed16(input:)")));
@end
+__attribute__((swift_name("IOSNFCCallbacks")))
+@protocol NFCSDKIOSNFCCallbacks
+@required
+- (void)chargingRes:(NSString *)res level:(int32_t)level __attribute__((swift_name("charging(res:level:)")));
+- (void)connectTagErrorError:(NSError *)error __attribute__((swift_name("connectTagError(error:)")));
+- (void)controllingRes:(NSString *)res progress:(int32_t)progress ctrl:(NSString *)ctrl __attribute__((swift_name("controlling(res:progress:ctrl:)")));
+- (void)customDataRes:(NSString *)res config:(NFCSDKCustomDataConfig *)config data:(NSData * _Nullable)data __attribute__((swift_name("customData(res:config:data:)")));
+- (void)discoveredId:(NSString *)id isNew:(BOOL)isNew rssi:(int32_t)rssi __attribute__((swift_name("discovered(id:isNew:rssi:)")));
+- (void)finished __attribute__((swift_name("finished()")));
+- (void)notNfcA __attribute__((swift_name("notNfcA()")));
+- (void)sendCommandErrorError:(NSError * _Nullable)error __attribute__((swift_name("sendCommandError(error:)")));
+- (void)sessionInvalidWithErrorError:(NSError *)error __attribute__((swift_name("sessionInvalidWithError(error:)")));
+- (void)setKeyRes:(NSString *)res password:(NSString *)password __attribute__((swift_name("setKey(res:password:)")));
+@end
+
__attribute__((objc_subclassing_restricted))
__attribute__((swift_name("IOSNFCHelper")))
@interface NFCSDKIOSNFCHelper : NFCSDKBase
-- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
-+ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
-- (void)controlPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl __attribute__((swift_name("control(password:ctrl:)")));
+- (instancetype)initWithCallback:(id)callback __attribute__((swift_name("init(callback:)"))) __attribute__((objc_designated_initializer));
+- (NSData *)byteArrayToNSDataData:(NFCSDKKotlinByteArray *)data __attribute__((swift_name("byteArrayToNSData(data:)")));
+- (void)cancel __attribute__((swift_name("cancel()")));
+- (void)customDataOperationConfig:(NFCSDKCustomDataConfig *)config customData:(NSData * _Nullable)customData __attribute__((swift_name("customDataOperation(config:customData:)")));
+- (void)endScan __attribute__((swift_name("endScan()")));
+- (void)endScanErrorMessage:(NSString *)errorMessage __attribute__((swift_name("endScan(errorMessage:)")));
- (void)lockPassword:(NSString *)password __attribute__((swift_name("lock(password:)")));
-
-/**
- * @note This method converts instances of CancellationException to errors.
- * Other uncaught Kotlin exceptions are fatal.
-*/
-- (void)processWithCompletionHandler:(void (^)(NSError * _Nullable))completionHandler __attribute__((swift_name("process(completionHandler:)")));
-- (void)setChargingCbCb:(void (^ _Nullable)(NSString *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setChargingCb(cb:)")));
-- (void)setControllingCbCb:(void (^ _Nullable)(NSString *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setControllingCb(cb:)")));
-- (void)setFinishedCbCb:(void (^ _Nullable)(void))cb __attribute__((swift_name("setFinishedCb(cb:)")));
-- (void)setLoopCbCb:(NFCSDKBoolean *(^)(NSString *, NFCSDKBoolean *, NFCSDKInt * _Nullable))cb __attribute__((swift_name("setLoopCb(cb:)")));
-- (void)setLostCbCb:(void (^ _Nullable)(void))cb __attribute__((swift_name("setLostCb(cb:)")));
-- (void)setTransceiverT:(void (^ _Nullable)(NFCSDKKotlinByteArray *, NFCSDKKotlinUnit *(^)(NFCSDKKotlinByteArray *)))t __attribute__((swift_name("setTransceiver(t:)")));
+- (NFCSDKKotlinByteArray *)nsDataToByteArrayData:(NSData *)data __attribute__((swift_name("nsDataToByteArray(data:)")));
+- (void)setAlertMessageMessage:(NSString *)message __attribute__((swift_name("setAlertMessage(message:)")));
+- (void)setKeyPassword:(NSString *)password sKey:(NSString *)sKey __attribute__((swift_name("setKey(password:sKey:)")));
+- (BOOL)startScanMessage:(NSString * _Nullable)message __attribute__((swift_name("startScan(message:)")));
- (void)unlockPassword:(NSString *)password __attribute__((swift_name("unlock(password:)")));
-@property void (^ _Nullable charging)(NSString *, NFCSDKInt * _Nullable) __attribute__((swift_name("charging")));
-@property void (^ _Nullable controlling)(NSString *, NFCSDKInt * _Nullable) __attribute__((swift_name("controlling")));
-@property void (^ _Nullable finished)(void) __attribute__((swift_name("finished")));
-@property NFCSDKBoolean *(^ _Nullable loop)(NSString *, NFCSDKBoolean *, NFCSDKInt * _Nullable) __attribute__((swift_name("loop")));
-@property void (^ _Nullable lost)(void) __attribute__((swift_name("lost")));
-@property void (^ _Nullable transceiver)(NFCSDKKotlinByteArray *, NFCSDKKotlinUnit *(^)(NFCSDKKotlinByteArray *)) __attribute__((swift_name("transceiver")));
@end
__attribute__((objc_subclassing_restricted))
@@ -467,56 +495,77 @@ __attribute__((swift_name("UserType.Companion")))
__attribute__((swift_name("CommonTask")))
@interface NFCSDKCommonTask : NFCSDKBase
+- (void)onSelectError __attribute__((swift_name("onSelectError()")));
@property (readonly) NSString *password __attribute__((swift_name("password")));
+@property (readonly) NFCSDKUserType * _Nullable userType __attribute__((swift_name("userType")));
@end
__attribute__((objc_subclassing_restricted))
__attribute__((swift_name("CallFunctionTask")))
@interface NFCSDKCallFunctionTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:data:index:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKCallFunctionTask *)doCopyPassword:(NSString *)password data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:data:index:callback:)")));
+- (instancetype)initWithPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:userType:data:index:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKCallFunctionTask *)doCopyPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType data:(NSArray *)data index:(uint8_t)index callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:userType:data:index:callback:)")));
- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (void)onSelectError __attribute__((swift_name("onSelectError()")));
- (NSString *)description __attribute__((swift_name("description()")));
@property (readonly) void (^callback)(NFCSDKResult *, NSArray * _Nullable) __attribute__((swift_name("callback")));
@property (readonly) NSArray *data __attribute__((swift_name("data")));
@property (readonly) uint8_t index __attribute__((swift_name("index")));
@property (readonly) NSString *password __attribute__((swift_name("password")));
+@property (readonly) NFCSDKUserType * _Nullable userType __attribute__((swift_name("userType")));
@end
__attribute__((objc_subclassing_restricted))
__attribute__((swift_name("ControlTask")))
@interface NFCSDKControlTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("init(password:ctrl:ignoreProgress:chargeCallback:controlCallback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKControlTask *)doCopyPassword:(NSString *)password ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("doCopy(password:ctrl:ignoreProgress:chargeCallback:controlCallback:)")));
+- (instancetype)initWithPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("init(password:userType:ctrl:ignoreProgress:chargeCallback:controlCallback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKControlTask *)doCopyPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType ctrl:(NFCSDKCtrl *)ctrl ignoreProgress:(BOOL)ignoreProgress chargeCallback:(void (^)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable))chargeCallback controlCallback:(void (^)(NFCSDKResult *, NFCSDKControlProgress * _Nullable))controlCallback __attribute__((swift_name("doCopy(password:userType:ctrl:ignoreProgress:chargeCallback:controlCallback:)")));
- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (void)onSelectError __attribute__((swift_name("onSelectError()")));
- (NSString *)description __attribute__((swift_name("description()")));
@property (readonly) void (^chargeCallback)(NFCSDKResult *, NFCSDKChargeLevel * _Nullable) __attribute__((swift_name("chargeCallback")));
@property (readonly) void (^controlCallback)(NFCSDKResult *, NFCSDKControlProgress * _Nullable) __attribute__((swift_name("controlCallback")));
@property (readonly) NFCSDKCtrl *ctrl __attribute__((swift_name("ctrl")));
@property (readonly) BOOL ignoreProgress __attribute__((swift_name("ignoreProgress")));
@property (readonly) NSString *password __attribute__((swift_name("password")));
+@property (readonly) NFCSDKUserType * _Nullable userType __attribute__((swift_name("userType")));
@end
__attribute__((objc_subclassing_restricted))
__attribute__((swift_name("GetLogTask")))
@interface NFCSDKGetLogTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKGetLogTask *)doCopyPassword:(NSString *)password callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:callback:)")));
+- (instancetype)initWithPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:userType:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKGetLogTask *)doCopyPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:userType:callback:)")));
- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (void)onSelectError __attribute__((swift_name("onSelectError()")));
- (NSString *)description __attribute__((swift_name("description()")));
@property (readonly) void (^callback)(NFCSDKResult *, NSArray * _Nullable) __attribute__((swift_name("callback")));
@property (readonly) NSString *password __attribute__((swift_name("password")));
+@property (readonly) NFCSDKUserType * _Nullable userType __attribute__((swift_name("userType")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("GetVersionTask")))
+@interface NFCSDKGetVersionTask : NFCSDKCommonTask
+- (instancetype)initWithPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("init(password:userType:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKGetVersionTask *)doCopyPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType callback:(void (^)(NFCSDKResult *, NSArray * _Nullable))callback __attribute__((swift_name("doCopy(password:userType:callback:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (void)onSelectError __attribute__((swift_name("onSelectError()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) void (^callback)(NFCSDKResult *, NSArray * _Nullable) __attribute__((swift_name("callback")));
+@property (readonly) NSString *password __attribute__((swift_name("password")));
+@property (readonly) NFCSDKUserType * _Nullable userType __attribute__((swift_name("userType")));
@end
__attribute__((swift_name("NFCCallbacks")))
@protocol NFCSDKNFCCallbacks
@required
+- (void)onDiscoveredInfo:(NFCSDKDeviceInfo *)info rssi:(NFCSDKUInt * _Nullable)rssi __attribute__((swift_name("onDiscovered(info:rssi:)")));
- (void)onFinished __attribute__((swift_name("onFinished()")));
-- (BOOL)onLoopInfo:(NFCSDKDeviceInfo *)info rssi:(NFCSDKUInt * _Nullable)rssi __attribute__((swift_name("onLoop(info:rssi:)")));
-- (void)onLost __attribute__((swift_name("onLost()")));
@end
__attribute__((swift_name("NFCHelper")))
@@ -540,27 +589,31 @@ __attribute__((swift_name("NFCHelper")))
__attribute__((objc_subclassing_restricted))
__attribute__((swift_name("SetKeyTask")))
@interface NFCSDKSetKeyTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:sKey:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKSetKeyTask *)doCopyPassword:(NSString *)password sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:sKey:callback:)")));
+- (instancetype)initWithPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:userType:sKey:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKSetKeyTask *)doCopyPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType sKey:(NSString *)sKey callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:userType:sKey:callback:)")));
- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (void)onSelectError __attribute__((swift_name("onSelectError()")));
- (NSString *)description __attribute__((swift_name("description()")));
@property (readonly) void (^callback)(NFCSDKResult *) __attribute__((swift_name("callback")));
@property (readonly) NSString *password __attribute__((swift_name("password")));
@property (readonly) NSString *sKey __attribute__((swift_name("sKey")));
+@property (readonly) NFCSDKUserType * _Nullable userType __attribute__((swift_name("userType")));
@end
__attribute__((objc_subclassing_restricted))
__attribute__((swift_name("SetParametersTask")))
@interface NFCSDKSetParametersTask : NFCSDKCommonTask
-- (instancetype)initWithPassword:(NSString *)password parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:parameters:callback:)"))) __attribute__((objc_designated_initializer));
-- (NFCSDKSetParametersTask *)doCopyPassword:(NSString *)password parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:parameters:callback:)")));
+- (instancetype)initWithPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("init(password:userType:parameters:callback:)"))) __attribute__((objc_designated_initializer));
+- (NFCSDKSetParametersTask *)doCopyPassword:(NSString *)password userType:(NFCSDKUserType * _Nullable)userType parameters:(NFCSDKParameters *)parameters callback:(void (^)(NFCSDKResult *))callback __attribute__((swift_name("doCopy(password:userType:parameters:callback:)")));
- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (void)onSelectError __attribute__((swift_name("onSelectError()")));
- (NSString *)description __attribute__((swift_name("description()")));
@property (readonly) void (^callback)(NFCSDKResult *) __attribute__((swift_name("callback")));
@property (readonly) NFCSDKParameters *parameters __attribute__((swift_name("parameters")));
@property (readonly) NSString *password __attribute__((swift_name("password")));
+@property (readonly) NFCSDKUserType * _Nullable userType __attribute__((swift_name("userType")));
@end
__attribute__((objc_subclassing_restricted))
@@ -677,16 +730,6 @@ __attribute__((swift_name("KotlinPair")))
@property (readonly) B _Nullable second __attribute__((swift_name("second")));
@end
-__attribute__((objc_subclassing_restricted))
-__attribute__((swift_name("KotlinUnit")))
-@interface NFCSDKKotlinUnit : NFCSDKBase
-+ (instancetype)alloc __attribute__((unavailable));
-+ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
-+ (instancetype)unit __attribute__((swift_name("init()")));
-@property (class, readonly, getter=shared) NFCSDKKotlinUnit *shared __attribute__((swift_name("shared")));
-- (NSString *)description __attribute__((swift_name("description()")));
-@end
-
__attribute__((swift_name("KotlinIterator")))
@protocol NFCSDKKotlinIterator
@required
diff --git a/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/Info.plist b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/Info.plist
similarity index 100%
rename from NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/Info.plist
rename to NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/Info.plist
diff --git a/NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/Modules/module.modulemap b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/Modules/module.modulemap
similarity index 100%
rename from NFCLockDemoV2/Platforms/iOS/Frameworks/NFCSDK.framework/Modules/module.modulemap
rename to NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/Modules/module.modulemap
diff --git a/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/NFCSDK b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/NFCSDK
new file mode 100644
index 0000000..4793a2a
Binary files /dev/null and b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/NFCSDK.framework/NFCSDK differ
diff --git a/NfcLock.Ios.Binding/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Info.plist b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Info.plist
similarity index 100%
rename from NfcLock.Ios.Binding/shared_nfc_kmp.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Info.plist
rename to NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Info.plist
diff --git a/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/DWARF/NFCSDK b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/DWARF/NFCSDK
new file mode 100644
index 0000000..b69cc8e
Binary files /dev/null and b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/DWARF/NFCSDK differ
diff --git a/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/NFCSDK.yml b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/NFCSDK.yml
new file mode 100644
index 0000000..f68a54c
--- /dev/null
+++ b/NfcLock.Ios.Binding/NFCSDK.xcframework/ios-arm64/dSYMs/NFCSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/NFCSDK.yml
@@ -0,0 +1,3645 @@
+---
+triple: 'arm64-apple-darwin'
+binary-path: '/Users/yuwan/Desktop/lock-sdk/SDK/shared-nfc-kmp/build/bin/iosArm64/releaseFramework/NFCSDK.framework/NFCSDK'
+relocations:
+ - { offset: 0x2B0, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#toString(){}kotlin.String', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x44 }
+ - { offset: 0x2B8, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x44, symBinAddr: 0x4044, symSize: 0x1C0 }
+ - { offset: 0x32D, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x44, symBinAddr: 0x4044, symSize: 0x1C0 }
+ - { offset: 0x335, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x204, symBinAddr: 0x4204, symSize: 0x6C }
+ - { offset: 0x461, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x204, symBinAddr: 0x4204, symSize: 0x6C }
+ - { offset: 0x469, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x270, symBinAddr: 0x4270, symSize: 0x64 }
+ - { offset: 0x535, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x270, symBinAddr: 0x4270, symSize: 0x64 }
+ - { offset: 0x53D, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$getPointer(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>', symObjAddr: 0x2D4, symBinAddr: 0x42D4, symSize: 0x48 }
+ - { offset: 0x570, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.CPointer#$getPointer(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>(kotlinx.cinterop.AutofreeScope){}kotlinx.cinterop.CPointer<1:0>', symObjAddr: 0x2D4, symBinAddr: 0x42D4, symSize: 0x48 }
+ - { offset: 0x578, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#(kotlinx.cinterop.CPointer<-1:0>?){}kotlin.Any?', symObjAddr: 0x31C, symBinAddr: 0x431C, symSize: 0xEC }
+ - { offset: 0x59F, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#(kotlinx.cinterop.CPointer<-1:0>?){}kotlin.Any?', symObjAddr: 0x31C, symBinAddr: 0x431C, symSize: 0xEC }
+ - { offset: 0x5A7, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x408, symBinAddr: 0x4408, symSize: 0x188 }
+ - { offset: 0x61C, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x408, symBinAddr: 0x4408, symSize: 0x188 }
+ - { offset: 0x624, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#free(kotlin.native.internal.NativePtr){}', symObjAddr: 0x590, symBinAddr: 0x4590, symSize: 0x40 }
+ - { offset: 0x6AD, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.nativeHeap#free(kotlin.native.internal.NativePtr){}', symObjAddr: 0x590, symBinAddr: 0x4590, symSize: 0x40 }
+ - { offset: 0x6B5, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.NativePlacement#alloc(kotlin.Int;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x5D0, symBinAddr: 0x45D0, symSize: 0x198 }
+ - { offset: 0x6FA, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.NativePlacement#alloc(kotlin.Int;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x5D0, symBinAddr: 0x45D0, symSize: 0x198 }
+ - { offset: 0x702, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#alloc__at__kotlinx.cinterop.NativePlacement(kotlinx.cinterop.CVariable.Type){}kotlinx.cinterop.NativePointed', symObjAddr: 0x768, symBinAddr: 0x4768, symSize: 0x178 }
+ - { offset: 0x729, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#alloc__at__kotlinx.cinterop.NativePlacement(kotlinx.cinterop.CVariable.Type){}kotlinx.cinterop.NativePointed', symObjAddr: 0x768, symBinAddr: 0x4768, symSize: 0x178 }
+ - { offset: 0x731, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x8E0, symBinAddr: 0x48E0, symSize: 0x238 }
+ - { offset: 0x7A9, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#alloc(kotlin.Long;kotlin.Int){}kotlinx.cinterop.NativePointed', symObjAddr: 0x8E0, symBinAddr: 0x48E0, symSize: 0x238 }
+ - { offset: 0x7B1, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#clearImpl(){}', symObjAddr: 0xB18, symBinAddr: 0x4B18, symSize: 0x368 }
+ - { offset: 0x8DD, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.ArenaBase#clearImpl(){}', symObjAddr: 0xB18, symBinAddr: 0x4B18, symSize: 0x368 }
+ - { offset: 0x8E5, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#cPointerToString__at__kotlinx.cinterop.CPointer<*>(){}kotlin.String', symObjAddr: 0xE80, symBinAddr: 0x4E80, symSize: 0x2FC }
+ - { offset: 0xA16, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#cPointerToString__at__kotlinx.cinterop.CPointer<*>(){}kotlin.String', symObjAddr: 0xE80, symBinAddr: 0x4E80, symSize: 0x2FC }
+ - { offset: 0xA1E, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#allocObjCObject(kotlin.native.internal.NativePtr){}kotlin.native.internal.NativePtr', symObjAddr: 0x117C, symBinAddr: 0x517C, symSize: 0x1F4 }
+ - { offset: 0xBF2, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop#allocObjCObject(kotlin.native.internal.NativePtr){}kotlin.native.internal.NativePtr', symObjAddr: 0x117C, symBinAddr: 0x517C, symSize: 0x1F4 }
+ - { offset: 0xBFA, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.object-2.getPointer#internal', symObjAddr: 0x1370, symBinAddr: 0x5370, symSize: 0x1E4 }
+ - { offset: 0xCA5, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.object-2.getPointer#internal', symObjAddr: 0x1370, symBinAddr: 0x5370, symSize: 0x1E4 }
+ - { offset: 0xCAD, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.object-2.$getPointer$lambda$0$FUNCTION_REFERENCE$0.$invoke(){}#internal', symObjAddr: 0x1554, symBinAddr: 0x5554, symSize: 0x1E4 }
+ - { offset: 0xD94, size: 0x8, addend: 0x0, symName: '_kfun:kotlinx.cinterop.object-2.$getPointer$lambda$0$FUNCTION_REFERENCE$0.$invoke(){}#internal', symObjAddr: 0x1554, symBinAddr: 0x5554, symSize: 0x1E4 }
+ - { offset: 0xD9C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#plus__at__kotlin.ByteArray(kotlin.ByteArray){}kotlin.ByteArray', symObjAddr: 0x1738, symBinAddr: 0x5738, symSize: 0xF4 }
+ - { offset: 0xE79, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#plus__at__kotlin.ByteArray(kotlin.ByteArray){}kotlin.ByteArray', symObjAddr: 0x1738, symBinAddr: 0x5738, symSize: 0xF4 }
+ - { offset: 0xE81, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.ByteArray(kotlin.Int;kotlin.Int){}kotlin.ByteArray', symObjAddr: 0x182C, symBinAddr: 0x582C, symSize: 0x200 }
+ - { offset: 0xF2E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.ByteArray(kotlin.Int;kotlin.Int){}kotlin.ByteArray', symObjAddr: 0x182C, symBinAddr: 0x582C, symSize: 0x200 }
+ - { offset: 0xF36, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.IntArray(kotlin.Int;kotlin.Int){}kotlin.IntArray', symObjAddr: 0x1A2C, symBinAddr: 0x5A2C, symSize: 0x1E8 }
+ - { offset: 0xFB5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.IntArray(kotlin.Int;kotlin.Int){}kotlin.IntArray', symObjAddr: 0x1A2C, symBinAddr: 0x5A2C, symSize: 0x1E8 }
+ - { offset: 0xFBD, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyInto__at__kotlin.Array(kotlin.Array<0:0>;kotlin.Int;kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x1C14, symBinAddr: 0x5C14, symSize: 0x80 }
+ - { offset: 0x1019, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyInto__at__kotlin.Array(kotlin.Array<0:0>;kotlin.Int;kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x1C14, symBinAddr: 0x5C14, symSize: 0x80 }
+ - { offset: 0x1021, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#asList__at__kotlin.Array(){0§}kotlin.collections.List<0:0>", symObjAddr: 0x1C94, symBinAddr: 0x5C94, symSize: 0xE8 }
+ - { offset: 0x1041, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#asList__at__kotlin.Array(){0§}kotlin.collections.List<0:0>", symObjAddr: 0x1C94, symBinAddr: 0x5C94, symSize: 0xE8 }
+ - { offset: 0x1049, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.Array<0:0>(kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x1D7C, symBinAddr: 0x5D7C, symSize: 0x1F4 }
+ - { offset: 0x10B0, size: 0x8, addend: 0x0, symName: "_kfun:kotlin.collections#copyOfUninitializedElements__at__kotlin.Array<0:0>(kotlin.Int;kotlin.Int){0§}kotlin.Array<0:0>", symObjAddr: 0x1D7C, symBinAddr: 0x5D7C, symSize: 0x1F4 }
+ - { offset: 0x10B8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.#internal', symObjAddr: 0x1F70, symBinAddr: 0x5F70, symSize: 0x48 }
+ - { offset: 0x1138, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.#internal', symObjAddr: 0x1F70, symBinAddr: 0x5F70, symSize: 0x48 }
+ - { offset: 0x1140, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.isEmpty#internal', symObjAddr: 0x1FB8, symBinAddr: 0x5FB8, symSize: 0x40 }
+ - { offset: 0x1179, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.isEmpty#internal', symObjAddr: 0x1FB8, symBinAddr: 0x5FB8, symSize: 0x40 }
+ - { offset: 0x1181, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$contains(kotlin.Byte){}kotlin.Boolean#internal', symObjAddr: 0x1FF8, symBinAddr: 0x5FF8, symSize: 0xD8 }
+ - { offset: 0x1203, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$contains(kotlin.Byte){}kotlin.Boolean#internal', symObjAddr: 0x1FF8, symBinAddr: 0x5FF8, symSize: 0xD8 }
+ - { offset: 0x120B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$get(kotlin.Int){}kotlin.Byte#internal', symObjAddr: 0x20D0, symBinAddr: 0x60D0, symSize: 0xB4 }
+ - { offset: 0x12AD, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$get(kotlin.Int){}kotlin.Byte#internal', symObjAddr: 0x20D0, symBinAddr: 0x60D0, symSize: 0xB4 }
+ - { offset: 0x12B5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$indexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x2184, symBinAddr: 0x6184, symSize: 0xBC }
+ - { offset: 0x1305, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$indexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x2184, symBinAddr: 0x6184, symSize: 0xBC }
+ - { offset: 0x130D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$lastIndexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x2240, symBinAddr: 0x6240, symSize: 0xAC }
+ - { offset: 0x1396, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-1.$lastIndexOf(kotlin.Byte){}kotlin.Int#internal', symObjAddr: 0x2240, symBinAddr: 0x6240, symSize: 0xAC }
+ - { offset: 0x139E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.#internal', symObjAddr: 0x22EC, symBinAddr: 0x62EC, symSize: 0x48 }
+ - { offset: 0x1404, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.#internal', symObjAddr: 0x22EC, symBinAddr: 0x62EC, symSize: 0x48 }
+ - { offset: 0x140C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.isEmpty#internal', symObjAddr: 0x2334, symBinAddr: 0x6334, symSize: 0x40 }
+ - { offset: 0x1445, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.isEmpty#internal', symObjAddr: 0x2334, symBinAddr: 0x6334, symSize: 0x40 }
+ - { offset: 0x144D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.contains#internal', symObjAddr: 0x2374, symBinAddr: 0x6374, symSize: 0x48 }
+ - { offset: 0x14AC, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.contains#internal', symObjAddr: 0x2374, symBinAddr: 0x6374, symSize: 0x48 }
+ - { offset: 0x14B4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.get#internal', symObjAddr: 0x23BC, symBinAddr: 0x63BC, symSize: 0x6C }
+ - { offset: 0x14E7, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.get#internal', symObjAddr: 0x23BC, symBinAddr: 0x63BC, symSize: 0x6C }
+ - { offset: 0x14EF, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.indexOf#internal', symObjAddr: 0x2428, symBinAddr: 0x6428, symSize: 0x4C }
+ - { offset: 0x1509, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.indexOf#internal', symObjAddr: 0x2428, symBinAddr: 0x6428, symSize: 0x4C }
+ - { offset: 0x1511, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.lastIndexOf#internal', symObjAddr: 0x2474, symBinAddr: 0x6474, symSize: 0x134 }
+ - { offset: 0x154E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.collections.object-2.lastIndexOf#internal', symObjAddr: 0x2474, symBinAddr: 0x6474, symSize: 0x134 }
+ - { offset: 0x1556, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x25A8, symBinAddr: 0x65A8, symSize: 0x4C }
+ - { offset: 0x15A3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x25A8, symBinAddr: 0x65A8, symSize: 0x4C }
+ - { offset: 0x15AB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#hashCode(){}kotlin.Int', symObjAddr: 0x25F4, symBinAddr: 0x65F4, symSize: 0x40 }
+ - { offset: 0x15BA, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#hashCode(){}kotlin.Int', symObjAddr: 0x25F4, symBinAddr: 0x65F4, symSize: 0x40 }
+ - { offset: 0x15C2, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#toString(){}kotlin.String', symObjAddr: 0x2634, symBinAddr: 0x6634, symSize: 0x464 }
+ - { offset: 0x1615, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Any#toString(){}kotlin.String', symObjAddr: 0x2634, symBinAddr: 0x6634, symSize: 0x464 }
+ - { offset: 0x161D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Array#(){}kotlin.Int', symObjAddr: 0x2A98, symBinAddr: 0x6A98, symSize: 0x40 }
+ - { offset: 0x1822, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Array#(){}kotlin.Int', symObjAddr: 0x2A98, symBinAddr: 0x6A98, symSize: 0x40 }
+ - { offset: 0x182A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.hasNext#internal', symObjAddr: 0x2AD8, symBinAddr: 0x6AD8, symSize: 0x44 }
+ - { offset: 0x1839, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.hasNext#internal', symObjAddr: 0x2AD8, symBinAddr: 0x6AD8, symSize: 0x44 }
+ - { offset: 0x1841, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.next#internal', symObjAddr: 0x2B1C, symBinAddr: 0x6B1C, symSize: 0x10C }
+ - { offset: 0x1874, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArrayIterator.next#internal', symObjAddr: 0x2B1C, symBinAddr: 0x6B1C, symSize: 0x10C }
+ - { offset: 0x187C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArray#(){}kotlin.Int', symObjAddr: 0x2C28, symBinAddr: 0x6C28, symSize: 0x40 }
+ - { offset: 0x18A3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArray#(){}kotlin.Int', symObjAddr: 0x2C28, symBinAddr: 0x6C28, symSize: 0x40 }
+ - { offset: 0x18AB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.hasNext#internal', symObjAddr: 0x2C68, symBinAddr: 0x6C68, symSize: 0x44 }
+ - { offset: 0x18BA, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.hasNext#internal', symObjAddr: 0x2C68, symBinAddr: 0x6C68, symSize: 0x44 }
+ - { offset: 0x18C2, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.nextByte#internal', symObjAddr: 0x2CAC, symBinAddr: 0x6CAC, symSize: 0x104 }
+ - { offset: 0x18F5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ByteArrayIterator.nextByte#internal', symObjAddr: 0x2CAC, symBinAddr: 0x6CAC, symSize: 0x104 }
+ - { offset: 0x18FD, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$compareTo(kotlin.Boolean){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x2DB0, symBinAddr: 0x6DB0, symSize: 0x58 }
+ - { offset: 0x1924, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$compareTo(kotlin.Boolean){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x2DB0, symBinAddr: 0x6DB0, symSize: 0x58 }
+ - { offset: 0x192C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x2E08, symBinAddr: 0x6E08, symSize: 0x54 }
+ - { offset: 0x1957, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x2E08, symBinAddr: 0x6E08, symSize: 0x54 }
+ - { offset: 0x195F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x2E5C, symBinAddr: 0x6E5C, symSize: 0x78 }
+ - { offset: 0x19A3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x2E5C, symBinAddr: 0x6E5C, symSize: 0x78 }
+ - { offset: 0x19AB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x2ED4, symBinAddr: 0x6ED4, symSize: 0x44 }
+ - { offset: 0x19E3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Boolean#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x2ED4, symBinAddr: 0x6ED4, symSize: 0x44 }
+ - { offset: 0x19EB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#compareTo(1:0){}kotlin.Int', symObjAddr: 0x2F18, symBinAddr: 0x6F18, symSize: 0x54 }
+ - { offset: 0x1A1E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#compareTo(1:0){}kotlin.Int', symObjAddr: 0x2F18, symBinAddr: 0x6F18, symSize: 0x54 }
+ - { offset: 0x1A26, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x2F6C, symBinAddr: 0x6F6C, symSize: 0x4C }
+ - { offset: 0x1A35, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#equals(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x2F6C, symBinAddr: 0x6F6C, symSize: 0x4C }
+ - { offset: 0x1A3D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#hashCode(){}kotlin.Int', symObjAddr: 0x2FB8, symBinAddr: 0x6FB8, symSize: 0x40 }
+ - { offset: 0x1A4C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#hashCode(){}kotlin.Int', symObjAddr: 0x2FB8, symBinAddr: 0x6FB8, symSize: 0x40 }
+ - { offset: 0x1A54, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#toString(){}kotlin.String', symObjAddr: 0x2FF8, symBinAddr: 0x6FF8, symSize: 0x4C }
+ - { offset: 0x1A63, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Enum#toString(){}kotlin.String', symObjAddr: 0x2FF8, symBinAddr: 0x6FF8, symSize: 0x4C }
+ - { offset: 0x1A6B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.RuntimeException#(kotlin.String?){}', symObjAddr: 0x3044, symBinAddr: 0x7044, symSize: 0x40 }
+ - { offset: 0x1A9C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.RuntimeException#(kotlin.String?){}', symObjAddr: 0x3044, symBinAddr: 0x7044, symSize: 0x40 }
+ - { offset: 0x1AA4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalStateException#(kotlin.String?){}', symObjAddr: 0x3084, symBinAddr: 0x7084, symSize: 0x54 }
+ - { offset: 0x1AF6, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalStateException#(kotlin.String?){}', symObjAddr: 0x3084, symBinAddr: 0x7084, symSize: 0x54 }
+ - { offset: 0x1AFE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalStateException#(kotlin.String?;kotlin.Throwable?){}', symObjAddr: 0x30D8, symBinAddr: 0x70D8, symSize: 0x4C }
+ - { offset: 0x1B56, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalStateException#(kotlin.String?;kotlin.Throwable?){}', symObjAddr: 0x30D8, symBinAddr: 0x70D8, symSize: 0x4C }
+ - { offset: 0x1B5E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(){}', symObjAddr: 0x3124, symBinAddr: 0x7124, symSize: 0x50 }
+ - { offset: 0x1BD2, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(){}', symObjAddr: 0x3124, symBinAddr: 0x7124, symSize: 0x50 }
+ - { offset: 0x1BDA, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(kotlin.String?){}', symObjAddr: 0x3174, symBinAddr: 0x7174, symSize: 0x54 }
+ - { offset: 0x1C10, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoSuchElementException#(kotlin.String?){}', symObjAddr: 0x3174, symBinAddr: 0x7174, symSize: 0x54 }
+ - { offset: 0x1C18, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(){}', symObjAddr: 0x31C8, symBinAddr: 0x71C8, symSize: 0x50 }
+ - { offset: 0x1C4E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(){}', symObjAddr: 0x31C8, symBinAddr: 0x71C8, symSize: 0x50 }
+ - { offset: 0x1C56, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(kotlin.String?){}', symObjAddr: 0x3218, symBinAddr: 0x7218, symSize: 0x54 }
+ - { offset: 0x1C97, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UnsupportedOperationException#(kotlin.String?){}', symObjAddr: 0x3218, symBinAddr: 0x7218, symSize: 0x54 }
+ - { offset: 0x1C9F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(){}', symObjAddr: 0x326C, symBinAddr: 0x726C, symSize: 0x50 }
+ - { offset: 0x1CF1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(){}', symObjAddr: 0x326C, symBinAddr: 0x726C, symSize: 0x50 }
+ - { offset: 0x1CF9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(kotlin.String?){}', symObjAddr: 0x32BC, symBinAddr: 0x72BC, symSize: 0x54 }
+ - { offset: 0x1D33, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.OutOfMemoryError#(kotlin.String?){}', symObjAddr: 0x32BC, symBinAddr: 0x72BC, symSize: 0x54 }
+ - { offset: 0x1D3B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalArgumentException#(){}', symObjAddr: 0x3310, symBinAddr: 0x7310, symSize: 0x50 }
+ - { offset: 0x1D6F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalArgumentException#(){}', symObjAddr: 0x3310, symBinAddr: 0x7310, symSize: 0x50 }
+ - { offset: 0x1D77, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalArgumentException#(kotlin.String?){}', symObjAddr: 0x3360, symBinAddr: 0x7360, symSize: 0x54 }
+ - { offset: 0x1DAD, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IllegalArgumentException#(kotlin.String?){}', symObjAddr: 0x3360, symBinAddr: 0x7360, symSize: 0x54 }
+ - { offset: 0x1DB5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IndexOutOfBoundsException#(kotlin.String?){}', symObjAddr: 0x33B4, symBinAddr: 0x73B4, symSize: 0x54 }
+ - { offset: 0x1DF6, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.IndexOutOfBoundsException#(kotlin.String?){}', symObjAddr: 0x33B4, symBinAddr: 0x73B4, symSize: 0x54 }
+ - { offset: 0x1DFE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ClassCastException#(kotlin.String?){}', symObjAddr: 0x3408, symBinAddr: 0x7408, symSize: 0x54 }
+ - { offset: 0x1E3F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ClassCastException#(kotlin.String?){}', symObjAddr: 0x3408, symBinAddr: 0x7408, symSize: 0x54 }
+ - { offset: 0x1E47, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArithmeticException#(kotlin.String?){}', symObjAddr: 0x345C, symBinAddr: 0x745C, symSize: 0x40 }
+ - { offset: 0x1E88, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ArithmeticException#(kotlin.String?){}', symObjAddr: 0x345C, symBinAddr: 0x745C, symSize: 0x40 }
+ - { offset: 0x1E90, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(){}', symObjAddr: 0x349C, symBinAddr: 0x749C, symSize: 0x50 }
+ - { offset: 0x1F06, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(){}', symObjAddr: 0x349C, symBinAddr: 0x749C, symSize: 0x50 }
+ - { offset: 0x1F0E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(kotlin.String?){}', symObjAddr: 0x34EC, symBinAddr: 0x74EC, symSize: 0x40 }
+ - { offset: 0x1F4F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.ConcurrentModificationException#(kotlin.String?){}', symObjAddr: 0x34EC, symBinAddr: 0x74EC, symSize: 0x40 }
+ - { offset: 0x1F57, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.AssertionError#(kotlin.Any?){}', symObjAddr: 0x352C, symBinAddr: 0x752C, symSize: 0xE0 }
+ - { offset: 0x1FDE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.AssertionError#(kotlin.Any?){}', symObjAddr: 0x352C, symBinAddr: 0x752C, symSize: 0xE0 }
+ - { offset: 0x1FE6, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoWhenBranchMatchedException#(){}', symObjAddr: 0x360C, symBinAddr: 0x760C, symSize: 0x50 }
+ - { offset: 0x2031, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.NoWhenBranchMatchedException#(){}', symObjAddr: 0x360C, symBinAddr: 0x760C, symSize: 0x50 }
+ - { offset: 0x2039, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UninitializedPropertyAccessException#(kotlin.String?){}', symObjAddr: 0x365C, symBinAddr: 0x765C, symSize: 0x54 }
+ - { offset: 0x207A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.UninitializedPropertyAccessException#(kotlin.String?){}', symObjAddr: 0x365C, symBinAddr: 0x765C, symSize: 0x54 }
+ - { offset: 0x2082, size: 0x8, addend: 0x0, symName: "_kfun:kotlin#lazy(kotlin.Function0<0:0>){0§}kotlin.Lazy<0:0>", symObjAddr: 0x36B0, symBinAddr: 0x76B0, symSize: 0x324 }
+ - { offset: 0x2107, size: 0x8, addend: 0x0, symName: "_kfun:kotlin#lazy(kotlin.Function0<0:0>){0§}kotlin.Lazy<0:0>", symObjAddr: 0x36B0, symBinAddr: 0x76B0, symSize: 0x324 }
+ - { offset: 0x210F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$compareTo(kotlin.Int){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x39D4, symBinAddr: 0x79D4, symSize: 0x4C }
+ - { offset: 0x21BC, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$compareTo(kotlin.Int){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x39D4, symBinAddr: 0x79D4, symSize: 0x4C }
+ - { offset: 0x21C4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3A20, symBinAddr: 0x7A20, symSize: 0x40 }
+ - { offset: 0x21DF, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3A20, symBinAddr: 0x7A20, symSize: 0x40 }
+ - { offset: 0x21E7, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3A60, symBinAddr: 0x7A60, symSize: 0x40 }
+ - { offset: 0x2202, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3A60, symBinAddr: 0x7A60, symSize: 0x40 }
+ - { offset: 0x220A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3AA0, symBinAddr: 0x7AA0, symSize: 0x40 }
+ - { offset: 0x2225, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3AA0, symBinAddr: 0x7AA0, symSize: 0x40 }
+ - { offset: 0x222D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3AE0, symBinAddr: 0x7AE0, symSize: 0x40 }
+ - { offset: 0x2248, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3AE0, symBinAddr: 0x7AE0, symSize: 0x40 }
+ - { offset: 0x2250, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3B20, symBinAddr: 0x7B20, symSize: 0x40 }
+ - { offset: 0x226B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3B20, symBinAddr: 0x7B20, symSize: 0x40 }
+ - { offset: 0x2273, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3B60, symBinAddr: 0x7B60, symSize: 0x48 }
+ - { offset: 0x228E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3B60, symBinAddr: 0x7B60, symSize: 0x48 }
+ - { offset: 0x2296, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3BA8, symBinAddr: 0x7BA8, symSize: 0x50 }
+ - { offset: 0x22B1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3BA8, symBinAddr: 0x7BA8, symSize: 0x50 }
+ - { offset: 0x22B9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3BF8, symBinAddr: 0x7BF8, symSize: 0x74 }
+ - { offset: 0x22D4, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3BF8, symBinAddr: 0x7BF8, symSize: 0x74 }
+ - { offset: 0x22DC, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3C6C, symBinAddr: 0x7C6C, symSize: 0x70 }
+ - { offset: 0x2309, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3C6C, symBinAddr: 0x7C6C, symSize: 0x70 }
+ - { offset: 0x2311, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3CDC, symBinAddr: 0x7CDC, symSize: 0x40 }
+ - { offset: 0x233A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Int#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3CDC, symBinAddr: 0x7CDC, symSize: 0x40 }
+ - { offset: 0x2342, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$compareTo(kotlin.Byte){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x3D1C, symBinAddr: 0x7D1C, symSize: 0x54 }
+ - { offset: 0x235D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$compareTo(kotlin.Byte){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x3D1C, symBinAddr: 0x7D1C, symSize: 0x54 }
+ - { offset: 0x2365, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3D70, symBinAddr: 0x7D70, symSize: 0x40 }
+ - { offset: 0x237F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x3D70, symBinAddr: 0x7D70, symSize: 0x40 }
+ - { offset: 0x2387, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3DB0, symBinAddr: 0x7DB0, symSize: 0x48 }
+ - { offset: 0x23A2, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x3DB0, symBinAddr: 0x7DB0, symSize: 0x48 }
+ - { offset: 0x23AA, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3DF8, symBinAddr: 0x7DF8, symSize: 0x40 }
+ - { offset: 0x23C5, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x3DF8, symBinAddr: 0x7DF8, symSize: 0x40 }
+ - { offset: 0x23CD, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3E38, symBinAddr: 0x7E38, symSize: 0x40 }
+ - { offset: 0x23E8, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x3E38, symBinAddr: 0x7E38, symSize: 0x40 }
+ - { offset: 0x23F0, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3E78, symBinAddr: 0x7E78, symSize: 0x40 }
+ - { offset: 0x240B, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x3E78, symBinAddr: 0x7E78, symSize: 0x40 }
+ - { offset: 0x2413, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3EB8, symBinAddr: 0x7EB8, symSize: 0x40 }
+ - { offset: 0x242E, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x3EB8, symBinAddr: 0x7EB8, symSize: 0x40 }
+ - { offset: 0x2436, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3EF8, symBinAddr: 0x7EF8, symSize: 0x48 }
+ - { offset: 0x2451, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x3EF8, symBinAddr: 0x7EF8, symSize: 0x48 }
+ - { offset: 0x2459, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3F40, symBinAddr: 0x7F40, symSize: 0x74 }
+ - { offset: 0x2474, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$toString(){}kotlin.String(){}kotlin.String', symObjAddr: 0x3F40, symBinAddr: 0x7F40, symSize: 0x74 }
+ - { offset: 0x247C, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3FB4, symBinAddr: 0x7FB4, symSize: 0x70 }
+ - { offset: 0x24A9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$equals(kotlin.Any?){}kotlin.Boolean(kotlin.Any?){}kotlin.Boolean', symObjAddr: 0x3FB4, symBinAddr: 0x7FB4, symSize: 0x70 }
+ - { offset: 0x24B1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x4024, symBinAddr: 0x8024, symSize: 0x40 }
+ - { offset: 0x24D9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Byte#$hashCode(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x4024, symBinAddr: 0x8024, symSize: 0x40 }
+ - { offset: 0x24E1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$compareTo(kotlin.Long){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x4064, symBinAddr: 0x8064, symSize: 0x4C }
+ - { offset: 0x24FC, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$compareTo(kotlin.Long){}kotlin.Int(kotlin.Any?){}kotlin.Int', symObjAddr: 0x4064, symBinAddr: 0x8064, symSize: 0x4C }
+ - { offset: 0x2504, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x40B0, symBinAddr: 0x80B0, symSize: 0x40 }
+ - { offset: 0x251F, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toByte(){}kotlin.Byte(){}kotlin.Byte', symObjAddr: 0x40B0, symBinAddr: 0x80B0, symSize: 0x40 }
+ - { offset: 0x2527, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x40F0, symBinAddr: 0x80F0, symSize: 0x40 }
+ - { offset: 0x2542, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toChar(){}kotlin.Char(){}kotlin.Char', symObjAddr: 0x40F0, symBinAddr: 0x80F0, symSize: 0x40 }
+ - { offset: 0x254A, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x4130, symBinAddr: 0x8130, symSize: 0x40 }
+ - { offset: 0x2565, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toShort(){}kotlin.Short(){}kotlin.Short', symObjAddr: 0x4130, symBinAddr: 0x8130, symSize: 0x40 }
+ - { offset: 0x256D, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x4170, symBinAddr: 0x8170, symSize: 0x40 }
+ - { offset: 0x2588, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toInt(){}kotlin.Int(){}kotlin.Int', symObjAddr: 0x4170, symBinAddr: 0x8170, symSize: 0x40 }
+ - { offset: 0x2590, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x41B0, symBinAddr: 0x81B0, symSize: 0x40 }
+ - { offset: 0x25AB, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toLong(){}kotlin.Long(){}kotlin.Long', symObjAddr: 0x41B0, symBinAddr: 0x81B0, symSize: 0x40 }
+ - { offset: 0x25B3, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x41F0, symBinAddr: 0x81F0, symSize: 0x48 }
+ - { offset: 0x25CE, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toFloat(){}kotlin.Float(){}kotlin.Float', symObjAddr: 0x41F0, symBinAddr: 0x81F0, symSize: 0x48 }
+ - { offset: 0x25D6, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x4238, symBinAddr: 0x8238, symSize: 0x48 }
+ - { offset: 0x25F1, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$toDouble(){}kotlin.Double(){}kotlin.Double', symObjAddr: 0x4238, symBinAddr: 0x8238, symSize: 0x48 }
+ - { offset: 0x25F9, size: 0x8, addend: 0x0, symName: '_kfun:kotlin.Long#$