[
  {
    "path": ".gitignore",
    "content": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.build/\n.buildlog/\n.history\n.svn/\n.swiftpm/\nmigrate_working_dir/\n\n# IntelliJ related\n*.iml\n*.ipr\n*.iws\n.idea/\n\n# The .vscode folder contains launch configuration and tasks you configure in\n# VS Code which you may wish to be included in version control, so this line\n# is commented out by default.\n#.vscode/\n\n# Flutter/Dart/Pub related\n# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.\n/pubspec.lock\n**/doc/api/\n.dart_tool/\n.flutter-plugins-dependencies\n/build/\n/coverage/\n"
  },
  {
    "path": ".metadata",
    "content": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrades etc.\n#\n# This file should be version controlled and should not be manually edited.\n\nversion:\n  revision: \"db50e20168db8fee486b9abf32fc912de3bc5b6a\"\n  channel: \"stable\"\n\nproject_type: plugin\n\n# Tracks metadata for the flutter migrate command\nmigration:\n  platforms:\n    - platform: root\n      create_revision: db50e20168db8fee486b9abf32fc912de3bc5b6a\n      base_revision: db50e20168db8fee486b9abf32fc912de3bc5b6a\n    - platform: android\n      create_revision: db50e20168db8fee486b9abf32fc912de3bc5b6a\n      base_revision: db50e20168db8fee486b9abf32fc912de3bc5b6a\n    - platform: ios\n      create_revision: db50e20168db8fee486b9abf32fc912de3bc5b6a\n      base_revision: db50e20168db8fee486b9abf32fc912de3bc5b6a\n\n  # User provided section\n\n  # List of Local paths (relative to this file) that should be\n  # ignored by the migrate tool.\n  #\n  # Files that are not part of the templates will be ignored by default.\n  unmanaged_files:\n    - 'lib/main.dart'\n    - 'ios/Runner.xcodeproj/project.pbxproj'\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "## 4.2.0\n\n* Add Swift Package Manager support.\n* Bump dependencies.\n\n## 4.1.1\n\n* Avoid iOS SDK version constraints caused by the addition of `NFCReaderError.Code`.\n\n## 4.1.0\n\n* Deprecated `NfcManager#isAvailable`. Use `NfcManager#checkAvailability` instead.\n* Fix iOS background issue.\n* Add more `NFCReaderError.Code` for iOS.\n* Bump versions.\n* Update doc.\n\n## 4.0.2\n\n* Update README.\n\n## 4.0.1\n\n* Update package page.\n\n## 4.0.0\n\n**Has many breaking changes.**\n\n* Rename the following:\n  * `NfcA` to `NfcAAndroid`\n  * `NfcB` to `NfcBAndroid`\n  * `NfcF` to `NfcFAndroid`\n  * `NfcV` to `NfcVAndroid`\n  * `IsoDep` to `IsoDepAndroid`\n  * `MifareClassic` to `MifareClassicAndroid`\n  * `MifareUltralight` to `MifareUltralightAndroid`\n  * `NdefFormatable` to `NdefFormatableAndroid`\n  * `MiFare` to `MiFareIos`\n  * `FeliCa` to `FeliCaIos`\n  * `Iso15693` to `Iso15693Ios`\n  * `Iso7816` to `Iso7816Ios`\n  * Options for `startSession`:\n    * `onError` to `onErrorIos`\n    * `invalidateAfterFirstRead` to `invalidateAfterFirstReadIos`\n    * `alertMessage` to `alertMessageIos`\n  * Options for `stopSession`:\n    * `alertMessage` to `alertMessageIos`\n    * `errorMessage` to `errorMessageIos`\n* Remove the following:\n  * `Ndef` (Instead use the [`nfc_manager_ndef`](https://pub.dev/packages/nfc_manager_ndef) package or `NdefAndroid` / `NdefIos`)\n  * `timeout` (Instead use the `async getTimeout()` method)\n  * `maxTransceiveLength` (Instead use the `async getMaxTransceiveLength()` method)\n  * `NfcError` (Instead use the `NfcReaderSessionErrorIos`)\n  * `NfcErrorType` (Instead use the `NfcReaderErrorCodeIos`)\n* Add the following:\n  * `ndef_record.dart` library that provides access to [`ndef_record`](https://pub.dev/packages/ndef_record) package.\n  * `nfc_manager_android.dart` library that provides access to Android API.\n  * `nfc_manager_ios.dart` library that provides access to iOS API.\n  * `async setTimeout()` method.\n  * `noPlatformSoundsAndroid` option to `startSession` method.\n* Upgrade Flutter.\n* Update README.\n\n## 3.5.1\n\n* Make compatible for Kotlin 2.1.0\n\n## 3.5.0\n\n* Upgrade Flutter.\n* Fix analyze issues.\n\n## 3.4.0\n\n* Fix iOS background isolate issue.\n* Add namespace to Gradle for Android.\n* Rebuild projects on Flutter stable channel.\n\n## 3.3.0\n\n* Added `invalidateAfterFirstRead` argument to `startSession`. This enables `restartPolling` on iOS.\n\n## 3.2.0\n\n* Fix build issues.\n\n## 3.1.1\n\n* Upgrade kotlin version.\n\n## 3.1.0\n\n* Fix Null-Safety related issues. The following properties are now nullable.\n  * `IsoDep#hiLayerResponse`\n  * `IsoDep#historicalBytes`\n  * `Iso7816#historicalBytes`\n  * `Iso7816#applicationData`\n  * `MiFare#historicalBytes`\n\n## 3.0.0+2\n\n* Update doc.\n\n## 3.0.0+1\n\n* Flutter format.\n\n## 3.0.0\n\n* Upgrade to null safety.\n\n## 2.0.3\n\n* Fix type conversion errors in `FeliCa#readWithoutEncryption` and `FeliCa#requestServiceV2`.\n\n## 2.0.2\n\n* Fix a bug in calling `FeliCa.sendFeliCaCommand` method.\n\n## 2.0.1+1\n\n* Update README.\n\n## 2.0.1\n\n* Fix an error when initializing plugin for non-NFC Android devices.\n\n## 2.0.0+2\n\n* Update doc.\n* Flutter format.\n\n## 2.0.0+1\n\n* Update doc.\n\n## 2.0.0\n\n**Has many breaking changes.**\n\n* Remove `startNdefSession` and `NdefDiscoveredCallback`.\n* Rename `startTagSession` to `startSession`.\n* Rename `TagPollingOption` to `NfcPollingOption`.\n* Rename `NfcSessionError` to `NfcError`.\n* Rename `NfcSessionErrorType` to `NfcErrorType`.\n* Rename `TagDiscoveredCallback` to `NfcTagCallback`.\n* Rename `NfcSessionErrorCallback` to `NfcErrorCallback`.\n* Rename `ISO15693` to `Iso15693`.\n* Rename `ISO7816` to `Iso7816`.\n* Rename `fromTag` to `from`. (e.g. `MiFare.fromTag(tag)` -> `MiFare.from(tag)`)\n* Add `NdefTypeNameFormat` enum.\n* Add `NdefFormatable`, `MifareClassic` and `MifareUltralight` classes.\n* Add `Ndef#read` method.\n* Add command-implementations for `FeliCa` and `Iso15693`.\n* Upgrade flutter environment.\n\n## 1.3.2+4\n\n* Update README.\n\n## 1.3.2+3\n\n* Update README.\n\n## 1.3.2+2\n\n* Update README.\n\n## 1.3.2+1\n\n* Update README.\n\n## 1.3.2\n\n* Fix crash on Ndef write and writeLock error.\n\n## 1.3.1\n\n* Fix a bug where the error callback was not called.\n\n## 1.3.0\n\n* Add callback to handle error from session.\n\n## 1.2.0\n\n* Make discovered callback async.\n\n## 1.1.0+1\n\n* Update readme.\n\n## 1.1.0\n\n* Add constants.\n* Fix misspelled name.\n* Fix xcode build warning.\n* Increase the Flutter SDK requirement to ^1.10.0.\n\n## 1.0.1\n\n* Fix error on invoking transceive method.\n\n## 1.0.0\n\n* Add platform-specifc-tag operations.\n* Remove `NfcSessionType` enum.\n* Migrate to pubspec platforms manifest.\n* More consistent naming.\n\n## 0.5.1\n\n* Update flutter project files.\n* Additional fix for migration to AndroidX.\n\n## 0.5.0\n\n* Migrate to AndroidX.\n\n## 0.4.0+2\n\n* Fix typo on README\n\n## 0.4.0+1\n\n* Update README\n\n## 0.4.0\n\n* Rename `NfcNdef#cachedNdef` to `NfcNdef#cachedMessage`.\n* Add `NfcSessionType` enum.\n* Add `NfcTagPollingOption` enum.\n\n## 0.3.0\n\n* Add `NdefRecord#createMimeRecord`.\n* Add optional parameters `alertMessageIOS` and `errorMessageIOS` displayed in iOS system UI.\n* Fix error on deserializing null message on dart side.\n\n## 0.2.0\n\n* Split `startSession` into `startNdefSession` and `startTagSession`.\n* Improve doc.\n\n## 0.1.1\n\n* Fix crash on serializing nil message on ios side.\n* Add example project.\n* Improve doc.\n\n## 0.1.0+2\n\n* Improve doc.\n\n## 0.1.0+1\n\n* Improve doc.\n\n## 0.1.0\n\n* Add iOS 13 features.\n\n## 0.0.1\n\n* Initial release.\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2019 okadan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# nfc_manager\n\nA Flutter plugin providing access to NFC features on Android and iOS.\n\n## Setup\n\n### Android\n\n* Add [android.permission.NFC](https://developer.android.com/reference/android/Manifest.permission.html#NFC) to your `AndroidManifest.xml`.\n\n### iOS\n\n* Add [Near Field Communication Tag Reader Session Formats Entitlements](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_nfc_readersession_formats) to your entitlements.\n* Add [NFCReaderUsageDescription](https://developer.apple.com/documentation/bundleresources/information_property_list/nfcreaderusagedescription) to your `Info.plist`.\n* Add [com.apple.developer.nfc.readersession.iso7816.select-identifiers](https://developer.apple.com/documentation/bundleresources/information_property_list/select-identifiers) to your `Info.plist` as needed.\n* Add [com.apple.developer.nfc.readersession.felica.systemcodes](https://developer.apple.com/documentation/bundleresources/information_property_list/systemcodes) to your `Info.plist` if you specify `NfcPollingOption.iso18092` in `startSession`, otherwise an error will occur.\n\n## Usage\n\n### Handling the Session\n\n```dart\nimport 'package:nfc_manager/nfc_manager.dart';\n\n// Check the availability of NFC on the current device.\nNfcAvailability availability = await NfcManager.instance.checkAvailability();\n\nif (availability != NfcAvailability.enabled) {\n  print('NFC may not be supported or may be temporarily disabled.');\n  return;\n}\n\n// Start the session.\nNfcManager.instance.startSession(\n  pollingOptions: {NfcPollingOption.iso14443}, // You can also specify iso18092 and iso15693.\n  onDiscovered: (NfcTag tag) async {\n    // Do something with an NfcTag instance...\n    print(tag);\n\n    // Stop the session when no longer needed.\n    await NfcManager.instance.stopSession();\n  },\n);\n```\n\n### Working with NfcTag\n\nAn `NfcTag` instance is typically not used directly. Instead, convert it to a platform-specific tag class by calling that class's static method `from`.\n\n```dart\nimport 'package:nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager_ndef/nfc_manager_ndef.dart';\n\nfinal Ndef ndef = Ndef.from(tag);\n\nif (ndef == null) {\n  print('This tag is not compatible with NDEF.');\n  return;\n}\n\n// Do something with an Ndef instance...\nprint(ndef);\n```\n\nThe following platform-specific tag classes are available:\n\n#### Android only\n\n* `NfcAAndroid`\n* `NfcBAndroid`\n* `NfcFAndroid`\n* `NfcVAndroid`\n* `IsoDepAndroid`\n* `MifareClassicAndroid`\n* `MifareUltralightAndroid`\n* `NfcBarcodeAndroid`\n* `NdefAndroid`\n* `NdefFormatableAndroid`\n\n#### iOS only\n\n* `FeliCaIos`\n* `MiFareIos`\n* `Iso15693Ios`\n* `Iso7816Ios`\n* `NdefIos`\n\n#### Cross-platform abstractions (separate packages)\n\n* `Ndef` ([nfc_manager_ndef](https://pub.dev/packages/nfc_manager_ndef))\n* `FeliCa` ([nfc_manager_felica](https://pub.dev/packages/nfc_manager_felica))\n* and more...\n"
  },
  {
    "path": "analysis_options.yaml",
    "content": "include: package:flutter_lints/flutter.yaml\n"
  },
  {
    "path": "android/.gitignore",
    "content": "*.iml\n.gradle\n/local.properties\n/.idea/workspace.xml\n/.idea/libraries\n.DS_Store\n/build\n/captures\n.cxx\n"
  },
  {
    "path": "android/build.gradle.kts",
    "content": "group = \"dev.flutter.plugins.nfcmanager\"\nversion = \"1.0-SNAPSHOT\"\n\nbuildscript {\n    val kotlinVersion = \"2.2.20\"\n    repositories {\n        google()\n        mavenCentral()\n    }\n\n    dependencies {\n        classpath(\"com.android.tools.build:gradle:8.11.1\")\n        classpath(\"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion\")\n    }\n}\n\nallprojects {\n    repositories {\n        google()\n        mavenCentral()\n    }\n}\n\nplugins {\n    id(\"com.android.library\")\n    id(\"kotlin-android\")\n}\n\nandroid {\n    namespace = \"dev.flutter.plugins.nfcmanager\"\n\n    compileSdk = 36\n\n    compileOptions {\n        sourceCompatibility = JavaVersion.VERSION_17\n        targetCompatibility = JavaVersion.VERSION_17\n    }\n\n    kotlinOptions {\n        jvmTarget = JavaVersion.VERSION_17.toString()\n    }\n\n    sourceSets {\n        getByName(\"main\") {\n            java.srcDirs(\"src/main/kotlin\")\n        }\n        getByName(\"test\") {\n            java.srcDirs(\"src/test/kotlin\")\n        }\n    }\n\n    defaultConfig {\n        minSdk = 24\n    }\n\n    testOptions {\n        unitTests {\n            isIncludeAndroidResources = true\n            all {\n                it.useJUnitPlatform()\n\n                it.outputs.upToDateWhen { false }\n\n                it.testLogging {\n                    events(\"passed\", \"skipped\", \"failed\", \"standardOut\", \"standardError\")\n                    showStandardStreams = true\n                }\n            }\n        }\n    }\n}\n\ndependencies {\n    testImplementation(\"org.jetbrains.kotlin:kotlin-test\")\n    testImplementation(\"org.mockito:mockito-core:5.0.0\")\n}\n"
  },
  {
    "path": "android/settings.gradle",
    "content": "rootProject.name = 'nfc_manager'\n"
  },
  {
    "path": "android/settings.gradle.kts",
    "content": "rootProject.name = 'nfc_manager'\n"
  },
  {
    "path": "android/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n  package=\"dev.flutter.plugins.nfcmanager\">\n</manifest>\n"
  },
  {
    "path": "android/src/main/kotlin/dev/flutter/plugins/nfcmanager/NfcManagerPlugin.kt",
    "content": "package dev.flutter.plugins.nfcmanager\n\nimport android.app.Activity\nimport android.app.PendingIntent\nimport android.content.BroadcastReceiver\nimport android.content.Context\nimport android.content.Context.RECEIVER_NOT_EXPORTED\nimport android.content.Intent\nimport android.content.IntentFilter\nimport android.nfc.NdefMessage\nimport android.nfc.NdefRecord\nimport android.nfc.NfcAdapter\nimport android.nfc.Tag\nimport android.nfc.tech.IsoDep\nimport android.nfc.tech.MifareClassic\nimport android.nfc.tech.MifareUltralight\nimport android.nfc.tech.Ndef\nimport android.nfc.tech.NdefFormatable\nimport android.nfc.tech.NfcA\nimport android.nfc.tech.NfcB\nimport android.nfc.tech.NfcBarcode\nimport android.nfc.tech.NfcF\nimport android.nfc.tech.NfcV\nimport android.nfc.tech.TagTechnology\nimport android.os.Build\nimport io.flutter.embedding.engine.plugins.FlutterPlugin\nimport io.flutter.embedding.engine.plugins.activity.ActivityAware\nimport io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding\nimport java.util.*\n\nclass NfcManagerPlugin: FlutterPlugin, ActivityAware, HostApiPigeon, BroadcastReceiver() {\n  private lateinit var flutterApi: FlutterApiPigeon\n  private lateinit var activity: Activity\n  private var adapter: NfcAdapter? = null\n  private var cachedTags: MutableMap<String, Tag> = mutableMapOf()\n  private var connectedTech: TagTechnology? = null\n\n  override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {\n    HostApiPigeon.setUp(flutterPluginBinding.binaryMessenger, this)\n    flutterApi = FlutterApiPigeon(flutterPluginBinding.binaryMessenger)\n    adapter = NfcAdapter.getDefaultAdapter(flutterPluginBinding.applicationContext)\n  }\n\n  override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {\n    HostApiPigeon.setUp(binding.binaryMessenger, null)\n  }\n\n  override fun onAttachedToActivity(binding: ActivityPluginBinding) {\n    activity = binding.activity\n\n    val intentFilter = IntentFilter(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED)\n\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {\n      activity.applicationContext.registerReceiver(this, intentFilter, RECEIVER_NOT_EXPORTED)\n    } else {\n      activity.applicationContext.registerReceiver(this, intentFilter)\n    }\n  }\n\n  override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {\n    activity = binding.activity\n  }\n\n  override fun onDetachedFromActivityForConfigChanges() {\n    // noop\n  }\n\n  override fun onDetachedFromActivity() {\n    // noop\n  }\n\n  override fun onReceive(context: Context?, intent: Intent?) {\n    intent ?: run { return }\n    if (intent.action != NfcAdapter.ACTION_ADAPTER_STATE_CHANGED) { return }\n    val state = intent.getIntExtra(NfcAdapter.EXTRA_ADAPTER_STATE, NfcAdapter.STATE_OFF)\n    flutterApi.onAdapterStateChanged(toAdapterStatePigeon(state)) { /* noop */ }\n  }\n\n  override fun nfcAdapterIsEnabled(): Boolean {\n    return getAdapter().isEnabled\n  }\n\n  override fun nfcAdapterIsSecureNfcEnabled(): Boolean {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {\n      throw FlutterError(\"unavailable\", \"Required Android SDK >= ${Build.VERSION_CODES.Q}.\", null)\n    }\n    return getAdapter().isSecureNfcEnabled\n  }\n\n  override fun nfcAdapterIsSecureNfcSupported(): Boolean {\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {\n      throw FlutterError(\"unavailable\", \"Required Android SDK >= ${Build.VERSION_CODES.Q}.\", null)\n    }\n    return getAdapter().isSecureNfcSupported\n  }\n\n  override fun nfcAdapterEnableReaderMode(flags: List<ReaderFlagPigeon>) {\n    getAdapter().enableReaderMode(activity, { onTagDiscovered(it) }, toInt(flags), null)\n  }\n\n  override fun nfcAdapterDisableReaderMode() {\n    getAdapter().disableReaderMode(activity)\n    cachedTags.clear() // Consider when to remove the tag.\n  }\n\n  override fun ndefGetNdefMessage(handle: String): NdefMessagePigeon? {\n    val tech = forceConnect(handle) { Ndef.get(it) }\n    val message = tech.ndefMessage\n    return if (message != null) toNdefMessagePigeon(message) else null\n  }\n\n  override fun ndefWriteNdefMessage(handle: String, message: NdefMessagePigeon) {\n    val tech = forceConnect(handle) { Ndef.get(it) }\n    tech.writeNdefMessage(toNdefMessage(message))\n  }\n\n  override fun ndefMakeReadOnly(handle: String): Boolean {\n    val tech = forceConnect(handle) { Ndef.get(it) }\n    return tech.makeReadOnly()\n  }\n\n  override fun nfcAGetMaxTransceiveLength(handle: String): Long {\n    val tech = forceConnect(handle) { NfcA.get(it) }\n    return tech.maxTransceiveLength.toLong()\n  }\n\n  override fun nfcAGetTimeout(handle: String): Long {\n    val tech = forceConnect(handle) { NfcA.get(it) }\n    return tech.timeout.toLong()\n  }\n\n  override fun nfcASetTimeout(handle: String, timeout: Long) {\n    val tech = forceConnect(handle) { NfcA.get(it) }\n    tech.timeout = timeout.toInt()\n  }\n\n  override fun nfcATransceive(handle: String, bytes: ByteArray): ByteArray {\n    val tech = forceConnect(handle) { NfcA.get(it) }\n    return tech.transceive(bytes)\n  }\n\n  override fun nfcBGetMaxTransceiveLength(handle: String): Long {\n    val tech = forceConnect(handle) { NfcB.get(it) }\n    return tech.maxTransceiveLength.toLong()\n  }\n\n  override fun nfcBTransceive(handle: String, bytes: ByteArray): ByteArray {\n    val tech = forceConnect(handle) { NfcB.get(it) }\n    return tech.transceive(bytes)\n  }\n\n  override fun nfcFGetMaxTransceiveLength(handle: String): Long {\n    val tech = forceConnect(handle) { NfcF.get(it) }\n    return tech.maxTransceiveLength.toLong()\n  }\n\n  override fun nfcFGetTimeout(handle: String): Long {\n    val tech = forceConnect(handle) { NfcF.get(it) }\n    return tech.timeout.toLong()\n  }\n\n  override fun nfcFSetTimeout(handle: String, timeout: Long) {\n    val tech = forceConnect(handle) { NfcF.get(it) }\n    tech.timeout = timeout.toInt()\n  }\n\n  override fun nfcFTransceive(handle: String, bytes: ByteArray): ByteArray {\n    val tech = forceConnect(handle) { NfcF.get(it) }\n    return tech.transceive(bytes)\n  }\n\n  override fun nfcVGetMaxTransceiveLength(handle: String): Long {\n    val tech = forceConnect(handle) { NfcV.get(it) }\n    return tech.maxTransceiveLength.toLong()\n  }\n\n  override fun nfcVTransceive(handle: String, bytes: ByteArray): ByteArray {\n    val tech = forceConnect(handle) { NfcV.get(it) }\n    return tech.transceive(bytes)\n  }\n\n  override fun isoDepGetMaxTransceiveLength(handle: String): Long {\n    val tech = forceConnect(handle) { IsoDep.get(it) }\n    return tech.maxTransceiveLength.toLong()\n  }\n\n  override fun isoDepGetTimeout(handle: String): Long {\n    val tech = forceConnect(handle) { IsoDep.get(it) }\n    return tech.timeout.toLong()\n  }\n\n  override fun isoDepSetTimeout(handle: String, timeout: Long) {\n    val tech = forceConnect(handle) { IsoDep.get(it) }\n    tech.timeout = timeout.toInt()\n  }\n\n  override fun isoDepTransceive(handle: String, bytes: ByteArray): ByteArray {\n    val tech = forceConnect(handle) { IsoDep.get(it) }\n    return tech.transceive(bytes)\n  }\n\n  override fun mifareClassicGetMaxTransceiveLength(handle: String): Long {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.maxTransceiveLength.toLong()\n  }\n\n  override fun mifareClassicGetTimeout(handle: String): Long {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.timeout.toLong()\n  }\n\n  override fun mifareClassicSetTimeout(handle: String, timeout: Long) {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    tech.timeout = timeout.toInt()\n  }\n\n  override fun mifareClassicAuthenticateSectorWithKeyA(handle: String, sectorIndex: Long, key: ByteArray): Boolean {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.authenticateSectorWithKeyA(sectorIndex.toInt(), key)\n  }\n\n  override fun mifareClassicAuthenticateSectorWithKeyB(handle: String, sectorIndex: Long, key: ByteArray): Boolean {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.authenticateSectorWithKeyB(sectorIndex.toInt(), key)\n  }\n\n  override fun mifareClassicGetBlockCountInSector(handle: String, sectorIndex: Long): Long {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.getBlockCountInSector(sectorIndex.toInt()).toLong()\n  }\n\n  override fun mifareClassicBlockToSector(handle: String, blockIndex: Long): Long {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.blockToSector(blockIndex.toInt()).toLong()\n  }\n\n  override fun mifareClassicSectorToBlock(handle: String, sectorIndex: Long): Long {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.sectorToBlock(sectorIndex.toInt()).toLong()\n  }\n\n  override fun mifareClassicIncrement(handle: String, blockIndex: Long, value: Long) {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    tech.increment(blockIndex.toInt(), value.toInt())\n  }\n\n  override fun mifareClassicDecrement(handle: String, blockIndex: Long, value: Long) {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    tech.decrement(blockIndex.toInt(), value.toInt())\n  }\n\n  override fun mifareClassicRestore(handle: String, blockIndex: Long) {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    tech.restore(blockIndex.toInt())\n  }\n\n  override fun mifareClassicTransfer(handle: String, blockIndex: Long) {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    tech.transfer(blockIndex.toInt())\n  }\n\n  override fun mifareClassicReadBlock(handle: String, blockIndex: Long): ByteArray {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.readBlock(blockIndex.toInt())\n  }\n\n  override fun mifareClassicWriteBlock(handle: String, blockIndex: Long, data: ByteArray) {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    tech.writeBlock(blockIndex.toInt(), data)\n  }\n\n  override fun mifareClassicTransceive(handle: String, bytes: ByteArray): ByteArray {\n    val tech = forceConnect(handle) { MifareClassic.get(it) }\n    return tech.transceive(bytes)\n  }\n\n  override fun mifareUltralightGetMaxTransceiveLength(handle: String): Long {\n    val tech = forceConnect(handle) { MifareUltralight.get(it) }\n    return tech.maxTransceiveLength.toLong()\n  }\n\n  override fun mifareUltralightGetTimeout(handle: String): Long {\n    val tech = forceConnect(handle) { MifareUltralight.get(it) }\n    return tech.timeout.toLong()\n  }\n\n  override fun mifareUltralightSetTimeout(handle: String, timeout: Long) {\n    val tech = forceConnect(handle) { MifareUltralight.get(it) }\n    tech.timeout = timeout.toInt()\n  }\n\n  override fun mifareUltralightReadPages(handle: String, pageOffset: Long): ByteArray {\n    val tech = forceConnect(handle) { MifareUltralight.get(it) }\n    return tech.readPages(pageOffset.toInt())\n  }\n\n  override fun mifareUltralightWritePage(handle: String, pageOffset: Long, data: ByteArray) {\n    val tech = forceConnect(handle) { MifareUltralight.get(it) }\n    tech.writePage(pageOffset.toInt(), data)\n  }\n\n  override fun mifareUltralightTransceive(handle: String, bytes: ByteArray): ByteArray {\n    val tech = forceConnect(handle) { MifareUltralight.get(it) }\n    return tech.transceive(bytes)\n  }\n\n  override fun ndefFormatableFormat(handle: String, firstMessage: NdefMessagePigeon) {\n    val tech = forceConnect(handle) { NdefFormatable.get(it) }\n    tech.format(toNdefMessage(firstMessage))\n  }\n\n  override fun ndefFormatableFormatReadOnly(handle: String, firstMessage: NdefMessagePigeon) {\n    val tech = forceConnect(handle) { NdefFormatable.get(it) }\n    tech.formatReadOnly(toNdefMessage(firstMessage))\n  }\n\n  private fun onTagDiscovered(tag: Tag) {\n    val handle = UUID.randomUUID().toString()\n    val pigeonTag = toTagPigeon(tag, handle)\n    cachedTags[handle] = tag\n    activity.runOnUiThread { flutterApi.onTagDiscovered(pigeonTag) { /* no op */ } }\n  }\n\n  private fun getAdapter(): NfcAdapter {\n    return adapter ?: run { throw FlutterError(\"not_supported\", \"NFC is not supported on this device.\", null) }\n  }\n\n  private inline fun <reified T: TagTechnology> forceConnect(handle: String, getMethod: (Tag) -> T?): T {\n    val tag = cachedTags[handle] ?: run {\n      throw FlutterError(\"tag_not_found\", \"You may have disable the session.\", null)\n    }\n    val tech = getMethod(tag) ?: run {\n      throw FlutterError(\"tag_not_found\", \"The tag cannot be converted to ${T::class.java.name}.\", null)\n    }\n    val connectedTech = connectedTech ?: run {\n      tech.connect()\n      connectedTech = tech\n      return tech\n    }\n    if (connectedTech.tag != tech.tag || connectedTech::class.java.name != tech::class.java.name) {\n      try {\n        connectedTech.close()\n      } catch (e: Exception) {\n        /* no op */\n      }\n      tech.connect()\n      this.connectedTech = tech\n    }\n    return tech\n  }\n}\n\nprivate fun toInt(value: List<ReaderFlagPigeon>): Int {\n  return value.fold(0) { p, e -> p or toInt(e)}\n}\n\nprivate fun toInt(value: ReaderFlagPigeon): Int {\n  return when (value) {\n    ReaderFlagPigeon.NFC_A-> NfcAdapter.FLAG_READER_NFC_A\n    ReaderFlagPigeon.NFC_B -> NfcAdapter.FLAG_READER_NFC_B\n    ReaderFlagPigeon.NFC_BARCODE -> NfcAdapter.FLAG_READER_NFC_BARCODE\n    ReaderFlagPigeon.NFC_F -> NfcAdapter.FLAG_READER_NFC_F\n    ReaderFlagPigeon.NFC_V -> NfcAdapter.FLAG_READER_NFC_V\n    ReaderFlagPigeon.NO_PLATFORM_SOUNDS -> NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS\n    ReaderFlagPigeon.SKIP_NDEF_CHECK -> NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK\n  }\n}\n\nprivate fun toNdefMessage(value: NdefMessagePigeon): NdefMessage {\n  return NdefMessage(value.records.map { toNdefRecord(it) }.toTypedArray())\n}\n\nprivate fun toNdefMessagePigeon(value: NdefMessage): NdefMessagePigeon {\n  return NdefMessagePigeon(\n    records = value.records.map { toNdefRecordPigeon(it) }\n  )\n}\n\nprivate fun toNdefRecord(value: NdefRecordPigeon): NdefRecord {\n  return NdefRecord(\n    toShort(value.tnf),\n    value.type,\n    value.id,\n    value.payload,\n  )\n}\n\nprivate fun toNdefRecordPigeon(value: NdefRecord): NdefRecordPigeon {\n  return NdefRecordPigeon(\n    tnf = toTypeNameFormatPigeon(value.tnf),\n    type = value.type,\n    id = value.id,\n    payload = value.payload,\n  )\n}\n\nprivate fun toTagPigeon(value: Tag, handle: String): TagPigeon {\n  return TagPigeon(\n    handle = handle,\n    id = value.id,\n    techList = value.techList.toMutableList(),\n    ndef = Ndef.get(value)?.let { toNdefPigeon(it) },\n    nfcA = NfcA.get(value)?.let { toNfcAPigeon(it) },\n    nfcB = NfcB.get(value)?.let { toNfcBPigeon(it) },\n    nfcF = NfcF.get(value)?.let { toNfcFPigeon(it) },\n    nfcV = NfcV.get(value)?.let { toNfcVPigeon(it) },\n    isoDep = IsoDep.get(value)?.let { toIsoDepPigeon(it) },\n    mifareClassic = MifareClassic.get(value)?.let { toMifareClassicPigeon(it) },\n    mifareUltralight = MifareUltralight.get(value)?.let { toMifareUltralightPigeon(it) },\n    ndefFormatable = NdefFormatable.get(value)?.let { \"\" },\n    nfcBarcode = NfcBarcode.get(value)?.let { toNfcBarcodePigeon(it) },\n  )\n}\n\nprivate fun toNdefPigeon(value: Ndef): NdefPigeon {\n  return NdefPigeon(\n    type = value.type,\n    isWritable = value.isWritable,\n    maxSize = value.maxSize.toLong(),\n    canMakeReadOnly = value.canMakeReadOnly(),\n    cachedNdefMessage = value.cachedNdefMessage?.let { toNdefMessagePigeon(it) },\n  )\n}\n\nprivate fun toNfcAPigeon(value: NfcA): NfcAPigeon {\n  return NfcAPigeon(\n    atqa = value.atqa,\n    sak = value.sak.toLong(),\n  )\n}\n\nprivate fun toNfcBPigeon(value: NfcB): NfcBPigeon {\n  return NfcBPigeon(\n    applicationData = value.applicationData,\n    protocolInfo = value.protocolInfo,\n  )\n}\n\nprivate fun toNfcFPigeon(value: NfcF): NfcFPigeon {\n  return NfcFPigeon(\n    manufacturer = value.manufacturer,\n    systemCode = value.systemCode,\n  )\n}\n\nprivate fun toNfcVPigeon(value: NfcV): NfcVPigeon {\n  return NfcVPigeon(\n    dsfId = value.dsfId.toLong(),\n    responseFlags = value.responseFlags.toLong(),\n  )\n}\n\nprivate fun toIsoDepPigeon(value: IsoDep): IsoDepPigeon {\n  return IsoDepPigeon(\n    hiLayerResponse = value.hiLayerResponse,\n    historicalBytes = value.historicalBytes,\n    isExtendedLengthApduSupported = value.isExtendedLengthApduSupported,\n  )\n}\n\nprivate fun toMifareClassicPigeon(value: MifareClassic): MifareClassicPigeon {\n  return MifareClassicPigeon(\n    type = toMifareClassicTypePigeon(value.type),\n    blockCount = value.blockCount.toLong(),\n    sectorCount = value.sectorCount.toLong(),\n    size = value.size.toLong(),\n  )\n}\n\nprivate fun toMifareUltralightPigeon(value: MifareUltralight): MifareUltralightPigeon {\n  return MifareUltralightPigeon(\n    type = toMifareUltralightTypePigeon(value.type)\n  )\n}\n\nprivate fun toNfcBarcodePigeon(value: NfcBarcode): NfcBarcodePigeon {\n  return NfcBarcodePigeon(\n    type = toNfcBarcodeTypePigeon(value.type),\n    barcode = value.barcode,\n  )\n}\n\nprivate fun toShort(value: TypeNameFormatPigeon): Short {\n  return when (value) {\n    TypeNameFormatPigeon.EMPTY -> NdefRecord.TNF_EMPTY\n    TypeNameFormatPigeon.WELL_KNOWN -> NdefRecord.TNF_WELL_KNOWN\n    TypeNameFormatPigeon.MEDIA -> NdefRecord.TNF_MIME_MEDIA\n    TypeNameFormatPigeon.ABSOLUTE_URI -> NdefRecord.TNF_ABSOLUTE_URI\n    TypeNameFormatPigeon.EXTERNAL -> NdefRecord.TNF_EXTERNAL_TYPE\n    TypeNameFormatPigeon.UNKNOWN -> NdefRecord.TNF_UNKNOWN\n    TypeNameFormatPigeon.UNCHANGED -> NdefRecord.TNF_UNCHANGED\n  }\n}\n\nprivate fun toAdapterStatePigeon(value: Int): AdapterStatePigeon {\n  return when (value) {\n    NfcAdapter.STATE_OFF -> AdapterStatePigeon.OFF\n    NfcAdapter.STATE_TURNING_ON -> AdapterStatePigeon.TURNING_ON\n    NfcAdapter.STATE_ON -> AdapterStatePigeon.ON\n    NfcAdapter.STATE_TURNING_OFF -> AdapterStatePigeon.TURNING_OFF\n    else -> error(\"Unknown value: $value\")\n  }\n}\n\nprivate fun toTypeNameFormatPigeon(value: Short): TypeNameFormatPigeon {\n  return when (value) {\n    NdefRecord.TNF_EMPTY -> TypeNameFormatPigeon.EMPTY\n    NdefRecord.TNF_WELL_KNOWN -> TypeNameFormatPigeon.WELL_KNOWN\n    NdefRecord.TNF_MIME_MEDIA -> TypeNameFormatPigeon.MEDIA\n    NdefRecord.TNF_ABSOLUTE_URI -> TypeNameFormatPigeon.ABSOLUTE_URI\n    NdefRecord.TNF_EXTERNAL_TYPE -> TypeNameFormatPigeon.EXTERNAL\n    NdefRecord.TNF_UNKNOWN -> TypeNameFormatPigeon.UNKNOWN\n    NdefRecord.TNF_UNCHANGED -> TypeNameFormatPigeon.UNCHANGED\n    else -> error(\"Unknown value: $value\")\n  }\n}\n\nprivate fun toNfcBarcodeTypePigeon(value: Int): NfcBarcodeTypePigeon {\n  return when (value) {\n    NfcBarcode.TYPE_KOVIO -> NfcBarcodeTypePigeon.KOVIO\n    NfcBarcode.TYPE_UNKNOWN -> NfcBarcodeTypePigeon.UNKNOWN\n    else -> error(\"Unknown value: $value\")\n  }\n}\n\nprivate fun toMifareClassicTypePigeon(value: Int): MifareClassicTypePigeon {\n  return when (value) {\n    MifareClassic.TYPE_CLASSIC -> MifareClassicTypePigeon.CLASSIC\n    MifareClassic.TYPE_PLUS -> MifareClassicTypePigeon.PLUS\n    MifareClassic.TYPE_PRO -> MifareClassicTypePigeon.PRO\n    MifareClassic.TYPE_UNKNOWN -> MifareClassicTypePigeon.UNKNOWN\n    else -> error(\"Unknown value: $value\")\n  }\n}\n\nprivate fun toMifareUltralightTypePigeon(value: Int): MifareUltralightTypePigeon {\n  return when (value) {\n    MifareUltralight.TYPE_ULTRALIGHT -> MifareUltralightTypePigeon.ULTRALIGHT\n    MifareUltralight.TYPE_ULTRALIGHT_C -> MifareUltralightTypePigeon.ULTRALIGHT_C\n    MifareUltralight.TYPE_UNKNOWN -> MifareUltralightTypePigeon.UNKNOWN\n    else -> error(\"Unknown value: $value\")\n  }\n}\n"
  },
  {
    "path": "android/src/main/kotlin/dev/flutter/plugins/nfcmanager/Pigeon.kt",
    "content": "// Autogenerated from Pigeon (v26.3.3), do not edit directly.\n// See also: https://pub.dev/packages/pigeon\n@file:Suppress(\"UNCHECKED_CAST\", \"ArrayInDataClass\")\n\npackage dev.flutter.plugins.nfcmanager\n\nimport android.util.Log\nimport io.flutter.plugin.common.BasicMessageChannel\nimport io.flutter.plugin.common.BinaryMessenger\nimport io.flutter.plugin.common.EventChannel\nimport io.flutter.plugin.common.MessageCodec\nimport io.flutter.plugin.common.StandardMethodCodec\nimport io.flutter.plugin.common.StandardMessageCodec\nimport java.io.ByteArrayOutputStream\nimport java.nio.ByteBuffer\nprivate object PigeonPigeonUtils {\n\n  fun createConnectionError(channelName: String): FlutterError {\n    return FlutterError(\"channel-error\",  \"Unable to establish connection on channel: '$channelName'.\", \"\")  }\n\n  fun wrapResult(result: Any?): List<Any?> {\n    return listOf(result)\n  }\n\n  fun wrapError(exception: Throwable): List<Any?> {\n    return if (exception is FlutterError) {\n      listOf(\n        exception.code,\n        exception.message,\n        exception.details\n      )\n    } else {\n      listOf(\n        exception.javaClass.simpleName,\n        exception.toString(),\n        \"Cause: \" + exception.cause + \", Stacktrace: \" + Log.getStackTraceString(exception)\n      )\n    }\n  }\n  fun doubleEquals(a: Double, b: Double): Boolean {\n    // Normalize -0.0 to 0.0 and handle NaN equality.\n    return (if (a == 0.0) 0.0 else a) == (if (b == 0.0) 0.0 else b) || (a.isNaN() && b.isNaN())\n  }\n\n  fun floatEquals(a: Float, b: Float): Boolean {\n    // Normalize -0.0 to 0.0 and handle NaN equality.\n    return (if (a == 0.0f) 0.0f else a) == (if (b == 0.0f) 0.0f else b) || (a.isNaN() && b.isNaN())\n  }\n\n  fun doubleHash(d: Double): Int {\n    // Normalize -0.0 to 0.0 and handle NaN to ensure consistent hash codes.\n    val normalized = if (d == 0.0) 0.0 else d\n    val bits = java.lang.Double.doubleToLongBits(normalized)\n    return (bits xor (bits ushr 32)).toInt()\n  }\n\n  fun floatHash(f: Float): Int {\n    // Normalize -0.0 to 0.0 and handle NaN to ensure consistent hash codes.\n    val normalized = if (f == 0.0f) 0.0f else f\n    return java.lang.Float.floatToIntBits(normalized)\n  }\n\n  fun deepEquals(a: Any?, b: Any?): Boolean {\n    if (a === b) {\n      return true\n    }\n    if (a == null || b == null) {\n      return false\n    }\n    if (a is ByteArray && b is ByteArray) {\n      return a.contentEquals(b)\n    }\n    if (a is IntArray && b is IntArray) {\n      return a.contentEquals(b)\n    }\n    if (a is LongArray && b is LongArray) {\n      return a.contentEquals(b)\n    }\n    if (a is DoubleArray && b is DoubleArray) {\n      if (a.size != b.size) return false\n      for (i in a.indices) {\n        if (!doubleEquals(a[i], b[i])) return false\n      }\n      return true\n    }\n    if (a is FloatArray && b is FloatArray) {\n      if (a.size != b.size) return false\n      for (i in a.indices) {\n        if (!floatEquals(a[i], b[i])) return false\n      }\n      return true\n    }\n    if (a is Array<*> && b is Array<*>) {\n      if (a.size != b.size) return false\n      for (i in a.indices) {\n        if (!deepEquals(a[i], b[i])) return false\n      }\n      return true\n    }\n    if (a is List<*> && b is List<*>) {\n      if (a.size != b.size) return false\n      val iterA = a.iterator()\n      val iterB = b.iterator()\n      while (iterA.hasNext() && iterB.hasNext()) {\n        if (!deepEquals(iterA.next(), iterB.next())) return false\n      }\n      return true\n    }\n    if (a is Map<*, *> && b is Map<*, *>) {\n      if (a.size != b.size) return false\n      for (entry in a) {\n        val key = entry.key\n        var found = false\n        for (bEntry in b) {\n          if (deepEquals(key, bEntry.key)) {\n            if (deepEquals(entry.value, bEntry.value)) {\n              found = true\n              break\n            } else {\n              return false\n            }\n          }\n        }\n        if (!found) return false\n      }\n      return true\n    }\n    if (a is Double && b is Double) {\n      return doubleEquals(a, b)\n    }\n    if (a is Float && b is Float) {\n      return floatEquals(a, b)\n    }\n    return a == b\n  }\n\n  fun deepHash(value: Any?): Int {\n    return when (value) {\n      null -> 0\n      is ByteArray -> value.contentHashCode()\n      is IntArray -> value.contentHashCode()\n      is LongArray -> value.contentHashCode()\n      is DoubleArray -> {\n        var result = 1\n        for (item in value) {\n          result = 31 * result + doubleHash(item)\n        }\n        result\n      }\n      is FloatArray -> {\n        var result = 1\n        for (item in value) {\n          result = 31 * result + floatHash(item)\n        }\n        result\n      }\n      is Array<*> -> {\n        var result = 1\n        for (item in value) {\n          result = 31 * result + deepHash(item)\n        }\n        result\n      }\n      is List<*> -> {\n        var result = 1\n        for (item in value) {\n          result = 31 * result + deepHash(item)\n        }\n        result\n      }\n      is Map<*, *> -> {\n        var result = 0\n        for (entry in value) {\n          result += ((deepHash(entry.key) * 31) xor deepHash(entry.value))\n        }\n        result\n      }\n      is Double -> doubleHash(value)\n      is Float -> floatHash(value)\n      else -> value.hashCode()\n    }\n  }\n\n}\n\n/**\n * Error class for passing custom error details to Flutter via a thrown PlatformException.\n * @property code The error code.\n * @property message The error message.\n * @property details The error details. Must be a datatype supported by the api codec.\n */\nclass FlutterError (\n  val code: String,\n  override val message: String? = null,\n  val details: Any? = null\n) : Throwable()\n\nenum class ReaderFlagPigeon(val raw: Int) {\n  NFC_A(0),\n  NFC_B(1),\n  NFC_BARCODE(2),\n  NFC_F(3),\n  NFC_V(4),\n  NO_PLATFORM_SOUNDS(5),\n  SKIP_NDEF_CHECK(6);\n\n  companion object {\n    fun ofRaw(raw: Int): ReaderFlagPigeon? {\n      return values().firstOrNull { it.raw == raw }\n    }\n  }\n}\n\nenum class AdapterStatePigeon(val raw: Int) {\n  OFF(0),\n  TURNING_ON(1),\n  ON(2),\n  TURNING_OFF(3);\n\n  companion object {\n    fun ofRaw(raw: Int): AdapterStatePigeon? {\n      return values().firstOrNull { it.raw == raw }\n    }\n  }\n}\n\nenum class TypeNameFormatPigeon(val raw: Int) {\n  EMPTY(0),\n  WELL_KNOWN(1),\n  MEDIA(2),\n  ABSOLUTE_URI(3),\n  EXTERNAL(4),\n  UNKNOWN(5),\n  UNCHANGED(6);\n\n  companion object {\n    fun ofRaw(raw: Int): TypeNameFormatPigeon? {\n      return values().firstOrNull { it.raw == raw }\n    }\n  }\n}\n\nenum class NfcBarcodeTypePigeon(val raw: Int) {\n  KOVIO(0),\n  UNKNOWN(1);\n\n  companion object {\n    fun ofRaw(raw: Int): NfcBarcodeTypePigeon? {\n      return values().firstOrNull { it.raw == raw }\n    }\n  }\n}\n\nenum class MifareClassicTypePigeon(val raw: Int) {\n  CLASSIC(0),\n  PLUS(1),\n  PRO(2),\n  UNKNOWN(3);\n\n  companion object {\n    fun ofRaw(raw: Int): MifareClassicTypePigeon? {\n      return values().firstOrNull { it.raw == raw }\n    }\n  }\n}\n\nenum class MifareUltralightTypePigeon(val raw: Int) {\n  ULTRALIGHT(0),\n  ULTRALIGHT_C(1),\n  UNKNOWN(2);\n\n  companion object {\n    fun ofRaw(raw: Int): MifareUltralightTypePigeon? {\n      return values().firstOrNull { it.raw == raw }\n    }\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class TagPigeon (\n  val handle: String,\n  val id: ByteArray,\n  val techList: List<String>,\n  val ndef: NdefPigeon? = null,\n  val nfcA: NfcAPigeon? = null,\n  val nfcB: NfcBPigeon? = null,\n  val nfcF: NfcFPigeon? = null,\n  val nfcV: NfcVPigeon? = null,\n  val isoDep: IsoDepPigeon? = null,\n  val mifareClassic: MifareClassicPigeon? = null,\n  val mifareUltralight: MifareUltralightPigeon? = null,\n  val ndefFormatable: String? = null,\n  val nfcBarcode: NfcBarcodePigeon? = null\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): TagPigeon {\n      val handle = pigeonVar_list[0] as String\n      val id = pigeonVar_list[1] as ByteArray\n      val techList = pigeonVar_list[2] as List<String>\n      val ndef = pigeonVar_list[3] as NdefPigeon?\n      val nfcA = pigeonVar_list[4] as NfcAPigeon?\n      val nfcB = pigeonVar_list[5] as NfcBPigeon?\n      val nfcF = pigeonVar_list[6] as NfcFPigeon?\n      val nfcV = pigeonVar_list[7] as NfcVPigeon?\n      val isoDep = pigeonVar_list[8] as IsoDepPigeon?\n      val mifareClassic = pigeonVar_list[9] as MifareClassicPigeon?\n      val mifareUltralight = pigeonVar_list[10] as MifareUltralightPigeon?\n      val ndefFormatable = pigeonVar_list[11] as String?\n      val nfcBarcode = pigeonVar_list[12] as NfcBarcodePigeon?\n      return TagPigeon(handle, id, techList, ndef, nfcA, nfcB, nfcF, nfcV, isoDep, mifareClassic, mifareUltralight, ndefFormatable, nfcBarcode)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      handle,\n      id,\n      techList,\n      ndef,\n      nfcA,\n      nfcB,\n      nfcF,\n      nfcV,\n      isoDep,\n      mifareClassic,\n      mifareUltralight,\n      ndefFormatable,\n      nfcBarcode,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as TagPigeon\n    return PigeonPigeonUtils.deepEquals(this.handle, other.handle) && PigeonPigeonUtils.deepEquals(this.id, other.id) && PigeonPigeonUtils.deepEquals(this.techList, other.techList) && PigeonPigeonUtils.deepEquals(this.ndef, other.ndef) && PigeonPigeonUtils.deepEquals(this.nfcA, other.nfcA) && PigeonPigeonUtils.deepEquals(this.nfcB, other.nfcB) && PigeonPigeonUtils.deepEquals(this.nfcF, other.nfcF) && PigeonPigeonUtils.deepEquals(this.nfcV, other.nfcV) && PigeonPigeonUtils.deepEquals(this.isoDep, other.isoDep) && PigeonPigeonUtils.deepEquals(this.mifareClassic, other.mifareClassic) && PigeonPigeonUtils.deepEquals(this.mifareUltralight, other.mifareUltralight) && PigeonPigeonUtils.deepEquals(this.ndefFormatable, other.ndefFormatable) && PigeonPigeonUtils.deepEquals(this.nfcBarcode, other.nfcBarcode)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.handle)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.id)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.techList)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.ndef)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.nfcA)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.nfcB)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.nfcF)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.nfcV)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.isoDep)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.mifareClassic)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.mifareUltralight)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.ndefFormatable)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.nfcBarcode)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NdefPigeon (\n  val type: String,\n  val canMakeReadOnly: Boolean,\n  val isWritable: Boolean,\n  val maxSize: Long,\n  val cachedNdefMessage: NdefMessagePigeon? = null\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NdefPigeon {\n      val type = pigeonVar_list[0] as String\n      val canMakeReadOnly = pigeonVar_list[1] as Boolean\n      val isWritable = pigeonVar_list[2] as Boolean\n      val maxSize = pigeonVar_list[3] as Long\n      val cachedNdefMessage = pigeonVar_list[4] as NdefMessagePigeon?\n      return NdefPigeon(type, canMakeReadOnly, isWritable, maxSize, cachedNdefMessage)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      type,\n      canMakeReadOnly,\n      isWritable,\n      maxSize,\n      cachedNdefMessage,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NdefPigeon\n    return PigeonPigeonUtils.deepEquals(this.type, other.type) && PigeonPigeonUtils.deepEquals(this.canMakeReadOnly, other.canMakeReadOnly) && PigeonPigeonUtils.deepEquals(this.isWritable, other.isWritable) && PigeonPigeonUtils.deepEquals(this.maxSize, other.maxSize) && PigeonPigeonUtils.deepEquals(this.cachedNdefMessage, other.cachedNdefMessage)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.type)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.canMakeReadOnly)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.isWritable)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.maxSize)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.cachedNdefMessage)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NfcAPigeon (\n  val atqa: ByteArray,\n  val sak: Long\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NfcAPigeon {\n      val atqa = pigeonVar_list[0] as ByteArray\n      val sak = pigeonVar_list[1] as Long\n      return NfcAPigeon(atqa, sak)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      atqa,\n      sak,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NfcAPigeon\n    return PigeonPigeonUtils.deepEquals(this.atqa, other.atqa) && PigeonPigeonUtils.deepEquals(this.sak, other.sak)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.atqa)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.sak)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NfcBPigeon (\n  val applicationData: ByteArray,\n  val protocolInfo: ByteArray\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NfcBPigeon {\n      val applicationData = pigeonVar_list[0] as ByteArray\n      val protocolInfo = pigeonVar_list[1] as ByteArray\n      return NfcBPigeon(applicationData, protocolInfo)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      applicationData,\n      protocolInfo,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NfcBPigeon\n    return PigeonPigeonUtils.deepEquals(this.applicationData, other.applicationData) && PigeonPigeonUtils.deepEquals(this.protocolInfo, other.protocolInfo)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.applicationData)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.protocolInfo)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NfcFPigeon (\n  val manufacturer: ByteArray,\n  val systemCode: ByteArray\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NfcFPigeon {\n      val manufacturer = pigeonVar_list[0] as ByteArray\n      val systemCode = pigeonVar_list[1] as ByteArray\n      return NfcFPigeon(manufacturer, systemCode)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      manufacturer,\n      systemCode,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NfcFPigeon\n    return PigeonPigeonUtils.deepEquals(this.manufacturer, other.manufacturer) && PigeonPigeonUtils.deepEquals(this.systemCode, other.systemCode)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.manufacturer)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.systemCode)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NfcVPigeon (\n  val dsfId: Long,\n  val responseFlags: Long\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NfcVPigeon {\n      val dsfId = pigeonVar_list[0] as Long\n      val responseFlags = pigeonVar_list[1] as Long\n      return NfcVPigeon(dsfId, responseFlags)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      dsfId,\n      responseFlags,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NfcVPigeon\n    return PigeonPigeonUtils.deepEquals(this.dsfId, other.dsfId) && PigeonPigeonUtils.deepEquals(this.responseFlags, other.responseFlags)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.dsfId)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.responseFlags)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class IsoDepPigeon (\n  val hiLayerResponse: ByteArray? = null,\n  val historicalBytes: ByteArray? = null,\n  val isExtendedLengthApduSupported: Boolean\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): IsoDepPigeon {\n      val hiLayerResponse = pigeonVar_list[0] as ByteArray?\n      val historicalBytes = pigeonVar_list[1] as ByteArray?\n      val isExtendedLengthApduSupported = pigeonVar_list[2] as Boolean\n      return IsoDepPigeon(hiLayerResponse, historicalBytes, isExtendedLengthApduSupported)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      hiLayerResponse,\n      historicalBytes,\n      isExtendedLengthApduSupported,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as IsoDepPigeon\n    return PigeonPigeonUtils.deepEquals(this.hiLayerResponse, other.hiLayerResponse) && PigeonPigeonUtils.deepEquals(this.historicalBytes, other.historicalBytes) && PigeonPigeonUtils.deepEquals(this.isExtendedLengthApduSupported, other.isExtendedLengthApduSupported)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.hiLayerResponse)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.historicalBytes)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.isExtendedLengthApduSupported)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class MifareClassicPigeon (\n  val type: MifareClassicTypePigeon,\n  val blockCount: Long,\n  val sectorCount: Long,\n  val size: Long\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): MifareClassicPigeon {\n      val type = pigeonVar_list[0] as MifareClassicTypePigeon\n      val blockCount = pigeonVar_list[1] as Long\n      val sectorCount = pigeonVar_list[2] as Long\n      val size = pigeonVar_list[3] as Long\n      return MifareClassicPigeon(type, blockCount, sectorCount, size)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      type,\n      blockCount,\n      sectorCount,\n      size,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as MifareClassicPigeon\n    return PigeonPigeonUtils.deepEquals(this.type, other.type) && PigeonPigeonUtils.deepEquals(this.blockCount, other.blockCount) && PigeonPigeonUtils.deepEquals(this.sectorCount, other.sectorCount) && PigeonPigeonUtils.deepEquals(this.size, other.size)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.type)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.blockCount)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.sectorCount)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.size)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class MifareUltralightPigeon (\n  val type: MifareUltralightTypePigeon\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): MifareUltralightPigeon {\n      val type = pigeonVar_list[0] as MifareUltralightTypePigeon\n      return MifareUltralightPigeon(type)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      type,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as MifareUltralightPigeon\n    return PigeonPigeonUtils.deepEquals(this.type, other.type)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.type)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NfcBarcodePigeon (\n  val type: NfcBarcodeTypePigeon,\n  val barcode: ByteArray\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NfcBarcodePigeon {\n      val type = pigeonVar_list[0] as NfcBarcodeTypePigeon\n      val barcode = pigeonVar_list[1] as ByteArray\n      return NfcBarcodePigeon(type, barcode)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      type,\n      barcode,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NfcBarcodePigeon\n    return PigeonPigeonUtils.deepEquals(this.type, other.type) && PigeonPigeonUtils.deepEquals(this.barcode, other.barcode)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.type)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.barcode)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NdefMessagePigeon (\n  val records: List<NdefRecordPigeon>\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NdefMessagePigeon {\n      val records = pigeonVar_list[0] as List<NdefRecordPigeon>\n      return NdefMessagePigeon(records)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      records,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NdefMessagePigeon\n    return PigeonPigeonUtils.deepEquals(this.records, other.records)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.records)\n    return result\n  }\n}\n\n/** Generated class from Pigeon that represents data sent in messages. */\ndata class NdefRecordPigeon (\n  val tnf: TypeNameFormatPigeon,\n  val type: ByteArray,\n  val id: ByteArray,\n  val payload: ByteArray\n)\n {\n  companion object {\n    fun fromList(pigeonVar_list: List<Any?>): NdefRecordPigeon {\n      val tnf = pigeonVar_list[0] as TypeNameFormatPigeon\n      val type = pigeonVar_list[1] as ByteArray\n      val id = pigeonVar_list[2] as ByteArray\n      val payload = pigeonVar_list[3] as ByteArray\n      return NdefRecordPigeon(tnf, type, id, payload)\n    }\n  }\n  fun toList(): List<Any?> {\n    return listOf(\n      tnf,\n      type,\n      id,\n      payload,\n    )\n  }\n  override fun equals(other: Any?): Boolean {\n    if (other == null || other.javaClass != javaClass) {\n      return false\n    }\n    if (this === other) {\n      return true\n    }\n    val other = other as NdefRecordPigeon\n    return PigeonPigeonUtils.deepEquals(this.tnf, other.tnf) && PigeonPigeonUtils.deepEquals(this.type, other.type) && PigeonPigeonUtils.deepEquals(this.id, other.id) && PigeonPigeonUtils.deepEquals(this.payload, other.payload)\n  }\n\n  override fun hashCode(): Int {\n    var result = javaClass.hashCode()\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.tnf)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.type)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.id)\n    result = 31 * result + PigeonPigeonUtils.deepHash(this.payload)\n    return result\n  }\n}\nprivate open class PigeonPigeonCodec : StandardMessageCodec() {\n  override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? {\n    return when (type) {\n      129.toByte() -> {\n        return (readValue(buffer) as Long?)?.let {\n          ReaderFlagPigeon.ofRaw(it.toInt())\n        }\n      }\n      130.toByte() -> {\n        return (readValue(buffer) as Long?)?.let {\n          AdapterStatePigeon.ofRaw(it.toInt())\n        }\n      }\n      131.toByte() -> {\n        return (readValue(buffer) as Long?)?.let {\n          TypeNameFormatPigeon.ofRaw(it.toInt())\n        }\n      }\n      132.toByte() -> {\n        return (readValue(buffer) as Long?)?.let {\n          NfcBarcodeTypePigeon.ofRaw(it.toInt())\n        }\n      }\n      133.toByte() -> {\n        return (readValue(buffer) as Long?)?.let {\n          MifareClassicTypePigeon.ofRaw(it.toInt())\n        }\n      }\n      134.toByte() -> {\n        return (readValue(buffer) as Long?)?.let {\n          MifareUltralightTypePigeon.ofRaw(it.toInt())\n        }\n      }\n      135.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          TagPigeon.fromList(it)\n        }\n      }\n      136.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NdefPigeon.fromList(it)\n        }\n      }\n      137.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NfcAPigeon.fromList(it)\n        }\n      }\n      138.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NfcBPigeon.fromList(it)\n        }\n      }\n      139.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NfcFPigeon.fromList(it)\n        }\n      }\n      140.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NfcVPigeon.fromList(it)\n        }\n      }\n      141.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          IsoDepPigeon.fromList(it)\n        }\n      }\n      142.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          MifareClassicPigeon.fromList(it)\n        }\n      }\n      143.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          MifareUltralightPigeon.fromList(it)\n        }\n      }\n      144.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NfcBarcodePigeon.fromList(it)\n        }\n      }\n      145.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NdefMessagePigeon.fromList(it)\n        }\n      }\n      146.toByte() -> {\n        return (readValue(buffer) as? List<Any?>)?.let {\n          NdefRecordPigeon.fromList(it)\n        }\n      }\n      else -> super.readValueOfType(type, buffer)\n    }\n  }\n  override fun writeValue(stream: ByteArrayOutputStream, value: Any?)   {\n    when (value) {\n      is ReaderFlagPigeon -> {\n        stream.write(129)\n        writeValue(stream, value.raw.toLong())\n      }\n      is AdapterStatePigeon -> {\n        stream.write(130)\n        writeValue(stream, value.raw.toLong())\n      }\n      is TypeNameFormatPigeon -> {\n        stream.write(131)\n        writeValue(stream, value.raw.toLong())\n      }\n      is NfcBarcodeTypePigeon -> {\n        stream.write(132)\n        writeValue(stream, value.raw.toLong())\n      }\n      is MifareClassicTypePigeon -> {\n        stream.write(133)\n        writeValue(stream, value.raw.toLong())\n      }\n      is MifareUltralightTypePigeon -> {\n        stream.write(134)\n        writeValue(stream, value.raw.toLong())\n      }\n      is TagPigeon -> {\n        stream.write(135)\n        writeValue(stream, value.toList())\n      }\n      is NdefPigeon -> {\n        stream.write(136)\n        writeValue(stream, value.toList())\n      }\n      is NfcAPigeon -> {\n        stream.write(137)\n        writeValue(stream, value.toList())\n      }\n      is NfcBPigeon -> {\n        stream.write(138)\n        writeValue(stream, value.toList())\n      }\n      is NfcFPigeon -> {\n        stream.write(139)\n        writeValue(stream, value.toList())\n      }\n      is NfcVPigeon -> {\n        stream.write(140)\n        writeValue(stream, value.toList())\n      }\n      is IsoDepPigeon -> {\n        stream.write(141)\n        writeValue(stream, value.toList())\n      }\n      is MifareClassicPigeon -> {\n        stream.write(142)\n        writeValue(stream, value.toList())\n      }\n      is MifareUltralightPigeon -> {\n        stream.write(143)\n        writeValue(stream, value.toList())\n      }\n      is NfcBarcodePigeon -> {\n        stream.write(144)\n        writeValue(stream, value.toList())\n      }\n      is NdefMessagePigeon -> {\n        stream.write(145)\n        writeValue(stream, value.toList())\n      }\n      is NdefRecordPigeon -> {\n        stream.write(146)\n        writeValue(stream, value.toList())\n      }\n      else -> super.writeValue(stream, value)\n    }\n  }\n}\n\n/** Generated class from Pigeon that represents Flutter messages that can be called from Kotlin. */\nclass FlutterApiPigeon(private val binaryMessenger: BinaryMessenger, private val messageChannelSuffix: String = \"\") {\n  companion object {\n    /** The codec used by FlutterApiPigeon. */\n    val codec: MessageCodec<Any?> by lazy {\n      PigeonPigeonCodec()\n    }\n  }\n  fun onTagDiscovered(tagArg: TagPigeon, callback: (Result<Unit>) -> Unit)\n{\n    val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) \".$messageChannelSuffix\" else \"\"\n    val channelName = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.onTagDiscovered$separatedMessageChannelSuffix\"\n    val channel = BasicMessageChannel<Any?>(binaryMessenger, channelName, codec)\n    channel.send(listOf(tagArg)) {\n      if (it is List<*>) {\n        if (it.size > 1) {\n          callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?)))\n        } else {\n          callback(Result.success(Unit))\n        }\n      } else {\n        callback(Result.failure(PigeonPigeonUtils.createConnectionError(channelName)))\n      } \n    }\n  }\n  fun onAdapterStateChanged(stateArg: AdapterStatePigeon, callback: (Result<Unit>) -> Unit)\n{\n    val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) \".$messageChannelSuffix\" else \"\"\n    val channelName = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.onAdapterStateChanged$separatedMessageChannelSuffix\"\n    val channel = BasicMessageChannel<Any?>(binaryMessenger, channelName, codec)\n    channel.send(listOf(stateArg)) {\n      if (it is List<*>) {\n        if (it.size > 1) {\n          callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?)))\n        } else {\n          callback(Result.success(Unit))\n        }\n      } else {\n        callback(Result.failure(PigeonPigeonUtils.createConnectionError(channelName)))\n      } \n    }\n  }\n}\n/** Generated interface from Pigeon that represents a handler of messages from Flutter. */\ninterface HostApiPigeon {\n  fun nfcAdapterIsEnabled(): Boolean\n  fun nfcAdapterIsSecureNfcEnabled(): Boolean\n  fun nfcAdapterIsSecureNfcSupported(): Boolean\n  fun nfcAdapterEnableReaderMode(flags: List<ReaderFlagPigeon>)\n  fun nfcAdapterDisableReaderMode()\n  fun ndefGetNdefMessage(handle: String): NdefMessagePigeon?\n  fun ndefWriteNdefMessage(handle: String, message: NdefMessagePigeon)\n  fun ndefMakeReadOnly(handle: String): Boolean\n  fun nfcAGetMaxTransceiveLength(handle: String): Long\n  fun nfcAGetTimeout(handle: String): Long\n  fun nfcASetTimeout(handle: String, timeout: Long)\n  fun nfcATransceive(handle: String, bytes: ByteArray): ByteArray\n  fun nfcBGetMaxTransceiveLength(handle: String): Long\n  fun nfcBTransceive(handle: String, bytes: ByteArray): ByteArray\n  fun nfcFGetMaxTransceiveLength(handle: String): Long\n  fun nfcFGetTimeout(handle: String): Long\n  fun nfcFSetTimeout(handle: String, timeout: Long)\n  fun nfcFTransceive(handle: String, bytes: ByteArray): ByteArray\n  fun nfcVGetMaxTransceiveLength(handle: String): Long\n  fun nfcVTransceive(handle: String, bytes: ByteArray): ByteArray\n  fun isoDepGetMaxTransceiveLength(handle: String): Long\n  fun isoDepGetTimeout(handle: String): Long\n  fun isoDepSetTimeout(handle: String, timeout: Long)\n  fun isoDepTransceive(handle: String, bytes: ByteArray): ByteArray\n  fun mifareClassicGetMaxTransceiveLength(handle: String): Long\n  fun mifareClassicGetTimeout(handle: String): Long\n  fun mifareClassicSetTimeout(handle: String, timeout: Long)\n  fun mifareClassicBlockToSector(handle: String, blockIndex: Long): Long\n  fun mifareClassicGetBlockCountInSector(handle: String, sectorIndex: Long): Long\n  fun mifareClassicSectorToBlock(handle: String, sectorIndex: Long): Long\n  fun mifareClassicAuthenticateSectorWithKeyA(handle: String, sectorIndex: Long, key: ByteArray): Boolean\n  fun mifareClassicAuthenticateSectorWithKeyB(handle: String, sectorIndex: Long, key: ByteArray): Boolean\n  fun mifareClassicIncrement(handle: String, blockIndex: Long, value: Long)\n  fun mifareClassicDecrement(handle: String, blockIndex: Long, value: Long)\n  fun mifareClassicReadBlock(handle: String, blockIndex: Long): ByteArray\n  fun mifareClassicWriteBlock(handle: String, blockIndex: Long, data: ByteArray)\n  fun mifareClassicRestore(handle: String, blockIndex: Long)\n  fun mifareClassicTransfer(handle: String, blockIndex: Long)\n  fun mifareClassicTransceive(handle: String, bytes: ByteArray): ByteArray\n  fun mifareUltralightGetMaxTransceiveLength(handle: String): Long\n  fun mifareUltralightGetTimeout(handle: String): Long\n  fun mifareUltralightSetTimeout(handle: String, timeout: Long)\n  fun mifareUltralightReadPages(handle: String, pageOffset: Long): ByteArray\n  fun mifareUltralightWritePage(handle: String, pageOffset: Long, data: ByteArray)\n  fun mifareUltralightTransceive(handle: String, bytes: ByteArray): ByteArray\n  fun ndefFormatableFormat(handle: String, firstMessage: NdefMessagePigeon)\n  fun ndefFormatableFormatReadOnly(handle: String, firstMessage: NdefMessagePigeon)\n\n  companion object {\n    /** The codec used by HostApiPigeon. */\n    val codec: MessageCodec<Any?> by lazy {\n      PigeonPigeonCodec()\n    }\n    /** Sets up an instance of `HostApiPigeon` to handle messages through the `binaryMessenger`. */\n    @JvmOverloads\n    fun setUp(binaryMessenger: BinaryMessenger, api: HostApiPigeon?, messageChannelSuffix: String = \"\") {\n      val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) \".$messageChannelSuffix\" else \"\"\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterIsEnabled$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { _, reply ->\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcAdapterIsEnabled())\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterIsSecureNfcEnabled$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { _, reply ->\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcAdapterIsSecureNfcEnabled())\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterIsSecureNfcSupported$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { _, reply ->\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcAdapterIsSecureNfcSupported())\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterEnableReaderMode$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val flagsArg = args[0] as List<ReaderFlagPigeon>\n            val wrapped: List<Any?> = try {\n              api.nfcAdapterEnableReaderMode(flagsArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterDisableReaderMode$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { _, reply ->\n            val wrapped: List<Any?> = try {\n              api.nfcAdapterDisableReaderMode()\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefGetNdefMessage$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.ndefGetNdefMessage(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefWriteNdefMessage$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val messageArg = args[1] as NdefMessagePigeon\n            val wrapped: List<Any?> = try {\n              api.ndefWriteNdefMessage(handleArg, messageArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefMakeReadOnly$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.ndefMakeReadOnly(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAGetMaxTransceiveLength$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcAGetMaxTransceiveLength(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAGetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcAGetTimeout(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcASetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val timeoutArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              api.nfcASetTimeout(handleArg, timeoutArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcATransceive$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val bytesArg = args[1] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcATransceive(handleArg, bytesArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcBGetMaxTransceiveLength$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcBGetMaxTransceiveLength(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcBTransceive$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val bytesArg = args[1] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcBTransceive(handleArg, bytesArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFGetMaxTransceiveLength$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcFGetMaxTransceiveLength(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFGetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcFGetTimeout(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFSetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val timeoutArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              api.nfcFSetTimeout(handleArg, timeoutArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFTransceive$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val bytesArg = args[1] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcFTransceive(handleArg, bytesArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcVGetMaxTransceiveLength$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcVGetMaxTransceiveLength(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcVTransceive$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val bytesArg = args[1] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.nfcVTransceive(handleArg, bytesArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepGetMaxTransceiveLength$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.isoDepGetMaxTransceiveLength(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepGetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.isoDepGetTimeout(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepSetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val timeoutArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              api.isoDepSetTimeout(handleArg, timeoutArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepTransceive$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val bytesArg = args[1] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.isoDepTransceive(handleArg, bytesArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicGetMaxTransceiveLength$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicGetMaxTransceiveLength(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicGetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicGetTimeout(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicSetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val timeoutArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              api.mifareClassicSetTimeout(handleArg, timeoutArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicBlockToSector$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val blockIndexArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicBlockToSector(handleArg, blockIndexArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicGetBlockCountInSector$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val sectorIndexArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicGetBlockCountInSector(handleArg, sectorIndexArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicSectorToBlock$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val sectorIndexArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicSectorToBlock(handleArg, sectorIndexArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicAuthenticateSectorWithKeyA$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val sectorIndexArg = args[1] as Long\n            val keyArg = args[2] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicAuthenticateSectorWithKeyA(handleArg, sectorIndexArg, keyArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicAuthenticateSectorWithKeyB$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val sectorIndexArg = args[1] as Long\n            val keyArg = args[2] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicAuthenticateSectorWithKeyB(handleArg, sectorIndexArg, keyArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicIncrement$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val blockIndexArg = args[1] as Long\n            val valueArg = args[2] as Long\n            val wrapped: List<Any?> = try {\n              api.mifareClassicIncrement(handleArg, blockIndexArg, valueArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicDecrement$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val blockIndexArg = args[1] as Long\n            val valueArg = args[2] as Long\n            val wrapped: List<Any?> = try {\n              api.mifareClassicDecrement(handleArg, blockIndexArg, valueArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicReadBlock$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val blockIndexArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicReadBlock(handleArg, blockIndexArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicWriteBlock$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val blockIndexArg = args[1] as Long\n            val dataArg = args[2] as ByteArray\n            val wrapped: List<Any?> = try {\n              api.mifareClassicWriteBlock(handleArg, blockIndexArg, dataArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicRestore$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val blockIndexArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              api.mifareClassicRestore(handleArg, blockIndexArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicTransfer$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val blockIndexArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              api.mifareClassicTransfer(handleArg, blockIndexArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicTransceive$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val bytesArg = args[1] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareClassicTransceive(handleArg, bytesArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightGetMaxTransceiveLength$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareUltralightGetMaxTransceiveLength(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightGetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareUltralightGetTimeout(handleArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightSetTimeout$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val timeoutArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              api.mifareUltralightSetTimeout(handleArg, timeoutArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightReadPages$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val pageOffsetArg = args[1] as Long\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareUltralightReadPages(handleArg, pageOffsetArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightWritePage$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val pageOffsetArg = args[1] as Long\n            val dataArg = args[2] as ByteArray\n            val wrapped: List<Any?> = try {\n              api.mifareUltralightWritePage(handleArg, pageOffsetArg, dataArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightTransceive$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val bytesArg = args[1] as ByteArray\n            val wrapped: List<Any?> = try {\n              listOf(api.mifareUltralightTransceive(handleArg, bytesArg))\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefFormatableFormat$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val firstMessageArg = args[1] as NdefMessagePigeon\n            val wrapped: List<Any?> = try {\n              api.ndefFormatableFormat(handleArg, firstMessageArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n      run {\n        val channel = BasicMessageChannel<Any?>(binaryMessenger, \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefFormatableFormatReadOnly$separatedMessageChannelSuffix\", codec)\n        if (api != null) {\n          channel.setMessageHandler { message, reply ->\n            val args = message as List<Any?>\n            val handleArg = args[0] as String\n            val firstMessageArg = args[1] as NdefMessagePigeon\n            val wrapped: List<Any?> = try {\n              api.ndefFormatableFormatReadOnly(handleArg, firstMessageArg)\n              listOf(null)\n            } catch (exception: Throwable) {\n              PigeonPigeonUtils.wrapError(exception)\n            }\n            reply.reply(wrapped)\n          }\n        } else {\n          channel.setMessageHandler(null)\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "android/src/test/kotlin/dev/flutter/plugins/nfcmanager/NfcManagerPluginTest.kt",
    "content": "package dev.flutter.plugins.nfcmanager\n\ninternal class NfcManagerPluginTest {}\n"
  },
  {
    "path": "example/.gitignore",
    "content": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.build/\n.buildlog/\n.history\n.svn/\n.swiftpm/\nmigrate_working_dir/\n\n# IntelliJ related\n*.iml\n*.ipr\n*.iws\n.idea/\n\n# The .vscode folder contains launch configuration and tasks you configure in\n# VS Code which you may wish to be included in version control, so this line\n# is commented out by default.\n#.vscode/\n\n# Flutter/Dart/Pub related\n**/doc/api/\n**/ios/Flutter/.last_build_id\n.dart_tool/\n.flutter-plugins-dependencies\n.pub-cache/\n.pub/\n/build/\n/coverage/\n\n# Symbolication related\napp.*.symbols\n\n# Obfuscation related\napp.*.map.json\n\n# Android Studio will place build artifacts here\n/android/app/debug\n/android/app/profile\n/android/app/release\n"
  },
  {
    "path": "example/README.md",
    "content": "# nfc_manager_example\n\nDemonstrates how to use the nfc_manager plugin.\n\n## Getting Started\n\nThis project is a starting point for a Flutter application.\n\nA few resources to get you started if this is your first Flutter project:\n\n- [Learn Flutter](https://docs.flutter.dev/get-started/learn-flutter)\n- [Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)\n- [Flutter learning resources](https://docs.flutter.dev/reference/learning-resources)\n\nFor help getting started with Flutter development, view the\n[online documentation](https://docs.flutter.dev/), which offers tutorials,\nsamples, guidance on mobile development, and a full API reference.\n"
  },
  {
    "path": "example/analysis_options.yaml",
    "content": "include: package:flutter_lints/flutter.yaml\n"
  },
  {
    "path": "example/android/.gitignore",
    "content": "gradle-wrapper.jar\n/.gradle\n/captures/\n/gradlew\n/gradlew.bat\n/local.properties\nGeneratedPluginRegistrant.java\n.cxx/\n\n# Remember to never publicly share your keystore.\n# See https://flutter.dev/to/reference-keystore\nkey.properties\n**/*.keystore\n**/*.jks\n"
  },
  {
    "path": "example/android/app/build.gradle.kts",
    "content": "plugins {\n    id(\"com.android.application\")\n    id(\"kotlin-android\")\n    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.\n    id(\"dev.flutter.flutter-gradle-plugin\")\n}\n\nandroid {\n    namespace = \"dev.flutter.plugins.nfcmanagerexample\"\n    compileSdk = flutter.compileSdkVersion\n    ndkVersion = flutter.ndkVersion\n\n    compileOptions {\n        sourceCompatibility = JavaVersion.VERSION_17\n        targetCompatibility = JavaVersion.VERSION_17\n    }\n\n    kotlinOptions {\n        jvmTarget = JavaVersion.VERSION_17.toString()\n    }\n\n    defaultConfig {\n        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).\n        applicationId = \"dev.flutter.plugins.nfcmanagerexample\"\n        // You can update the following values to match your application needs.\n        // For more information, see: https://flutter.dev/to/review-gradle-config.\n        minSdk = flutter.minSdkVersion\n        targetSdk = flutter.targetSdkVersion\n        versionCode = flutter.versionCode\n        versionName = flutter.versionName\n    }\n\n    buildTypes {\n        release {\n            // TODO: Add your own signing config for the release build.\n            // Signing with the debug keys for now, so `flutter run --release` works.\n            signingConfig = signingConfigs.getByName(\"debug\")\n        }\n    }\n}\n\nflutter {\n    source = \"../..\"\n}\n"
  },
  {
    "path": "example/android/app/src/debug/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- The INTERNET permission is required for development. Specifically,\n         the Flutter tool needs it to communicate with the running application\n         to allow setting breakpoints, to provide hot reload, etc.\n    -->\n    <uses-permission android:name=\"android.permission.INTERNET\"/>\n</manifest>\n"
  },
  {
    "path": "example/android/app/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <application\n        android:label=\"nfc_manager_example\"\n        android:name=\"${applicationName}\"\n        android:icon=\"@mipmap/ic_launcher\">\n        <activity\n            android:name=\".MainActivity\"\n            android:exported=\"true\"\n            android:launchMode=\"singleTop\"\n            android:taskAffinity=\"\"\n            android:theme=\"@style/LaunchTheme\"\n            android:configChanges=\"orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode\"\n            android:hardwareAccelerated=\"true\"\n            android:windowSoftInputMode=\"adjustResize\">\n            <!-- Specifies an Android theme to apply to this Activity as soon as\n                 the Android process has started. This theme is visible to the user\n                 while the Flutter UI initializes. After that, this theme continues\n                 to determine the Window background behind the Flutter UI. -->\n            <meta-data\n              android:name=\"io.flutter.embedding.android.NormalTheme\"\n              android:resource=\"@style/NormalTheme\"\n              />\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\"/>\n                <category android:name=\"android.intent.category.LAUNCHER\"/>\n            </intent-filter>\n        </activity>\n        <!-- Don't delete the meta-data below.\n             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->\n        <meta-data\n            android:name=\"flutterEmbedding\"\n            android:value=\"2\" />\n    </application>\n    <!-- Required to query activities that can process text, see:\n         https://developer.android.com/training/package-visibility and\n         https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.\n\n         In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->\n    <queries>\n        <intent>\n            <action android:name=\"android.intent.action.PROCESS_TEXT\"/>\n            <data android:mimeType=\"text/plain\"/>\n        </intent>\n    </queries>\n</manifest>\n"
  },
  {
    "path": "example/android/app/src/main/kotlin/dev/flutter/plugins/nfcmanagerexample/MainActivity.kt",
    "content": "package dev.flutter.plugins.nfcmanagerexample\n\nimport io.flutter.embedding.android.FlutterActivity\n\nclass MainActivity : FlutterActivity()\n"
  },
  {
    "path": "example/android/app/src/main/res/drawable/launch_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:drawable=\"@android:color/white\" />\n\n    <!-- You can insert your own image assets here -->\n    <!-- <item>\n        <bitmap\n            android:gravity=\"center\"\n            android:src=\"@mipmap/launch_image\" />\n    </item> -->\n</layer-list>\n"
  },
  {
    "path": "example/android/app/src/main/res/drawable-v21/launch_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:drawable=\"?android:colorBackground\" />\n\n    <!-- You can insert your own image assets here -->\n    <!-- <item>\n        <bitmap\n            android:gravity=\"center\"\n            android:src=\"@mipmap/launch_image\" />\n    </item> -->\n</layer-list>\n"
  },
  {
    "path": "example/android/app/src/main/res/values/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->\n    <style name=\"LaunchTheme\" parent=\"@android:style/Theme.Light.NoTitleBar\">\n        <!-- Show a splash screen on the activity. Automatically removed when\n             the Flutter engine draws its first frame -->\n        <item name=\"android:windowBackground\">@drawable/launch_background</item>\n    </style>\n    <!-- Theme applied to the Android Window as soon as the process has started.\n         This theme determines the color of the Android Window while your\n         Flutter UI initializes, as well as behind your Flutter UI while its\n         running.\n\n         This Theme is only used starting with V2 of Flutter's Android embedding. -->\n    <style name=\"NormalTheme\" parent=\"@android:style/Theme.Light.NoTitleBar\">\n        <item name=\"android:windowBackground\">?android:colorBackground</item>\n    </style>\n</resources>\n"
  },
  {
    "path": "example/android/app/src/main/res/values-night/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->\n    <style name=\"LaunchTheme\" parent=\"@android:style/Theme.Black.NoTitleBar\">\n        <!-- Show a splash screen on the activity. Automatically removed when\n             the Flutter engine draws its first frame -->\n        <item name=\"android:windowBackground\">@drawable/launch_background</item>\n    </style>\n    <!-- Theme applied to the Android Window as soon as the process has started.\n         This theme determines the color of the Android Window while your\n         Flutter UI initializes, as well as behind your Flutter UI while its\n         running.\n\n         This Theme is only used starting with V2 of Flutter's Android embedding. -->\n    <style name=\"NormalTheme\" parent=\"@android:style/Theme.Black.NoTitleBar\">\n        <item name=\"android:windowBackground\">?android:colorBackground</item>\n    </style>\n</resources>\n"
  },
  {
    "path": "example/android/app/src/profile/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- The INTERNET permission is required for development. Specifically,\n         the Flutter tool needs it to communicate with the running application\n         to allow setting breakpoints, to provide hot reload, etc.\n    -->\n    <uses-permission android:name=\"android.permission.INTERNET\"/>\n</manifest>\n"
  },
  {
    "path": "example/android/build.gradle.kts",
    "content": "allprojects {\n    repositories {\n        google()\n        mavenCentral()\n    }\n}\n\nval newBuildDir: Directory =\n    rootProject.layout.buildDirectory\n        .dir(\"../../build\")\n        .get()\nrootProject.layout.buildDirectory.value(newBuildDir)\n\nsubprojects {\n    val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)\n    project.layout.buildDirectory.value(newSubprojectBuildDir)\n}\nsubprojects {\n    project.evaluationDependsOn(\":app\")\n}\n\ntasks.register<Delete>(\"clean\") {\n    delete(rootProject.layout.buildDirectory)\n}\n"
  },
  {
    "path": "example/android/gradle/wrapper/gradle-wrapper.properties",
    "content": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-8.14-all.zip\n"
  },
  {
    "path": "example/android/gradle.properties",
    "content": "org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError\nandroid.useAndroidX=true\n"
  },
  {
    "path": "example/android/settings.gradle.kts",
    "content": "pluginManagement {\n    val flutterSdkPath =\n        run {\n            val properties = java.util.Properties()\n            file(\"local.properties\").inputStream().use { properties.load(it) }\n            val flutterSdkPath = properties.getProperty(\"flutter.sdk\")\n            require(flutterSdkPath != null) { \"flutter.sdk not set in local.properties\" }\n            flutterSdkPath\n        }\n\n    includeBuild(\"$flutterSdkPath/packages/flutter_tools/gradle\")\n\n    repositories {\n        google()\n        mavenCentral()\n        gradlePluginPortal()\n    }\n}\n\nplugins {\n    id(\"dev.flutter.flutter-plugin-loader\") version \"1.0.0\"\n    id(\"com.android.application\") version \"8.11.1\" apply false\n    id(\"org.jetbrains.kotlin.android\") version \"2.2.20\" apply false\n}\n\ninclude(\":app\")\n"
  },
  {
    "path": "example/ios/.gitignore",
    "content": "**/dgph\n*.mode1v3\n*.mode2v3\n*.moved-aside\n*.pbxuser\n*.perspectivev3\n**/*sync/\n.sconsign.dblite\n.tags*\n**/.vagrant/\n**/DerivedData/\nIcon?\n**/Pods/\n**/.symlinks/\nprofile\nxcuserdata\n**/.generated/\nFlutter/App.framework\nFlutter/Flutter.framework\nFlutter/Flutter.podspec\nFlutter/Generated.xcconfig\nFlutter/ephemeral/\nFlutter/app.flx\nFlutter/app.zip\nFlutter/flutter_assets/\nFlutter/flutter_export_environment.sh\nServiceDefinitions.json\nRunner/GeneratedPluginRegistrant.*\n\n# Exceptions to above rules.\n!default.mode1v3\n!default.mode2v3\n!default.pbxuser\n!default.perspectivev3\n"
  },
  {
    "path": "example/ios/Flutter/AppFrameworkInfo.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n  <key>CFBundleDevelopmentRegion</key>\n  <string>en</string>\n  <key>CFBundleExecutable</key>\n  <string>App</string>\n  <key>CFBundleIdentifier</key>\n  <string>io.flutter.flutter.app</string>\n  <key>CFBundleInfoDictionaryVersion</key>\n  <string>6.0</string>\n  <key>CFBundleName</key>\n  <string>App</string>\n  <key>CFBundlePackageType</key>\n  <string>FMWK</string>\n  <key>CFBundleShortVersionString</key>\n  <string>1.0</string>\n  <key>CFBundleSignature</key>\n  <string>????</string>\n  <key>CFBundleVersion</key>\n  <string>1.0</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "example/ios/Flutter/Debug.xcconfig",
    "content": "#include \"Generated.xcconfig\"\n"
  },
  {
    "path": "example/ios/Flutter/Release.xcconfig",
    "content": "#include \"Generated.xcconfig\"\n"
  },
  {
    "path": "example/ios/Runner/AppDelegate.swift",
    "content": "import Flutter\nimport UIKit\n\n@main\n@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {\n  override func application(\n    _ application: UIApplication,\n    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?\n  ) -> Bool {\n    return super.application(application, didFinishLaunchingWithOptions: launchOptions)\n  }\n\n  func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {\n    GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)\n  }\n}\n"
  },
  {
    "path": "example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-20x20@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-20x20@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-29x29@1x.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-29x29@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-29x29@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-40x40@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-40x40@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"60x60\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-60x60@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"60x60\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-60x60@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-20x20@1x.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-20x20@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-29x29@1x.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-29x29@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-40x40@1x.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-40x40@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"76x76\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-76x76@1x.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"76x76\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-76x76@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"83.5x83.5\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"Icon-App-83.5x83.5@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"1024x1024\",\n      \"idiom\" : \"ios-marketing\",\n      \"filename\" : \"Icon-App-1024x1024@1x.png\",\n      \"scale\" : \"1x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}\n"
  },
  {
    "path": "example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"LaunchImage.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"LaunchImage@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"LaunchImage@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}\n"
  },
  {
    "path": "example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md",
    "content": "# Launch Screen Assets\n\nYou can customize the launch screen with your own desired assets by replacing the image files in this directory.\n\nYou can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images."
  },
  {
    "path": "example/ios/Runner/Base.lproj/LaunchScreen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"12121\" systemVersion=\"16G29\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" colorMatched=\"YES\" initialViewController=\"01J-lp-oVM\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"12089\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"EHf-IW-A2E\">\n            <objects>\n                <viewController id=\"01J-lp-oVM\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"Ydg-fD-yQy\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"xbc-2k-c8Z\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ze5-6b-2t3\">\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <imageView opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" image=\"LaunchImage\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"YRO-k0-Ey4\">\n                            </imageView>\n                        </subviews>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstItem=\"YRO-k0-Ey4\" firstAttribute=\"centerX\" secondItem=\"Ze5-6b-2t3\" secondAttribute=\"centerX\" id=\"1a2-6s-vTC\"/>\n                            <constraint firstItem=\"YRO-k0-Ey4\" firstAttribute=\"centerY\" secondItem=\"Ze5-6b-2t3\" secondAttribute=\"centerY\" id=\"4X2-HB-R7a\"/>\n                        </constraints>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"iYj-Kq-Ea1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"53\" y=\"375\"/>\n        </scene>\n    </scenes>\n    <resources>\n        <image name=\"LaunchImage\" width=\"168\" height=\"185\"/>\n    </resources>\n</document>\n"
  },
  {
    "path": "example/ios/Runner/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"10117\" systemVersion=\"15F34\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"BYZ-38-t0r\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"10085\"/>\n    </dependencies>\n    <scenes>\n        <!--Flutter View Controller-->\n        <scene sceneID=\"tne-QT-ifu\">\n            <objects>\n                <viewController id=\"BYZ-38-t0r\" customClass=\"FlutterViewController\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"y3c-jy-aDJ\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"wfy-db-euE\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"8bC-Xf-vdC\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"dkx-z0-nzr\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "example/ios/Runner/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CADisableMinimumFrameDurationOnPhone</key>\n\t<true/>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>$(DEVELOPMENT_LANGUAGE)</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>nfc_manager_example</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>nfc_manager_example</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>$(FLUTTER_BUILD_NAME)</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(FLUTTER_BUILD_NUMBER)</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIApplicationSceneManifest</key>\n\t<dict>\n\t\t<key>UIApplicationSupportsMultipleScenes</key>\n\t\t<false/>\n\t\t<key>UISceneConfigurations</key>\n\t\t<dict>\n\t\t\t<key>UIWindowSceneSessionRoleApplication</key>\n\t\t\t<array>\n\t\t\t\t<dict>\n\t\t\t\t\t<key>UISceneClassName</key>\n\t\t\t\t\t<string>UIWindowScene</string>\n\t\t\t\t\t<key>UISceneConfigurationName</key>\n\t\t\t\t\t<string>flutter</string>\n\t\t\t\t\t<key>UISceneDelegateClassName</key>\n\t\t\t\t\t<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>\n\t\t\t\t\t<key>UISceneStoryboardFile</key>\n\t\t\t\t\t<string>Main</string>\n\t\t\t\t</dict>\n\t\t\t</array>\n\t\t</dict>\n\t</dict>\n\t<key>UIApplicationSupportsIndirectInputEvents</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "example/ios/Runner/Runner-Bridging-Header.h",
    "content": "#import \"GeneratedPluginRegistrant.h\"\n"
  },
  {
    "path": "example/ios/Runner/SceneDelegate.swift",
    "content": "import Flutter\n\nclass SceneDelegate: FlutterSceneDelegate {}\n"
  },
  {
    "path": "example/ios/Runner.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };\n\t\t331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };\n\t\t3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };\n\t\t74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };\n\t\t7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; };\n\t\t78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };\n\t\t97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };\n\t\t97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };\n\t\t97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 97C146E61CF9000F007C117D /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 97C146ED1CF9000F007C117D;\n\t\t\tremoteInfo = Runner;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\t9705A1C41CF9048500538489 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = \"<group>\"; };\n\t\t1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = \"<group>\"; };\n\t\t331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = \"<group>\"; };\n\t\t331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = \"<group>\"; };\n\t\t74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"Runner-Bridging-Header.h\"; sourceTree = \"<group>\"; };\n\t\t74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\t7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = \"<group>\"; };\n\t\t78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = \"<group>\"; };\n\t\t7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = \"<group>\"; };\n\t\t9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = \"<group>\"; };\n\t\t9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = \"<group>\"; };\n\t\t97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = \"<group>\"; };\n\t\t97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = \"<group>\"; };\n\t\t97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t97C146EB1CF9000F007C117D /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t331C8082294A63A400263BE5 /* RunnerTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t331C807B294A618700263BE5 /* RunnerTests.swift */,\n\t\t\t);\n\t\t\tpath = RunnerTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t9740EEB11CF90186004384FC /* Flutter */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,\n\t\t\t\t3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,\n\t\t\t\t9740EEB21CF90195004384FC /* Debug.xcconfig */,\n\t\t\t\t7AFA3C8E1D35360C0083082E /* Release.xcconfig */,\n\t\t\t\t9740EEB31CF90195004384FC /* Generated.xcconfig */,\n\t\t\t);\n\t\t\tname = Flutter;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t97C146E51CF9000F007C117D = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t9740EEB11CF90186004384FC /* Flutter */,\n\t\t\t\t97C146F01CF9000F007C117D /* Runner */,\n\t\t\t\t97C146EF1CF9000F007C117D /* Products */,\n\t\t\t\t331C8082294A63A400263BE5 /* RunnerTests */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t97C146EF1CF9000F007C117D /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t97C146EE1CF9000F007C117D /* Runner.app */,\n\t\t\t\t331C8081294A63A400263BE5 /* RunnerTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t97C146F01CF9000F007C117D /* Runner */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t97C146FA1CF9000F007C117D /* Main.storyboard */,\n\t\t\t\t97C146FD1CF9000F007C117D /* Assets.xcassets */,\n\t\t\t\t97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,\n\t\t\t\t97C147021CF9000F007C117D /* Info.plist */,\n\t\t\t\t1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,\n\t\t\t\t1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,\n\t\t\t\t74858FAE1ED2DC5600515810 /* AppDelegate.swift */,\n\t\t\t\t7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */,\n\t\t\t\t74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,\n\t\t\t);\n\t\t\tpath = Runner;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t331C8080294A63A400263BE5 /* RunnerTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget \"RunnerTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t331C807D294A63A400263BE5 /* Sources */,\n\t\t\t\t331C807F294A63A400263BE5 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t331C8086294A63A400263BE5 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RunnerTests;\n\t\t\tproductName = RunnerTests;\n\t\t\tproductReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t97C146ED1CF9000F007C117D /* Runner */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget \"Runner\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t9740EEB61CF901F6004384FC /* Run Script */,\n\t\t\t\t97C146EA1CF9000F007C117D /* Sources */,\n\t\t\t\t97C146EB1CF9000F007C117D /* Frameworks */,\n\t\t\t\t97C146EC1CF9000F007C117D /* Resources */,\n\t\t\t\t9705A1C41CF9048500538489 /* Embed Frameworks */,\n\t\t\t\t3B06AD1E1E4923F5004D2608 /* Thin Binary */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = Runner;\n\t\t\tpackageProductDependencies = (\n\t\t\t\t78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,\n\t\t\t);\n\t\t\tproductName = Runner;\n\t\t\tproductReference = 97C146EE1CF9000F007C117D /* Runner.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t97C146E61CF9000F007C117D /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tBuildIndependentTargetsInParallel = YES;\n\t\t\t\tLastUpgradeCheck = 1510;\n\t\t\t\tORGANIZATIONNAME = \"\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t331C8080294A63A400263BE5 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 14.0;\n\t\t\t\t\t\tTestTargetID = 97C146ED1CF9000F007C117D;\n\t\t\t\t\t};\n\t\t\t\t\t97C146ED1CF9000F007C117D = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 1100;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject \"Runner\" */;\n\t\t\tcompatibilityVersion = \"Xcode 9.3\";\n\t\t\tdevelopmentRegion = en;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 97C146E51CF9000F007C117D;\n\t\t\tpackageReferences = (\n\t\t\t\t781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference \"Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage\" */,\n\t\t\t);\n\t\t\tproductRefGroup = 97C146EF1CF9000F007C117D /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t97C146ED1CF9000F007C117D /* Runner */,\n\t\t\t\t331C8080294A63A400263BE5 /* RunnerTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t331C807F294A63A400263BE5 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t97C146EC1CF9000F007C117D /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,\n\t\t\t\t3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,\n\t\t\t\t97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,\n\t\t\t\t97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\talwaysOutOfDate = 1;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\",\n\t\t\t);\n\t\t\tname = \"Thin Binary\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"/bin/sh \\\"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\\\" embed_and_thin\";\n\t\t};\n\t\t9740EEB61CF901F6004384FC /* Run Script */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\talwaysOutOfDate = 1;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Run Script\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"/bin/sh \\\"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\\\" build\";\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t331C807D294A63A400263BE5 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t97C146EA1CF9000F007C117D /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,\n\t\t\t\t1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,\n\t\t\t\t7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t331C8086294A63A400263BE5 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 97C146ED1CF9000F007C117D /* Runner */;\n\t\t\ttargetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t97C146FA1CF9000F007C117D /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t97C146FB1CF9000F007C117D /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t97C147001CF9000F007C117D /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t249021D3217E4FDB00AE95B9 /* Profile */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_USER_SCRIPT_SANDBOXING = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 13.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSUPPORTED_PLATFORMS = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Profile;\n\t\t};\n\t\t249021D4217E4FDB00AE95B9 /* Profile */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = \"$(FLUTTER_BUILD_NUMBER)\";\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tINFOPLIST_FILE = Runner/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"@executable_path/Frameworks\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.nfcmanagerexample;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"Runner/Runner-Bridging-Header.h\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Profile;\n\t\t};\n\t\t331C8088294A63A400263BE5 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCODE_SIGN_STYLE = Automatic;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tGENERATE_INFOPLIST_FILE = YES;\n\t\t\t\tMARKETING_VERSION = 1.0;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.nfcmanagerexample.RunnerTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t331C8089294A63A400263BE5 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCODE_SIGN_STYLE = Automatic;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tGENERATE_INFOPLIST_FILE = YES;\n\t\t\t\tMARKETING_VERSION = 1.0;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.nfcmanagerexample.RunnerTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t331C808A294A63A400263BE5 /* Profile */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tCODE_SIGN_STYLE = Automatic;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tGENERATE_INFOPLIST_FILE = YES;\n\t\t\t\tMARKETING_VERSION = 1.0;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.nfcmanagerexample.RunnerTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner\";\n\t\t\t};\n\t\t\tname = Profile;\n\t\t};\n\t\t97C147031CF9000F007C117D /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tENABLE_USER_SCRIPT_SANDBOXING = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 13.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t97C147041CF9000F007C117D /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_USER_SCRIPT_SANDBOXING = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 13.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSUPPORTED_PLATFORMS = iphoneos;\n\t\t\t\tSWIFT_COMPILATION_MODE = wholemodule;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-O\";\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t97C147061CF9000F007C117D /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = \"$(FLUTTER_BUILD_NUMBER)\";\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tINFOPLIST_FILE = Runner/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"@executable_path/Frameworks\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.nfcmanagerexample;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"Runner/Runner-Bridging-Header.h\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t97C147071CF9000F007C117D /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = \"$(FLUTTER_BUILD_NUMBER)\";\n\t\t\t\tDEVELOPMENT_TEAM = \"\";\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tINFOPLIST_FILE = Runner/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"@executable_path/Frameworks\",\n\t\t\t\t);\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.nfcmanagerexample;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"Runner/Runner-Bridging-Header.h\";\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget \"RunnerTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t331C8088294A63A400263BE5 /* Debug */,\n\t\t\t\t331C8089294A63A400263BE5 /* Release */,\n\t\t\t\t331C808A294A63A400263BE5 /* Profile */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t97C146E91CF9000F007C117D /* Build configuration list for PBXProject \"Runner\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t97C147031CF9000F007C117D /* Debug */,\n\t\t\t\t97C147041CF9000F007C117D /* Release */,\n\t\t\t\t249021D3217E4FDB00AE95B9 /* Profile */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget \"Runner\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t97C147061CF9000F007C117D /* Debug */,\n\t\t\t\t97C147071CF9000F007C117D /* Release */,\n\t\t\t\t249021D4217E4FDB00AE95B9 /* Profile */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\n/* Begin XCLocalSwiftPackageReference section */\n\t\t781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference \"Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage\" */ = {\n\t\t\tisa = XCLocalSwiftPackageReference;\n\t\t\trelativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;\n\t\t};\n/* End XCLocalSwiftPackageReference section */\n\n/* Begin XCSwiftPackageProductDependency section */\n\t\t78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {\n\t\t\tisa = XCSwiftPackageProductDependency;\n\t\t\tproductName = FlutterGeneratedPluginSwiftPackage;\n\t\t};\n/* End XCSwiftPackageProductDependency section */\n\t};\n\trootObject = 97C146E61CF9000F007C117D /* Project object */;\n}\n"
  },
  {
    "path": "example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>PreviewsEnabled</key>\n\t<false/>\n</dict>\n</plist>\n"
  },
  {
    "path": "example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1510\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <PreActions>\n         <ExecutionAction\n            ActionType = \"Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction\">\n            <ActionContent\n               title = \"Run Prepare Flutter Framework Script\"\n               scriptText = \"/bin/sh &quot;$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh&quot; prepare&#10;\">\n               <EnvironmentBuildable>\n                  <BuildableReference\n                     BuildableIdentifier = \"primary\"\n                     BlueprintIdentifier = \"97C146ED1CF9000F007C117D\"\n                     BuildableName = \"Runner.app\"\n                     BlueprintName = \"Runner\"\n                     ReferencedContainer = \"container:Runner.xcodeproj\">\n                  </BuildableReference>\n               </EnvironmentBuildable>\n            </ActionContent>\n         </ExecutionAction>\n      </PreActions>\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"97C146ED1CF9000F007C117D\"\n               BuildableName = \"Runner.app\"\n               BlueprintName = \"Runner\"\n               ReferencedContainer = \"container:Runner.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      customLLDBInitFile = \"$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"97C146ED1CF9000F007C117D\"\n            BuildableName = \"Runner.app\"\n            BlueprintName = \"Runner\"\n            ReferencedContainer = \"container:Runner.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <Testables>\n         <TestableReference\n            skipped = \"NO\"\n            parallelizable = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"331C8080294A63A400263BE5\"\n               BuildableName = \"RunnerTests.xctest\"\n               BlueprintName = \"RunnerTests\"\n               ReferencedContainer = \"container:Runner.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      customLLDBInitFile = \"$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      enableGPUValidationMode = \"1\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"97C146ED1CF9000F007C117D\"\n            BuildableName = \"Runner.app\"\n            BlueprintName = \"Runner\"\n            ReferencedContainer = \"container:Runner.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Profile\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"97C146ED1CF9000F007C117D\"\n            BuildableName = \"Runner.app\"\n            BlueprintName = \"Runner\"\n            ReferencedContainer = \"container:Runner.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "example/ios/Runner.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:Runner.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>PreviewsEnabled</key>\n\t<false/>\n</dict>\n</plist>\n"
  },
  {
    "path": "example/ios/RunnerTests/RunnerTests.swift",
    "content": "import XCTest\n\n@testable import nfc_manager\n\nclass RunnerTests: XCTestCase {}\n"
  },
  {
    "path": "example/lib/main.dart",
    "content": "import 'package:flutter/material.dart';\n\nvoid main() {\n  WidgetsFlutterBinding.ensureInitialized();\n  runApp(MaterialApp(home: Material(child: Center(child: Text('Hello World')))));\n}\n"
  },
  {
    "path": "example/pubspec.yaml",
    "content": "name: nfc_manager_example\ndescription: Demonstrates how to use the nfc_manager plugin.\npublish_to: none\n\nenvironment:\n  sdk: ^3.11.4\n\ndependencies:\n  flutter:\n    sdk: flutter\n  nfc_manager:\n    path: ../\n\ndev_dependencies:\n  flutter_lints: ^6.0.0\n\nflutter:\n  uses-material-design: true\n"
  },
  {
    "path": "ios/.gitignore",
    "content": ".idea/\n.vagrant/\n.sconsign.dblite\n.svn/\n\n.DS_Store\n*.swp\nprofile\n\nDerivedData/\nbuild/\nGeneratedPluginRegistrant.h\nGeneratedPluginRegistrant.m\n\n.generated/\n\n*.pbxuser\n*.mode1v3\n*.mode2v3\n*.perspectivev3\n\n!default.pbxuser\n!default.mode1v3\n!default.mode2v3\n!default.perspectivev3\n\nxcuserdata\n\n*.moved-aside\n\n*.pyc\n*sync/\nIcon?\n.tags*\n\n/Flutter/Generated.xcconfig\n/Flutter/ephemeral/\n/Flutter/flutter_export_environment.sh\n"
  },
  {
    "path": "ios/nfc_manager/Package.swift",
    "content": "// swift-tools-version: 5.9\n// The swift-tools-version declares the minimum version of Swift required to build this package.\n\nimport PackageDescription\n\nlet package = Package(\n    name: \"nfc_manager\",\n    platforms: [\n        .iOS(\"13.0\")\n    ],\n    products: [\n        .library(name: \"nfc-manager\", targets: [\"nfc_manager\"])\n    ],\n    dependencies: [],\n    targets: [\n        .target(\n            name: \"nfc_manager\",\n            dependencies: [],\n            resources: []\n        )\n    ]\n)\n"
  },
  {
    "path": "ios/nfc_manager/Sources/nfc_manager/NfcManagerPlugin.swift",
    "content": "import CoreNFC\nimport Flutter\n\npublic class NfcManagerPlugin: NSObject, FlutterPlugin, HostApiPigeon {\n  private let flutterApi: FlutterApiPigeon\n  private var shouldInvalidateSessionAfterFirstRead: Bool = true\n  private var tagSession: NFCTagReaderSession? = nil\n  private var vasSession: NFCVASReaderSession? = nil\n  private var cachedTags: [String : NFCNDEFTag] = [:]\n\n  public static func register(with registrar: FlutterPluginRegistrar) {\n    HostApiPigeonSetup.setUp(binaryMessenger: registrar.messenger(), api: NfcManagerPlugin(binaryMessenger: registrar.messenger()))\n  }\n\n  private init(binaryMessenger: FlutterBinaryMessenger) {\n    flutterApi = FlutterApiPigeon(binaryMessenger: binaryMessenger)\n  }\n\n  func tagSessionReadingAvailable() throws -> Bool {\n    return NFCTagReaderSession.readingAvailable\n  }\n\n  func tagSessionBegin(pollingOptions: [PollingOptionPigeon], alertMessage: String?, invalidateAfterFirstRead: Bool) throws {\n    if tagSession != nil || vasSession != nil {\n      throw FlutterError(code: \"session_already_exists\", message: \"Multiple sessions cannot be active at the same time.\", details: nil)\n    }\n    tagSession = NFCTagReaderSession(pollingOption: convert(pollingOptions), delegate: self)\n    if let alertMessage = alertMessage {\n      tagSession?.alertMessage = alertMessage\n    }\n    shouldInvalidateSessionAfterFirstRead = invalidateAfterFirstRead\n    tagSession?.begin()\n  }\n\n  func tagSessionInvalidate(alertMessage: String?, errorMessage: String?) throws {\n    guard let tagSession = tagSession else {\n      throw FlutterError(code: \"no_active_sessions\", message: \"Session is not active.\", details: nil)\n    }\n    if let alertMessage = alertMessage {\n      tagSession.alertMessage = alertMessage\n    }\n    if let errorMessage = errorMessage {\n      tagSession.invalidate(errorMessage: errorMessage)\n    } else {\n      tagSession.invalidate()\n    }\n    self.tagSession = nil\n    cachedTags.removeAll() // Consider when to remove the tag.\n  }\n\n  func tagSessionRestartPolling() throws {\n    guard let tagSession = tagSession else {\n      throw FlutterError(code: \"no_active_sessions\", message: \"Session is not active.\", details: nil)\n    }\n    tagSession.restartPolling()\n  }\n\n  func tagSessionSetAlertMessage(alertMessage: String) throws {\n    guard let tagSession = tagSession else {\n      throw FlutterError(code: \"no_active_sessions\", message: \"Session is not active.\", details: nil)\n    }\n    tagSession.alertMessage = alertMessage\n  }\n\n  func vasSessionReadingAvailable() throws -> Bool {\n    return NFCVASReaderSession.readingAvailable\n  }\n\n  func vasSessionBegin(configurations: [NfcVasCommandConfigurationPigeon], alertMessage: String?) throws {\n    if vasSession != nil || tagSession != nil {\n      throw FlutterError(code: \"session_already_exists\", message: \"Multiple sessions cannot be active at the same time.\", details: nil)\n    }\n    vasSession = NFCVASReaderSession(vasCommandConfigurations: configurations.map { convert($0) }, delegate: self, queue: nil)\n    if let alertMessage = alertMessage {\n      vasSession?.alertMessage = alertMessage\n    }\n    vasSession?.begin()\n  }\n\n  func vasSessionInvalidate(alertMessage: String?, errorMessage: String?) throws {\n    guard let vasSession = vasSession else {\n      throw FlutterError(code: \"no_active_sessions\", message: \"Session is not active.\", details: nil)\n    }\n    if let alertMessage = alertMessage {\n      vasSession.alertMessage = alertMessage\n    }\n    if let errorMessage = errorMessage {\n      vasSession.invalidate(errorMessage: errorMessage)\n    } else {\n      vasSession.invalidate()\n    }\n    self.vasSession = nil\n  }\n\n  func vasSessionSetAlertMessage(alertMessage: String) throws {\n    guard let vasSession = vasSession else {\n      throw FlutterError(code: \"no_active_sessions\", message: \"Session is not active.\", details: nil)\n    }\n    vasSession.alertMessage = alertMessage\n  }\n\n  func ndefQueryNdefStatus(handle: String, completion: @escaping (Result<NdefQueryStatusPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.queryNDEFStatus { status, capacity, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(NdefQueryStatusPigeon(status: convert(status), capacity: Int64(capacity))))\n    }\n  }\n\n  func ndefReadNdef(handle: String, completion: @escaping (Result<NdefMessagePigeon?, Error>) -> Void) {\n    guard let tag = cachedTags[handle] else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.readNDEF { message, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      guard let message = message else {\n        completion(.success(nil))\n        return\n      }\n      completion(.success(convert(message)))\n    }\n  }\n\n  func ndefWriteNdef(handle: String, message: NdefMessagePigeon, completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.writeNDEF(convert(message)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func ndefWriteLock(handle: String, completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.writeLock { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func feliCaPolling(handle: String, systemCode: FlutterStandardTypedData, requestCode: FeliCaPollingRequestCodePigeon, timeSlot: FeliCaPollingTimeSlotPigeon, completion: @escaping (Result<FeliCaPollingResponsePigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.polling(systemCode: systemCode.data, requestCode: convert(requestCode), timeSlot: convert(timeSlot)) { manufacturerParameter, requestData, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FeliCaPollingResponsePigeon(\n        manufacturerParameter: FlutterStandardTypedData(bytes: manufacturerParameter),\n        requestData: FlutterStandardTypedData(bytes: requestData)\n      )))\n    }\n  }\n\n  func feliCaRequestService(handle: String, nodeCodeList: [FlutterStandardTypedData], completion: @escaping (Result<[FlutterStandardTypedData], Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.requestService(nodeCodeList: nodeCodeList.map { $0.data }) { nodeCodeList, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(nodeCodeList.map { FlutterStandardTypedData(bytes: $0) }))\n    }\n  }\n\n  func feliCaRequestResponse(handle: String, completion: @escaping (Result<Int64, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.requestResponse { mode, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(Int64(mode)))\n    }\n  }\n\n  func feliCaReadWithoutEncryption(handle: String, serviceCodeList: [FlutterStandardTypedData], blockList: [FlutterStandardTypedData], completion: @escaping (Result<FeliCaReadWithoutEncryptionResponsePigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.readWithoutEncryption(serviceCodeList: serviceCodeList.map { $0.data }, blockList: blockList.map { $0.data }) { statusFlag1, statusFlag2, blockData, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FeliCaReadWithoutEncryptionResponsePigeon(\n        statusFlag1: Int64(statusFlag1),\n        statusFlag2: Int64(statusFlag2),\n        blockData: blockData.map { FlutterStandardTypedData(bytes: $0) }\n      )))\n    }\n  }\n\n  func feliCaWriteWithoutEncryption(handle: String, serviceCodeList: [FlutterStandardTypedData], blockList: [FlutterStandardTypedData], blockData: [FlutterStandardTypedData], completion: @escaping (Result<FeliCaStatusFlagPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.writeWithoutEncryption(serviceCodeList: serviceCodeList.map { $0.data }, blockList: blockList.map { $0.data }, blockData: blockData.map { $0.data }) { statusFlag1, statusFlag2, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FeliCaStatusFlagPigeon(\n        statusFlag1: Int64(statusFlag1),\n        statusFlag2: Int64(statusFlag2)\n      )))\n    }\n  }\n\n  func feliCaRequestSystemCode(handle: String, completion: @escaping (Result<[FlutterStandardTypedData], Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.requestSystemCode() { systemCodeList, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(systemCodeList.map { FlutterStandardTypedData(bytes: $0) }))\n    }\n  }\n\n  func feliCaRequestServiceV2(handle: String, nodeCodeList: [FlutterStandardTypedData], completion: @escaping (Result<FeliCaRequestServiceV2ResponsePigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.requestServiceV2(nodeCodeList: nodeCodeList.map { $0.data }) { statusFlag1, statusFlag2, encryptionIdentifier, nodeKeyVersionListAes, nodeKeyVersionListDes, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FeliCaRequestServiceV2ResponsePigeon(\n        statusFlag1: Int64(statusFlag1),\n        statusFlag2: Int64(statusFlag2),\n        encryptionIdentifier: Int64(encryptionIdentifier.rawValue),\n        nodeKeyVersionListAES: nodeKeyVersionListAes.map { FlutterStandardTypedData(bytes: $0) },\n        nodeKeyVersionListDES: nodeKeyVersionListDes.map { FlutterStandardTypedData(bytes: $0) }\n      )))\n    }\n  }\n\n  func feliCaRequestSpecificationVersion(handle: String, completion: @escaping (Result<FeliCaRequestSpecificationVersionResponsePigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.requestSpecificationVersion() { statusFlag1, statusFlag2, basicVersion, optionVersion, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FeliCaRequestSpecificationVersionResponsePigeon(\n        statusFlag1: Int64(statusFlag1),\n        statusFlag2: Int64(statusFlag2),\n        basicVersion: FlutterStandardTypedData(bytes: basicVersion),\n        optionVersion: FlutterStandardTypedData(bytes: optionVersion)\n      )))\n    }\n  }\n\n  func feliCaResetMode(handle: String, completion: @escaping (Result<FeliCaStatusFlagPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.resetMode() { statusFlag1, statusFlag2, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FeliCaStatusFlagPigeon(\n        statusFlag1: Int64(statusFlag1),\n        statusFlag2: Int64(statusFlag2)\n      )))\n    }\n  }\n\n  func feliCaSendFeliCaCommand(handle: String, commandPacket: FlutterStandardTypedData, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCFeliCaTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.sendFeliCaCommand(commandPacket: commandPacket.data) { data, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FlutterStandardTypedData(bytes: data)))\n    }\n  }\n\n  func miFareSendMiFareCommand(handle: String, commandPacket: FlutterStandardTypedData, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCMiFareTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.sendMiFareCommand(commandPacket: commandPacket.data) { data, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FlutterStandardTypedData(bytes: data)))\n    }\n  }\n\n  func miFareSendMiFareISO7816Command(handle: String, apdu: Iso7816ApduPigeon, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCMiFareTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.sendMiFareISO7816Command(convert(apdu)) { payload, statusWord1, statusWord2, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(Iso7816ResponseApduPigeon(\n        payload: FlutterStandardTypedData(bytes: payload),\n        statusWord1: Int64(statusWord1),\n        statusWord2: Int64(statusWord2)\n      )))\n    }\n  }\n\n  func miFareSendMiFareISO7816CommandRaw(handle: String, data: FlutterStandardTypedData, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCMiFareTag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.sendMiFareISO7816Command(NFCISO7816APDU(data: data.data)!) { payload, statusWord1, statusWord2, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(Iso7816ResponseApduPigeon(\n        payload: FlutterStandardTypedData(bytes: payload),\n        statusWord1: Int64(statusWord1),\n        statusWord2: Int64(statusWord2)\n      )))\n    }\n  }\n\n  func iso7816SendCommand(handle: String, apdu: Iso7816ApduPigeon, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO7816Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.sendCommand(apdu: convert(apdu)) { payload, statusWord1, statusWord2, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(Iso7816ResponseApduPigeon(\n        payload: FlutterStandardTypedData(bytes: payload),\n        statusWord1: Int64(statusWord1),\n        statusWord2: Int64(statusWord2)\n      )))\n    }\n  }\n\n  func iso7816SendCommandRaw(handle: String, data: FlutterStandardTypedData, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO7816Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.sendCommand(apdu: NFCISO7816APDU(data: data.data)!) { payload, statusWord1, statusWord2, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(Iso7816ResponseApduPigeon(\n        payload: FlutterStandardTypedData(bytes: payload),\n        statusWord1: Int64(statusWord1),\n        statusWord2: Int64(statusWord2)\n      )))\n    }\n  }\n\n  func iso15693StayQuiet(handle: String, completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.stayQuiet() { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693ReadSingleBlock(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.readSingleBlock(requestFlags: convert(requestFlags), blockNumber: UInt8(blockNumber)) { dataBlock, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FlutterStandardTypedData(bytes: dataBlock)))\n    }\n  }\n\n  func iso15693WriteSingleBlock(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, dataBlock: FlutterStandardTypedData, completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.writeSingleBlock(requestFlags: convert(requestFlags), blockNumber: UInt8(blockNumber), dataBlock: dataBlock.data) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693LockBlock(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.lockBlock(requestFlags: convert(requestFlags), blockNumber: UInt8(blockNumber)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693ReadMultipleBlocks(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, numberOfBlocks: Int64, completion: @escaping (Result<[FlutterStandardTypedData], Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.readMultipleBlocks(requestFlags: convert(requestFlags), blockRange: convert(blockNumber, numberOfBlocks)) { dataBlocks, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(dataBlocks.map { FlutterStandardTypedData(bytes: $0) }))\n    }\n  }\n\n  func iso15693WriteMultipleBlocks(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, numberOfBlocks: Int64, dataBlocks: [FlutterStandardTypedData], completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.writeMultipleBlocks(requestFlags: convert(requestFlags), blockRange: convert(blockNumber, numberOfBlocks), dataBlocks: dataBlocks.map { $0.data }) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693Select(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.select(requestFlags: convert(requestFlags)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693ResetToReady(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.resetToReady(requestFlags: convert(requestFlags)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693WriteAfi(handle: String, requestFlags: [Iso15693RequestFlagPigeon], afi: Int64, completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.writeAFI(requestFlags: convert(requestFlags), afi: UInt8(afi)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693LockAfi(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.lockAFI(requestFlags: convert(requestFlags)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693WriteDsfId(handle: String, requestFlags: [Iso15693RequestFlagPigeon], dsfId: Int64, completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.writeDSFID(requestFlags: convert(requestFlags), dsfid: UInt8(dsfId)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693LockDsfId(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.lockDFSID(requestFlags: convert(requestFlags)) { error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(()))\n    }\n  }\n\n  func iso15693GetSystemInfo(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Iso15693SystemInfoPigeon, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.getSystemInfo(requestFlags: convert(requestFlags)) { dataStorageFormatIdentifier, applicationFamilyIdentifier, blockSize, totalBlocks, icReference, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(Iso15693SystemInfoPigeon(\n        dataStorageFormatIdentifier: Int64(dataStorageFormatIdentifier),\n        applicationFamilyIdentifier: Int64(applicationFamilyIdentifier),\n        blockSize: Int64(blockSize),\n        totalBlocks: Int64(totalBlocks),\n        icReference: Int64(icReference)\n      )))\n    }\n  }\n\n  func iso15693GetMultipleBlockSecurityStatus(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, numberOfBlocks: Int64, completion: @escaping (Result<[Int64], Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.getMultipleBlockSecurityStatus(requestFlags: convert(requestFlags), blockRange: convert(blockNumber, numberOfBlocks)) { status, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(status.map { Int64(truncating: $0) }))\n    }\n  }\n\n  func iso15693CustomCommand(handle: String, requestFlags: [Iso15693RequestFlagPigeon], customCommandCode: Int64, customRequestParameters: FlutterStandardTypedData, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void) {\n    guard let tag = cachedTags[handle] as? NFCISO15693Tag else {\n      completion(.failure(FlutterError(code: \"tag_not_found\", message: \"You may have disable the session.\", details: nil)))\n      return\n    }\n    tag.customCommand(requestFlags: convert(requestFlags), customCommandCode: Int(customCommandCode), customRequestParameters: customRequestParameters.data) { data, error in\n      if let error = error {\n        completion(.failure(error))\n        return\n      }\n      completion(.success(FlutterStandardTypedData(bytes: data)))\n    }\n  }\n}\n\nextension NfcManagerPlugin: NFCTagReaderSessionDelegate {\n  public func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {\n    DispatchQueue.main.sync {\n      flutterApi.tagSessionDidBecomeActive { _ in /* no op */ }\n    }\n  }\n\n  public func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {\n    let pigeonError = NfcReaderSessionErrorPigeon(\n      code: convert((error as! NFCReaderError).code),\n      message: error.localizedDescription\n    )\n    DispatchQueue.main.sync {\n      flutterApi.tagSessionDidInvalidateWithError(error: pigeonError) { _ in /* no op */ }\n    }\n  }\n\n  public func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {\n    session.connect(to: tags.first!) { error in\n      if let error = error {\n        // skip tag detection\n        print(error)\n        if !self.shouldInvalidateSessionAfterFirstRead {\n          session.restartPolling()\n        }\n        return\n      }\n      convert(tags.first!) { tag, pigeon, error in\n        if let error = error {\n          // skip tag detection\n          print(error)\n          if !self.shouldInvalidateSessionAfterFirstRead {\n            session.restartPolling()\n          }\n          return\n        }\n        guard let pigeon = pigeon else {\n          // skip tag detection\n          if !self.shouldInvalidateSessionAfterFirstRead {\n            session.restartPolling()\n          }\n          return\n        }\n\n        self.cachedTags[pigeon.handle] = tag\n\n        DispatchQueue.main.sync {\n          self.flutterApi.tagSessionDidDetect(tag: pigeon) { _ in /* no op */ }\n        }\n\n        if !self.shouldInvalidateSessionAfterFirstRead {\n          session.restartPolling()\n        }\n      }\n    }\n  }\n}\n\nextension NfcManagerPlugin: NFCVASReaderSessionDelegate {\n  public func readerSessionDidBecomeActive(_ session: NFCVASReaderSession) {\n    DispatchQueue.main.sync {\n      flutterApi.vasSessionDidBecomeActive { _ in /* no op */ }\n    }\n  }\n\n  public func readerSession(_ session: NFCVASReaderSession, didInvalidateWithError error: Error) {\n    let pigeonError = NfcReaderSessionErrorPigeon(\n      code: convert((error as! NFCReaderError).code),\n      message: error.localizedDescription\n    )\n    DispatchQueue.main.sync {\n      flutterApi.vasSessionDidInvalidateWithError(error: pigeonError) { _ in /* no op */ }\n    }\n  }\n\n  public func readerSession(_ session: NFCVASReaderSession, didReceive responses: [NFCVASResponse]) {\n    DispatchQueue.main.sync {\n      flutterApi.vasSessionDidReceive(responses: responses.map { convert($0) }) { _ in /* no op */ }\n    }\n  }\n}\n\nprivate func convert(_ value: NFCTag, _ completionHandler: @escaping (NFCNDEFTag, TagPigeon?, Error?) -> Void) {\n  switch (value) {\n  case .feliCa(let tag): convert(tag) { pigeon, error in completionHandler(tag, pigeon, error) }\n  case .iso15693(let tag): convert(tag) { pigeon, error in completionHandler(tag, pigeon, error) }\n  case .iso7816(let tag): convert(tag) { pigeon, error in completionHandler(tag, pigeon, error) }\n  case .miFare(let tag): convert(tag) { pigeon, error in completionHandler(tag, pigeon, error) }\n  @unknown default: fatalError()\n  }\n}\n\nprivate func convert(_ value: NFCNDEFTag, _ completionHandler: @escaping (TagPigeon?, Error?) -> Void) {\n  var pigeon = TagPigeon(handle: NSUUID().uuidString)\n\n  if let value = value as? NFCFeliCaTag {\n    pigeon.feliCa = FeliCaPigeon(\n      currentSystemCode: FlutterStandardTypedData(bytes: value.currentSystemCode),\n      currentIDm: FlutterStandardTypedData(bytes: value.currentIDm)\n    )\n  }\n  else if let value = value as? NFCISO15693Tag {\n    pigeon.iso15693 = Iso15693Pigeon(\n      icManufacturerCode: Int64(value.icManufacturerCode),\n      icSerialNumber: FlutterStandardTypedData(bytes: value.icSerialNumber),\n      identifier: FlutterStandardTypedData(bytes: value.identifier)\n    )\n  }\n  else if let value = value as? NFCISO7816Tag {\n    pigeon.iso7816 = Iso7816Pigeon(\n      initialSelectedAID: value.initialSelectedAID,\n      identifier: FlutterStandardTypedData(bytes: value.identifier),\n      historicalBytes: value.historicalBytes != nil ? FlutterStandardTypedData(bytes: value.historicalBytes!) : nil,\n      applicationData: value.applicationData != nil ? FlutterStandardTypedData(bytes: value.applicationData!) : nil,\n      proprietaryApplicationDataCoding: value.proprietaryApplicationDataCoding\n    )\n  }\n  else if let value = value as? NFCMiFareTag {\n    pigeon.miFare = MiFarePigeon(\n      mifareFamily: convert(value.mifareFamily),\n      identifier: FlutterStandardTypedData(bytes: value.identifier),\n      historicalBytes: value.historicalBytes != nil ? FlutterStandardTypedData(bytes: value.historicalBytes!) : nil\n    )\n  }\n\n  value.queryNDEFStatus { status, capacity, error in\n    if let error = error {\n      completionHandler(nil, error)\n      return\n    }\n    pigeon.ndef = NdefPigeon(\n      status: convert(status),\n      capacity: Int64(capacity)\n    )\n    if status == .notSupported {\n      completionHandler(pigeon, nil)\n      return\n    }\n    value.readNDEF { message, error in\n      if let error = error as? NSError, error.code != 403 {\n        completionHandler(nil, error)\n        return\n      }\n      if let message = message {\n        pigeon.ndef?.cachedNdefMessage = convert(message)\n      }\n      completionHandler(pigeon, nil)\n    }\n  }\n}\n\nprivate func convert(_ value: NdefMessagePigeon) -> NFCNDEFMessage {\n  return NFCNDEFMessage(\n    records: value.records.map { NFCNDEFPayload(\n      format: convert($0.typeNameFormat),\n      type: $0.type.data,\n      identifier: $0.identifier.data,\n      payload: $0.payload.data\n    ) }\n  )\n}\n\nprivate func convert(_ value: NFCNDEFMessage) -> NdefMessagePigeon {\n  return NdefMessagePigeon(records: value.records.map { convert($0) })\n}\n\nprivate func convert(_ value: NFCNDEFPayload) -> NdefPayloadPigeon {\n  return NdefPayloadPigeon(\n    typeNameFormat: convert(value.typeNameFormat),\n    type: FlutterStandardTypedData(bytes: value.type),\n    identifier: FlutterStandardTypedData(bytes: value.identifier),\n    payload: FlutterStandardTypedData(bytes: value.payload)\n  )\n}\n\nprivate func convert(_ value: [PollingOptionPigeon]) -> NFCTagReaderSession.PollingOption {\n  var option = NFCTagReaderSession.PollingOption()\n  value.forEach { option.insert(convert($0)) }\n  return option\n}\n\nprivate func convert(_ value: PollingOptionPigeon) -> NFCTagReaderSession.PollingOption {\n  switch (value) {\n  case .iso14443: return .iso14443\n  case .iso15693: return .iso15693\n  case .iso18092: return .iso18092\n  }\n}\n\nprivate func convert(_ value: NFCNDEFStatus) -> NdefStatusPigeon {\n  switch (value) {\n  case .notSupported: return .notSupported\n  case .readWrite: return .readWrite\n  case .readOnly: return .readOnly\n  default: fatalError()\n  }\n}\n\nprivate func convert(_ value: FeliCaPollingRequestCodePigeon) -> PollingRequestCode {\n  switch (value) {\n  case .noRequest: return .noRequest\n  case .systemCode: return .systemCode\n  case .communicationPerformance: return .communicationPerformance\n  }\n}\n\nprivate func convert(_ value: FeliCaPollingTimeSlotPigeon) -> PollingTimeSlot {\n  switch (value) {\n  case .max1: return .max1\n  case .max2: return .max2\n  case .max4: return .max4\n  case .max8: return .max8\n  case .max16: return .max16\n  }\n}\n\nprivate func convert(_ value: Iso7816ApduPigeon) -> NFCISO7816APDU {\n  return NFCISO7816APDU(\n    instructionClass: UInt8(value.instructionClass),\n    instructionCode: UInt8(value.instructionCode),\n    p1Parameter: UInt8(value.p1Parameter),\n    p2Parameter: UInt8(value.p2Parameter),\n    data: value.data.data,\n    expectedResponseLength: Int(value.expectedResponseLength)\n  )\n}\n\nprivate func convert(_ value: [Iso15693RequestFlagPigeon]) -> RequestFlag {\n  var flag = RequestFlag()\n  value.forEach { flag.insert(convert($0)) }\n  return flag\n}\n\nprivate func convert(_ value: NfcVasCommandConfigurationPigeon) -> NFCVASCommandConfiguration {\n  return NFCVASCommandConfiguration(\n    vasMode: convert(value.mode),\n    passTypeIdentifier: value.passIdentifier,\n    url: (value.url == nil) ? nil : URL(string: value.url!)\n  )\n}\n\nprivate func convert(_ value: NFCVASResponse) -> NfcVasResponsePigeon {\n  return NfcVasResponsePigeon(\n    status: convert(value.status),\n    vasData: FlutterStandardTypedData(bytes: value.vasData),\n    mobileToken: FlutterStandardTypedData(bytes: value.mobileToken)\n  )\n}\n\nprivate func convert(_ value: Iso15693RequestFlagPigeon) -> RequestFlag {\n  switch (value) {\n  case .address: return .address\n  case .dualSubCarriers: return .dualSubCarriers\n  case .highDataRate: return .highDataRate\n  case .option: return .option\n  case .protocolExtension: return .protocolExtension\n  case .select: return .select\n  }\n}\n\nprivate func convert(_ value: NFCMiFareFamily) -> MiFareFamilyPigeon {\n  switch (value) {\n  case .unknown: return .unknown\n  case .ultralight: return .ultralight\n  case .plus: return .plus\n  case .desfire: return .desfire\n  @unknown default: fatalError()\n  }\n}\n\nprivate func convert(_ value: TypeNameFormatPigeon) -> NFCTypeNameFormat {\n  switch (value) {\n  case .empty: return .empty\n  case .wellKnown: return .nfcWellKnown\n  case .media: return .media\n  case .absoluteUri: return .absoluteURI\n  case .external: return .nfcExternal\n  case .unknown: return .unknown\n  case .unchanged: return .unchanged\n  }\n}\n\nprivate func convert(_ value: NFCTypeNameFormat) -> TypeNameFormatPigeon {\n  switch (value) {\n  case .empty: return .empty\n  case .nfcWellKnown: return .wellKnown\n  case .media: return .media\n  case .absoluteURI: return .absoluteUri\n  case .nfcExternal: return .external\n  case .unknown: return .unknown\n  case .unchanged: return .unchanged\n  @unknown default: fatalError()\n  }\n}\n\nprivate func convert(_ value: NfcVasCommandConfigurationModePigeon) -> NFCVASCommandConfiguration.Mode {\n  switch value {\n  case .normal: return .normal\n  case .urlOnly: return .urlOnly\n  }\n}\n\nprivate func convert(_ value: NFCReaderError.Code) -> NfcReaderErrorCodePigeon {\n  switch value {\n  case .readerSessionInvalidationErrorFirstNDEFTagRead: return .readerSessionInvalidationErrorFirstNdefTagRead\n  case .readerSessionInvalidationErrorSessionTerminatedUnexpectedly: return .readerSessionInvalidationErrorSessionTerminatedUnexpectedly\n  case .readerSessionInvalidationErrorSessionTimeout: return .readerSessionInvalidationErrorSessionTimeout\n  case .readerSessionInvalidationErrorSystemIsBusy: return .readerSessionInvalidationErrorSystemIsBusy\n  case .readerSessionInvalidationErrorUserCanceled: return .readerSessionInvalidationErrorUserCanceled\n  case .ndefReaderSessionErrorTagNotWritable: return .ndefReaderSessionErrorTagNotWritable\n  case .ndefReaderSessionErrorTagSizeTooSmall: return .ndefReaderSessionErrorTagSizeTooSmall\n  case .ndefReaderSessionErrorTagUpdateFailure: return .ndefReaderSessionErrorTagUpdateFailure\n  case .ndefReaderSessionErrorZeroLengthMessage: return .ndefReaderSessionErrorZeroLengthMessage\n  case .readerTransceiveErrorRetryExceeded: return .readerTransceiveErrorRetryExceeded\n  case .readerTransceiveErrorTagConnectionLost: return .readerTransceiveErrorTagConnectionLost\n  case .readerTransceiveErrorTagNotConnected: return .readerTransceiveErrorTagNotConnected\n  case .readerTransceiveErrorTagResponseError: return .readerTransceiveErrorTagResponseError\n  case .readerTransceiveErrorSessionInvalidated: return .readerTransceiveErrorSessionInvalidated\n  case .readerTransceiveErrorPacketTooLong: return .readerTransceiveErrorPacketTooLong\n  case .tagCommandConfigurationErrorInvalidParameters: return .tagCommandConfigurationErrorInvalidParameters\n  case .readerErrorUnsupportedFeature: return .readerErrorUnsupportedFeature\n  case .readerErrorInvalidParameter: return .readerErrorInvalidParameter\n  case .readerErrorInvalidParameterLength: return .readerErrorInvalidParameterLength\n  case .readerErrorParameterOutOfBound: return .readerErrorParameterOutOfBound\n  case .readerErrorRadioDisabled: return .readerErrorRadioDisabled\n  case .readerErrorSecurityViolation: return .readerErrorSecurityViolation\n  default:\n    // Introduced in iOS SDK 26; since we added it before 26 was widely adopted, compare `rawValue` to maintain backward compatibility.\n    // See: https://github.com/okadan/flutter-nfc-manager/issues/249\n    if (value.rawValue == 7) { return .readerErrorIneligible }\n    if (value.rawValue == 8) { return .readerErrorAccessNotAccepted }\n    fatalError()\n  }\n}\n\nprivate func convert(_ value: NFCVASResponse.ErrorCode) -> NfcVasResponseErrorCodePigeon {\n  switch (value) {\n  case .success: return .success\n  case .userIntervention: return .userIntervention\n  case .dataNotActivated: return .dataNotActivated\n  case .dataNotFound: return .dataNotFound\n  case .incorrectData: return .incorrectData\n  case .unsupportedApplicationVersion: return .unsupportedApplicationVersion\n  case .wrongLCField: return .wrongLCField\n  case .wrongParameters: return .wrongParameters\n  @unknown default: fatalError()\n  }\n}\n\nprivate func convert(_ value1: Int64, _ value2: Int64) -> NSRange {\n  return NSRange(location: Int(value1), length: Int(value2))\n}\n\nextension FlutterError: Error {}\n"
  },
  {
    "path": "ios/nfc_manager/Sources/nfc_manager/Pigeon.swift",
    "content": "// Autogenerated from Pigeon (v26.3.3), do not edit directly.\n// See also: https://pub.dev/packages/pigeon\n\nimport Foundation\n\n#if os(iOS)\n  import Flutter\n#elseif os(macOS)\n  import FlutterMacOS\n#else\n  #error(\"Unsupported platform.\")\n#endif\n\n/// Error class for passing custom error details to Dart side.\nfinal class PigeonError: Error {\n  let code: String\n  let message: String?\n  let details: Sendable?\n\n  init(code: String, message: String?, details: Sendable?) {\n    self.code = code\n    self.message = message\n    self.details = details\n  }\n\n  var localizedDescription: String {\n    return\n      \"PigeonError(code: \\(code), message: \\(message ?? \"<nil>\"), details: \\(details ?? \"<nil>\")\"\n  }\n}\n\nprivate func wrapResult(_ result: Any?) -> [Any?] {\n  return [result]\n}\n\nprivate func wrapError(_ error: Any) -> [Any?] {\n  if let pigeonError = error as? PigeonError {\n    return [\n      pigeonError.code,\n      pigeonError.message,\n      pigeonError.details,\n    ]\n  }\n  if let flutterError = error as? FlutterError {\n    return [\n      flutterError.code,\n      flutterError.message,\n      flutterError.details,\n    ]\n  }\n  return [\n    \"\\(error)\",\n    \"\\(Swift.type(of: error))\",\n    \"Stacktrace: \\(Thread.callStackSymbols)\",\n  ]\n}\n\nprivate func createConnectionError(withChannelName channelName: String) -> PigeonError {\n  return PigeonError(code: \"channel-error\", message: \"Unable to establish connection on channel: '\\(channelName)'.\", details: \"\")\n}\n\nprivate func isNullish(_ value: Any?) -> Bool {\n  return value is NSNull || value == nil\n}\n\nprivate func nilOrValue<T>(_ value: Any?) -> T? {\n  if value is NSNull { return nil }\n  return value as! T?\n}\n\nprivate func doubleEqualsPigeon(_ lhs: Double, _ rhs: Double) -> Bool {\n  return (lhs.isNaN && rhs.isNaN) || lhs == rhs\n}\n\nprivate func doubleHashPigeon(_ value: Double, _ hasher: inout Hasher) {\n  if value.isNaN {\n    hasher.combine(0x7FF8000000000000)\n  } else {\n    // Normalize -0.0 to 0.0\n    hasher.combine(value == 0 ? 0 : value)\n  }\n}\n\nfunc deepEqualsPigeon(_ lhs: Any?, _ rhs: Any?) -> Bool {\n  let cleanLhs = nilOrValue(lhs) as Any?\n  let cleanRhs = nilOrValue(rhs) as Any?\n  switch (cleanLhs, cleanRhs) {\n  case (nil, nil):\n    return true\n\n  case (nil, _), (_, nil):\n    return false\n\n  case (let lhs as AnyObject, let rhs as AnyObject) where lhs === rhs:\n    return true\n\n  case is (Void, Void):\n    return true\n\n  case (let lhsArray, let rhsArray) as ([Any?], [Any?]):\n    guard lhsArray.count == rhsArray.count else { return false }\n    for (index, element) in lhsArray.enumerated() {\n      if !deepEqualsPigeon(element, rhsArray[index]) {\n        return false\n      }\n    }\n    return true\n\n  case (let lhsArray, let rhsArray) as ([Double], [Double]):\n    guard lhsArray.count == rhsArray.count else { return false }\n    for (index, element) in lhsArray.enumerated() {\n      if !doubleEqualsPigeon(element, rhsArray[index]) {\n        return false\n      }\n    }\n    return true\n\n  case (let lhsDictionary, let rhsDictionary) as ([AnyHashable: Any?], [AnyHashable: Any?]):\n    guard lhsDictionary.count == rhsDictionary.count else { return false }\n    for (lhsKey, lhsValue) in lhsDictionary {\n      var found = false\n      for (rhsKey, rhsValue) in rhsDictionary {\n        if deepEqualsPigeon(lhsKey, rhsKey) {\n          if deepEqualsPigeon(lhsValue, rhsValue) {\n            found = true\n            break\n          } else {\n            return false\n          }\n        }\n      }\n      if !found { return false }\n    }\n    return true\n\n  case (let lhs as Double, let rhs as Double):\n    return doubleEqualsPigeon(lhs, rhs)\n\n  case (let lhsHashable, let rhsHashable) as (AnyHashable, AnyHashable):\n    return lhsHashable == rhsHashable\n\n  default:\n    return false\n  }\n}\n\nfunc deepHashPigeon(value: Any?, hasher: inout Hasher) {\n  let cleanValue = nilOrValue(value) as Any?\n  if let cleanValue = cleanValue {\n    if let doubleValue = cleanValue as? Double {\n      doubleHashPigeon(doubleValue, &hasher)\n    } else if let valueList = cleanValue as? [Any?] {\n      for item in valueList {\n        deepHashPigeon(value: item, hasher: &hasher)\n      }\n    } else if let valueList = cleanValue as? [Double] {\n      for item in valueList {\n        doubleHashPigeon(item, &hasher)\n      }\n    } else if let valueDict = cleanValue as? [AnyHashable: Any?] {\n      var result = 0\n      for (key, value) in valueDict {\n        var entryKeyHasher = Hasher()\n        deepHashPigeon(value: key, hasher: &entryKeyHasher)\n        var entryValueHasher = Hasher()\n        deepHashPigeon(value: value, hasher: &entryValueHasher)\n        result = result &+ ((entryKeyHasher.finalize() &* 31) ^ entryValueHasher.finalize())\n      }\n      hasher.combine(result)\n    } else if let hashableValue = cleanValue as? AnyHashable {\n      hasher.combine(hashableValue)\n    } else {\n      hasher.combine(String(describing: cleanValue))\n    }\n  } else {\n    hasher.combine(0)\n  }\n}\n\n\nenum PollingOptionPigeon: Int {\n  case iso14443 = 0\n  case iso15693 = 1\n  case iso18092 = 2\n}\n\nenum NdefStatusPigeon: Int {\n  case notSupported = 0\n  case readWrite = 1\n  case readOnly = 2\n}\n\nenum TypeNameFormatPigeon: Int {\n  case empty = 0\n  case wellKnown = 1\n  case media = 2\n  case absoluteUri = 3\n  case external = 4\n  case unknown = 5\n  case unchanged = 6\n}\n\nenum FeliCaPollingRequestCodePigeon: Int {\n  case noRequest = 0\n  case systemCode = 1\n  case communicationPerformance = 2\n}\n\nenum FeliCaPollingTimeSlotPigeon: Int {\n  case max1 = 0\n  case max2 = 1\n  case max4 = 2\n  case max8 = 3\n  case max16 = 4\n}\n\nenum MiFareFamilyPigeon: Int {\n  case unknown = 0\n  case ultralight = 1\n  case plus = 2\n  case desfire = 3\n}\n\nenum Iso15693RequestFlagPigeon: Int {\n  case address = 0\n  case dualSubCarriers = 1\n  case highDataRate = 2\n  case option = 3\n  case protocolExtension = 4\n  case select = 5\n}\n\nenum NfcVasCommandConfigurationModePigeon: Int {\n  case normal = 0\n  case urlOnly = 1\n}\n\nenum NfcReaderErrorCodePigeon: Int {\n  case readerSessionInvalidationErrorFirstNdefTagRead = 0\n  case readerSessionInvalidationErrorSessionTerminatedUnexpectedly = 1\n  case readerSessionInvalidationErrorSessionTimeout = 2\n  case readerSessionInvalidationErrorSystemIsBusy = 3\n  case readerSessionInvalidationErrorUserCanceled = 4\n  case ndefReaderSessionErrorTagNotWritable = 5\n  case ndefReaderSessionErrorTagSizeTooSmall = 6\n  case ndefReaderSessionErrorTagUpdateFailure = 7\n  case ndefReaderSessionErrorZeroLengthMessage = 8\n  case readerTransceiveErrorRetryExceeded = 9\n  case readerTransceiveErrorTagConnectionLost = 10\n  case readerTransceiveErrorTagNotConnected = 11\n  case readerTransceiveErrorTagResponseError = 12\n  case readerTransceiveErrorSessionInvalidated = 13\n  case readerTransceiveErrorPacketTooLong = 14\n  case tagCommandConfigurationErrorInvalidParameters = 15\n  case readerErrorAccessNotAccepted = 16\n  case readerErrorIneligible = 17\n  case readerErrorUnsupportedFeature = 18\n  case readerErrorInvalidParameter = 19\n  case readerErrorInvalidParameterLength = 20\n  case readerErrorParameterOutOfBound = 21\n  case readerErrorRadioDisabled = 22\n  case readerErrorSecurityViolation = 23\n}\n\nenum NfcVasResponseErrorCodePigeon: Int {\n  case success = 0\n  case userIntervention = 1\n  case dataNotActivated = 2\n  case dataNotFound = 3\n  case incorrectData = 4\n  case unsupportedApplicationVersion = 5\n  case wrongLCField = 6\n  case wrongParameters = 7\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct TagPigeon: Hashable {\n  var handle: String\n  var ndef: NdefPigeon? = nil\n  var feliCa: FeliCaPigeon? = nil\n  var iso15693: Iso15693Pigeon? = nil\n  var iso7816: Iso7816Pigeon? = nil\n  var miFare: MiFarePigeon? = nil\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> TagPigeon? {\n    let handle = pigeonVar_list[0] as! String\n    let ndef: NdefPigeon? = nilOrValue(pigeonVar_list[1])\n    let feliCa: FeliCaPigeon? = nilOrValue(pigeonVar_list[2])\n    let iso15693: Iso15693Pigeon? = nilOrValue(pigeonVar_list[3])\n    let iso7816: Iso7816Pigeon? = nilOrValue(pigeonVar_list[4])\n    let miFare: MiFarePigeon? = nilOrValue(pigeonVar_list[5])\n\n    return TagPigeon(\n      handle: handle,\n      ndef: ndef,\n      feliCa: feliCa,\n      iso15693: iso15693,\n      iso7816: iso7816,\n      miFare: miFare\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      handle,\n      ndef,\n      feliCa,\n      iso15693,\n      iso7816,\n      miFare,\n    ]\n  }\n  static func == (lhs: TagPigeon, rhs: TagPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.handle, rhs.handle) && deepEqualsPigeon(lhs.ndef, rhs.ndef) && deepEqualsPigeon(lhs.feliCa, rhs.feliCa) && deepEqualsPigeon(lhs.iso15693, rhs.iso15693) && deepEqualsPigeon(lhs.iso7816, rhs.iso7816) && deepEqualsPigeon(lhs.miFare, rhs.miFare)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"TagPigeon\")\n    deepHashPigeon(value: handle, hasher: &hasher)\n    deepHashPigeon(value: ndef, hasher: &hasher)\n    deepHashPigeon(value: feliCa, hasher: &hasher)\n    deepHashPigeon(value: iso15693, hasher: &hasher)\n    deepHashPigeon(value: iso7816, hasher: &hasher)\n    deepHashPigeon(value: miFare, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct NdefPigeon: Hashable {\n  var status: NdefStatusPigeon\n  var capacity: Int64\n  var cachedNdefMessage: NdefMessagePigeon? = nil\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> NdefPigeon? {\n    let status = pigeonVar_list[0] as! NdefStatusPigeon\n    let capacity = pigeonVar_list[1] as! Int64\n    let cachedNdefMessage: NdefMessagePigeon? = nilOrValue(pigeonVar_list[2])\n\n    return NdefPigeon(\n      status: status,\n      capacity: capacity,\n      cachedNdefMessage: cachedNdefMessage\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      status,\n      capacity,\n      cachedNdefMessage,\n    ]\n  }\n  static func == (lhs: NdefPigeon, rhs: NdefPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.status, rhs.status) && deepEqualsPigeon(lhs.capacity, rhs.capacity) && deepEqualsPigeon(lhs.cachedNdefMessage, rhs.cachedNdefMessage)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"NdefPigeon\")\n    deepHashPigeon(value: status, hasher: &hasher)\n    deepHashPigeon(value: capacity, hasher: &hasher)\n    deepHashPigeon(value: cachedNdefMessage, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct FeliCaPigeon: Hashable {\n  var currentSystemCode: FlutterStandardTypedData\n  var currentIDm: FlutterStandardTypedData\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> FeliCaPigeon? {\n    let currentSystemCode = pigeonVar_list[0] as! FlutterStandardTypedData\n    let currentIDm = pigeonVar_list[1] as! FlutterStandardTypedData\n\n    return FeliCaPigeon(\n      currentSystemCode: currentSystemCode,\n      currentIDm: currentIDm\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      currentSystemCode,\n      currentIDm,\n    ]\n  }\n  static func == (lhs: FeliCaPigeon, rhs: FeliCaPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.currentSystemCode, rhs.currentSystemCode) && deepEqualsPigeon(lhs.currentIDm, rhs.currentIDm)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"FeliCaPigeon\")\n    deepHashPigeon(value: currentSystemCode, hasher: &hasher)\n    deepHashPigeon(value: currentIDm, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct Iso15693Pigeon: Hashable {\n  var icManufacturerCode: Int64\n  var icSerialNumber: FlutterStandardTypedData\n  var identifier: FlutterStandardTypedData\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> Iso15693Pigeon? {\n    let icManufacturerCode = pigeonVar_list[0] as! Int64\n    let icSerialNumber = pigeonVar_list[1] as! FlutterStandardTypedData\n    let identifier = pigeonVar_list[2] as! FlutterStandardTypedData\n\n    return Iso15693Pigeon(\n      icManufacturerCode: icManufacturerCode,\n      icSerialNumber: icSerialNumber,\n      identifier: identifier\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      icManufacturerCode,\n      icSerialNumber,\n      identifier,\n    ]\n  }\n  static func == (lhs: Iso15693Pigeon, rhs: Iso15693Pigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.icManufacturerCode, rhs.icManufacturerCode) && deepEqualsPigeon(lhs.icSerialNumber, rhs.icSerialNumber) && deepEqualsPigeon(lhs.identifier, rhs.identifier)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"Iso15693Pigeon\")\n    deepHashPigeon(value: icManufacturerCode, hasher: &hasher)\n    deepHashPigeon(value: icSerialNumber, hasher: &hasher)\n    deepHashPigeon(value: identifier, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct Iso7816Pigeon: Hashable {\n  var initialSelectedAID: String\n  var identifier: FlutterStandardTypedData\n  var historicalBytes: FlutterStandardTypedData? = nil\n  var applicationData: FlutterStandardTypedData? = nil\n  var proprietaryApplicationDataCoding: Bool\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> Iso7816Pigeon? {\n    let initialSelectedAID = pigeonVar_list[0] as! String\n    let identifier = pigeonVar_list[1] as! FlutterStandardTypedData\n    let historicalBytes: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[2])\n    let applicationData: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[3])\n    let proprietaryApplicationDataCoding = pigeonVar_list[4] as! Bool\n\n    return Iso7816Pigeon(\n      initialSelectedAID: initialSelectedAID,\n      identifier: identifier,\n      historicalBytes: historicalBytes,\n      applicationData: applicationData,\n      proprietaryApplicationDataCoding: proprietaryApplicationDataCoding\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      initialSelectedAID,\n      identifier,\n      historicalBytes,\n      applicationData,\n      proprietaryApplicationDataCoding,\n    ]\n  }\n  static func == (lhs: Iso7816Pigeon, rhs: Iso7816Pigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.initialSelectedAID, rhs.initialSelectedAID) && deepEqualsPigeon(lhs.identifier, rhs.identifier) && deepEqualsPigeon(lhs.historicalBytes, rhs.historicalBytes) && deepEqualsPigeon(lhs.applicationData, rhs.applicationData) && deepEqualsPigeon(lhs.proprietaryApplicationDataCoding, rhs.proprietaryApplicationDataCoding)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"Iso7816Pigeon\")\n    deepHashPigeon(value: initialSelectedAID, hasher: &hasher)\n    deepHashPigeon(value: identifier, hasher: &hasher)\n    deepHashPigeon(value: historicalBytes, hasher: &hasher)\n    deepHashPigeon(value: applicationData, hasher: &hasher)\n    deepHashPigeon(value: proprietaryApplicationDataCoding, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct MiFarePigeon: Hashable {\n  var mifareFamily: MiFareFamilyPigeon\n  var identifier: FlutterStandardTypedData\n  var historicalBytes: FlutterStandardTypedData? = nil\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> MiFarePigeon? {\n    let mifareFamily = pigeonVar_list[0] as! MiFareFamilyPigeon\n    let identifier = pigeonVar_list[1] as! FlutterStandardTypedData\n    let historicalBytes: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[2])\n\n    return MiFarePigeon(\n      mifareFamily: mifareFamily,\n      identifier: identifier,\n      historicalBytes: historicalBytes\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      mifareFamily,\n      identifier,\n      historicalBytes,\n    ]\n  }\n  static func == (lhs: MiFarePigeon, rhs: MiFarePigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.mifareFamily, rhs.mifareFamily) && deepEqualsPigeon(lhs.identifier, rhs.identifier) && deepEqualsPigeon(lhs.historicalBytes, rhs.historicalBytes)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"MiFarePigeon\")\n    deepHashPigeon(value: mifareFamily, hasher: &hasher)\n    deepHashPigeon(value: identifier, hasher: &hasher)\n    deepHashPigeon(value: historicalBytes, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct NdefQueryStatusPigeon: Hashable {\n  var status: NdefStatusPigeon\n  var capacity: Int64\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> NdefQueryStatusPigeon? {\n    let status = pigeonVar_list[0] as! NdefStatusPigeon\n    let capacity = pigeonVar_list[1] as! Int64\n\n    return NdefQueryStatusPigeon(\n      status: status,\n      capacity: capacity\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      status,\n      capacity,\n    ]\n  }\n  static func == (lhs: NdefQueryStatusPigeon, rhs: NdefQueryStatusPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.status, rhs.status) && deepEqualsPigeon(lhs.capacity, rhs.capacity)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"NdefQueryStatusPigeon\")\n    deepHashPigeon(value: status, hasher: &hasher)\n    deepHashPigeon(value: capacity, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct NdefMessagePigeon: Hashable {\n  var records: [NdefPayloadPigeon]\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> NdefMessagePigeon? {\n    let records = pigeonVar_list[0] as! [NdefPayloadPigeon]\n\n    return NdefMessagePigeon(\n      records: records\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      records\n    ]\n  }\n  static func == (lhs: NdefMessagePigeon, rhs: NdefMessagePigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.records, rhs.records)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"NdefMessagePigeon\")\n    deepHashPigeon(value: records, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct NdefPayloadPigeon: Hashable {\n  var typeNameFormat: TypeNameFormatPigeon\n  var type: FlutterStandardTypedData\n  var identifier: FlutterStandardTypedData\n  var payload: FlutterStandardTypedData\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> NdefPayloadPigeon? {\n    let typeNameFormat = pigeonVar_list[0] as! TypeNameFormatPigeon\n    let type = pigeonVar_list[1] as! FlutterStandardTypedData\n    let identifier = pigeonVar_list[2] as! FlutterStandardTypedData\n    let payload = pigeonVar_list[3] as! FlutterStandardTypedData\n\n    return NdefPayloadPigeon(\n      typeNameFormat: typeNameFormat,\n      type: type,\n      identifier: identifier,\n      payload: payload\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      typeNameFormat,\n      type,\n      identifier,\n      payload,\n    ]\n  }\n  static func == (lhs: NdefPayloadPigeon, rhs: NdefPayloadPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.typeNameFormat, rhs.typeNameFormat) && deepEqualsPigeon(lhs.type, rhs.type) && deepEqualsPigeon(lhs.identifier, rhs.identifier) && deepEqualsPigeon(lhs.payload, rhs.payload)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"NdefPayloadPigeon\")\n    deepHashPigeon(value: typeNameFormat, hasher: &hasher)\n    deepHashPigeon(value: type, hasher: &hasher)\n    deepHashPigeon(value: identifier, hasher: &hasher)\n    deepHashPigeon(value: payload, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct FeliCaPollingResponsePigeon: Hashable {\n  var manufacturerParameter: FlutterStandardTypedData\n  var requestData: FlutterStandardTypedData? = nil\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> FeliCaPollingResponsePigeon? {\n    let manufacturerParameter = pigeonVar_list[0] as! FlutterStandardTypedData\n    let requestData: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[1])\n\n    return FeliCaPollingResponsePigeon(\n      manufacturerParameter: manufacturerParameter,\n      requestData: requestData\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      manufacturerParameter,\n      requestData,\n    ]\n  }\n  static func == (lhs: FeliCaPollingResponsePigeon, rhs: FeliCaPollingResponsePigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.manufacturerParameter, rhs.manufacturerParameter) && deepEqualsPigeon(lhs.requestData, rhs.requestData)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"FeliCaPollingResponsePigeon\")\n    deepHashPigeon(value: manufacturerParameter, hasher: &hasher)\n    deepHashPigeon(value: requestData, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct FeliCaReadWithoutEncryptionResponsePigeon: Hashable {\n  var statusFlag1: Int64\n  var statusFlag2: Int64\n  var blockData: [FlutterStandardTypedData]\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> FeliCaReadWithoutEncryptionResponsePigeon? {\n    let statusFlag1 = pigeonVar_list[0] as! Int64\n    let statusFlag2 = pigeonVar_list[1] as! Int64\n    let blockData = pigeonVar_list[2] as! [FlutterStandardTypedData]\n\n    return FeliCaReadWithoutEncryptionResponsePigeon(\n      statusFlag1: statusFlag1,\n      statusFlag2: statusFlag2,\n      blockData: blockData\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      statusFlag1,\n      statusFlag2,\n      blockData,\n    ]\n  }\n  static func == (lhs: FeliCaReadWithoutEncryptionResponsePigeon, rhs: FeliCaReadWithoutEncryptionResponsePigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.statusFlag1, rhs.statusFlag1) && deepEqualsPigeon(lhs.statusFlag2, rhs.statusFlag2) && deepEqualsPigeon(lhs.blockData, rhs.blockData)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"FeliCaReadWithoutEncryptionResponsePigeon\")\n    deepHashPigeon(value: statusFlag1, hasher: &hasher)\n    deepHashPigeon(value: statusFlag2, hasher: &hasher)\n    deepHashPigeon(value: blockData, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct FeliCaRequestServiceV2ResponsePigeon: Hashable {\n  var statusFlag1: Int64\n  var statusFlag2: Int64\n  var encryptionIdentifier: Int64\n  var nodeKeyVersionListAES: [FlutterStandardTypedData]? = nil\n  var nodeKeyVersionListDES: [FlutterStandardTypedData]? = nil\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> FeliCaRequestServiceV2ResponsePigeon? {\n    let statusFlag1 = pigeonVar_list[0] as! Int64\n    let statusFlag2 = pigeonVar_list[1] as! Int64\n    let encryptionIdentifier = pigeonVar_list[2] as! Int64\n    let nodeKeyVersionListAES: [FlutterStandardTypedData]? = nilOrValue(pigeonVar_list[3])\n    let nodeKeyVersionListDES: [FlutterStandardTypedData]? = nilOrValue(pigeonVar_list[4])\n\n    return FeliCaRequestServiceV2ResponsePigeon(\n      statusFlag1: statusFlag1,\n      statusFlag2: statusFlag2,\n      encryptionIdentifier: encryptionIdentifier,\n      nodeKeyVersionListAES: nodeKeyVersionListAES,\n      nodeKeyVersionListDES: nodeKeyVersionListDES\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      statusFlag1,\n      statusFlag2,\n      encryptionIdentifier,\n      nodeKeyVersionListAES,\n      nodeKeyVersionListDES,\n    ]\n  }\n  static func == (lhs: FeliCaRequestServiceV2ResponsePigeon, rhs: FeliCaRequestServiceV2ResponsePigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.statusFlag1, rhs.statusFlag1) && deepEqualsPigeon(lhs.statusFlag2, rhs.statusFlag2) && deepEqualsPigeon(lhs.encryptionIdentifier, rhs.encryptionIdentifier) && deepEqualsPigeon(lhs.nodeKeyVersionListAES, rhs.nodeKeyVersionListAES) && deepEqualsPigeon(lhs.nodeKeyVersionListDES, rhs.nodeKeyVersionListDES)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"FeliCaRequestServiceV2ResponsePigeon\")\n    deepHashPigeon(value: statusFlag1, hasher: &hasher)\n    deepHashPigeon(value: statusFlag2, hasher: &hasher)\n    deepHashPigeon(value: encryptionIdentifier, hasher: &hasher)\n    deepHashPigeon(value: nodeKeyVersionListAES, hasher: &hasher)\n    deepHashPigeon(value: nodeKeyVersionListDES, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct FeliCaRequestSpecificationVersionResponsePigeon: Hashable {\n  var statusFlag1: Int64\n  var statusFlag2: Int64\n  var basicVersion: FlutterStandardTypedData? = nil\n  var optionVersion: FlutterStandardTypedData? = nil\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> FeliCaRequestSpecificationVersionResponsePigeon? {\n    let statusFlag1 = pigeonVar_list[0] as! Int64\n    let statusFlag2 = pigeonVar_list[1] as! Int64\n    let basicVersion: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[2])\n    let optionVersion: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[3])\n\n    return FeliCaRequestSpecificationVersionResponsePigeon(\n      statusFlag1: statusFlag1,\n      statusFlag2: statusFlag2,\n      basicVersion: basicVersion,\n      optionVersion: optionVersion\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      statusFlag1,\n      statusFlag2,\n      basicVersion,\n      optionVersion,\n    ]\n  }\n  static func == (lhs: FeliCaRequestSpecificationVersionResponsePigeon, rhs: FeliCaRequestSpecificationVersionResponsePigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.statusFlag1, rhs.statusFlag1) && deepEqualsPigeon(lhs.statusFlag2, rhs.statusFlag2) && deepEqualsPigeon(lhs.basicVersion, rhs.basicVersion) && deepEqualsPigeon(lhs.optionVersion, rhs.optionVersion)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"FeliCaRequestSpecificationVersionResponsePigeon\")\n    deepHashPigeon(value: statusFlag1, hasher: &hasher)\n    deepHashPigeon(value: statusFlag2, hasher: &hasher)\n    deepHashPigeon(value: basicVersion, hasher: &hasher)\n    deepHashPigeon(value: optionVersion, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct FeliCaStatusFlagPigeon: Hashable {\n  var statusFlag1: Int64\n  var statusFlag2: Int64\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> FeliCaStatusFlagPigeon? {\n    let statusFlag1 = pigeonVar_list[0] as! Int64\n    let statusFlag2 = pigeonVar_list[1] as! Int64\n\n    return FeliCaStatusFlagPigeon(\n      statusFlag1: statusFlag1,\n      statusFlag2: statusFlag2\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      statusFlag1,\n      statusFlag2,\n    ]\n  }\n  static func == (lhs: FeliCaStatusFlagPigeon, rhs: FeliCaStatusFlagPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.statusFlag1, rhs.statusFlag1) && deepEqualsPigeon(lhs.statusFlag2, rhs.statusFlag2)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"FeliCaStatusFlagPigeon\")\n    deepHashPigeon(value: statusFlag1, hasher: &hasher)\n    deepHashPigeon(value: statusFlag2, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct Iso7816ApduPigeon: Hashable {\n  var instructionClass: Int64\n  var instructionCode: Int64\n  var p1Parameter: Int64\n  var p2Parameter: Int64\n  var data: FlutterStandardTypedData\n  var expectedResponseLength: Int64\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> Iso7816ApduPigeon? {\n    let instructionClass = pigeonVar_list[0] as! Int64\n    let instructionCode = pigeonVar_list[1] as! Int64\n    let p1Parameter = pigeonVar_list[2] as! Int64\n    let p2Parameter = pigeonVar_list[3] as! Int64\n    let data = pigeonVar_list[4] as! FlutterStandardTypedData\n    let expectedResponseLength = pigeonVar_list[5] as! Int64\n\n    return Iso7816ApduPigeon(\n      instructionClass: instructionClass,\n      instructionCode: instructionCode,\n      p1Parameter: p1Parameter,\n      p2Parameter: p2Parameter,\n      data: data,\n      expectedResponseLength: expectedResponseLength\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      instructionClass,\n      instructionCode,\n      p1Parameter,\n      p2Parameter,\n      data,\n      expectedResponseLength,\n    ]\n  }\n  static func == (lhs: Iso7816ApduPigeon, rhs: Iso7816ApduPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.instructionClass, rhs.instructionClass) && deepEqualsPigeon(lhs.instructionCode, rhs.instructionCode) && deepEqualsPigeon(lhs.p1Parameter, rhs.p1Parameter) && deepEqualsPigeon(lhs.p2Parameter, rhs.p2Parameter) && deepEqualsPigeon(lhs.data, rhs.data) && deepEqualsPigeon(lhs.expectedResponseLength, rhs.expectedResponseLength)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"Iso7816ApduPigeon\")\n    deepHashPigeon(value: instructionClass, hasher: &hasher)\n    deepHashPigeon(value: instructionCode, hasher: &hasher)\n    deepHashPigeon(value: p1Parameter, hasher: &hasher)\n    deepHashPigeon(value: p2Parameter, hasher: &hasher)\n    deepHashPigeon(value: data, hasher: &hasher)\n    deepHashPigeon(value: expectedResponseLength, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct Iso7816ResponseApduPigeon: Hashable {\n  var payload: FlutterStandardTypedData\n  var statusWord1: Int64\n  var statusWord2: Int64\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> Iso7816ResponseApduPigeon? {\n    let payload = pigeonVar_list[0] as! FlutterStandardTypedData\n    let statusWord1 = pigeonVar_list[1] as! Int64\n    let statusWord2 = pigeonVar_list[2] as! Int64\n\n    return Iso7816ResponseApduPigeon(\n      payload: payload,\n      statusWord1: statusWord1,\n      statusWord2: statusWord2\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      payload,\n      statusWord1,\n      statusWord2,\n    ]\n  }\n  static func == (lhs: Iso7816ResponseApduPigeon, rhs: Iso7816ResponseApduPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.payload, rhs.payload) && deepEqualsPigeon(lhs.statusWord1, rhs.statusWord1) && deepEqualsPigeon(lhs.statusWord2, rhs.statusWord2)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"Iso7816ResponseApduPigeon\")\n    deepHashPigeon(value: payload, hasher: &hasher)\n    deepHashPigeon(value: statusWord1, hasher: &hasher)\n    deepHashPigeon(value: statusWord2, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct Iso15693SystemInfoPigeon: Hashable {\n  var dataStorageFormatIdentifier: Int64\n  var applicationFamilyIdentifier: Int64\n  var blockSize: Int64\n  var totalBlocks: Int64\n  var icReference: Int64\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> Iso15693SystemInfoPigeon? {\n    let dataStorageFormatIdentifier = pigeonVar_list[0] as! Int64\n    let applicationFamilyIdentifier = pigeonVar_list[1] as! Int64\n    let blockSize = pigeonVar_list[2] as! Int64\n    let totalBlocks = pigeonVar_list[3] as! Int64\n    let icReference = pigeonVar_list[4] as! Int64\n\n    return Iso15693SystemInfoPigeon(\n      dataStorageFormatIdentifier: dataStorageFormatIdentifier,\n      applicationFamilyIdentifier: applicationFamilyIdentifier,\n      blockSize: blockSize,\n      totalBlocks: totalBlocks,\n      icReference: icReference\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      dataStorageFormatIdentifier,\n      applicationFamilyIdentifier,\n      blockSize,\n      totalBlocks,\n      icReference,\n    ]\n  }\n  static func == (lhs: Iso15693SystemInfoPigeon, rhs: Iso15693SystemInfoPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.dataStorageFormatIdentifier, rhs.dataStorageFormatIdentifier) && deepEqualsPigeon(lhs.applicationFamilyIdentifier, rhs.applicationFamilyIdentifier) && deepEqualsPigeon(lhs.blockSize, rhs.blockSize) && deepEqualsPigeon(lhs.totalBlocks, rhs.totalBlocks) && deepEqualsPigeon(lhs.icReference, rhs.icReference)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"Iso15693SystemInfoPigeon\")\n    deepHashPigeon(value: dataStorageFormatIdentifier, hasher: &hasher)\n    deepHashPigeon(value: applicationFamilyIdentifier, hasher: &hasher)\n    deepHashPigeon(value: blockSize, hasher: &hasher)\n    deepHashPigeon(value: totalBlocks, hasher: &hasher)\n    deepHashPigeon(value: icReference, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct NfcReaderSessionErrorPigeon: Hashable {\n  var code: NfcReaderErrorCodePigeon\n  var message: String\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> NfcReaderSessionErrorPigeon? {\n    let code = pigeonVar_list[0] as! NfcReaderErrorCodePigeon\n    let message = pigeonVar_list[1] as! String\n\n    return NfcReaderSessionErrorPigeon(\n      code: code,\n      message: message\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      code,\n      message,\n    ]\n  }\n  static func == (lhs: NfcReaderSessionErrorPigeon, rhs: NfcReaderSessionErrorPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.code, rhs.code) && deepEqualsPigeon(lhs.message, rhs.message)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"NfcReaderSessionErrorPigeon\")\n    deepHashPigeon(value: code, hasher: &hasher)\n    deepHashPigeon(value: message, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct NfcVasCommandConfigurationPigeon: Hashable {\n  var mode: NfcVasCommandConfigurationModePigeon\n  var passIdentifier: String\n  var url: String? = nil\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> NfcVasCommandConfigurationPigeon? {\n    let mode = pigeonVar_list[0] as! NfcVasCommandConfigurationModePigeon\n    let passIdentifier = pigeonVar_list[1] as! String\n    let url: String? = nilOrValue(pigeonVar_list[2])\n\n    return NfcVasCommandConfigurationPigeon(\n      mode: mode,\n      passIdentifier: passIdentifier,\n      url: url\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      mode,\n      passIdentifier,\n      url,\n    ]\n  }\n  static func == (lhs: NfcVasCommandConfigurationPigeon, rhs: NfcVasCommandConfigurationPigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.mode, rhs.mode) && deepEqualsPigeon(lhs.passIdentifier, rhs.passIdentifier) && deepEqualsPigeon(lhs.url, rhs.url)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"NfcVasCommandConfigurationPigeon\")\n    deepHashPigeon(value: mode, hasher: &hasher)\n    deepHashPigeon(value: passIdentifier, hasher: &hasher)\n    deepHashPigeon(value: url, hasher: &hasher)\n  }\n}\n\n/// Generated class from Pigeon that represents data sent in messages.\nstruct NfcVasResponsePigeon: Hashable {\n  var status: NfcVasResponseErrorCodePigeon\n  var vasData: FlutterStandardTypedData\n  var mobileToken: FlutterStandardTypedData\n\n\n  // swift-format-ignore: AlwaysUseLowerCamelCase\n  static func fromList(_ pigeonVar_list: [Any?]) -> NfcVasResponsePigeon? {\n    let status = pigeonVar_list[0] as! NfcVasResponseErrorCodePigeon\n    let vasData = pigeonVar_list[1] as! FlutterStandardTypedData\n    let mobileToken = pigeonVar_list[2] as! FlutterStandardTypedData\n\n    return NfcVasResponsePigeon(\n      status: status,\n      vasData: vasData,\n      mobileToken: mobileToken\n    )\n  }\n  func toList() -> [Any?] {\n    return [\n      status,\n      vasData,\n      mobileToken,\n    ]\n  }\n  static func == (lhs: NfcVasResponsePigeon, rhs: NfcVasResponsePigeon) -> Bool {\n    if Swift.type(of: lhs) != Swift.type(of: rhs) {\n      return false\n    }\n    return deepEqualsPigeon(lhs.status, rhs.status) && deepEqualsPigeon(lhs.vasData, rhs.vasData) && deepEqualsPigeon(lhs.mobileToken, rhs.mobileToken)\n  }\n\n  func hash(into hasher: inout Hasher) {\n    hasher.combine(\"NfcVasResponsePigeon\")\n    deepHashPigeon(value: status, hasher: &hasher)\n    deepHashPigeon(value: vasData, hasher: &hasher)\n    deepHashPigeon(value: mobileToken, hasher: &hasher)\n  }\n}\n\nprivate class PigeonPigeonCodecReader: FlutterStandardReader {\n  override func readValue(ofType type: UInt8) -> Any? {\n    switch type {\n    case 129:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return PollingOptionPigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 130:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return NdefStatusPigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 131:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return TypeNameFormatPigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 132:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return FeliCaPollingRequestCodePigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 133:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return FeliCaPollingTimeSlotPigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 134:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return MiFareFamilyPigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 135:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return Iso15693RequestFlagPigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 136:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return NfcVasCommandConfigurationModePigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 137:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return NfcReaderErrorCodePigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 138:\n      let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?)\n      if let enumResultAsInt = enumResultAsInt {\n        return NfcVasResponseErrorCodePigeon(rawValue: enumResultAsInt)\n      }\n      return nil\n    case 139:\n      return TagPigeon.fromList(self.readValue() as! [Any?])\n    case 140:\n      return NdefPigeon.fromList(self.readValue() as! [Any?])\n    case 141:\n      return FeliCaPigeon.fromList(self.readValue() as! [Any?])\n    case 142:\n      return Iso15693Pigeon.fromList(self.readValue() as! [Any?])\n    case 143:\n      return Iso7816Pigeon.fromList(self.readValue() as! [Any?])\n    case 144:\n      return MiFarePigeon.fromList(self.readValue() as! [Any?])\n    case 145:\n      return NdefQueryStatusPigeon.fromList(self.readValue() as! [Any?])\n    case 146:\n      return NdefMessagePigeon.fromList(self.readValue() as! [Any?])\n    case 147:\n      return NdefPayloadPigeon.fromList(self.readValue() as! [Any?])\n    case 148:\n      return FeliCaPollingResponsePigeon.fromList(self.readValue() as! [Any?])\n    case 149:\n      return FeliCaReadWithoutEncryptionResponsePigeon.fromList(self.readValue() as! [Any?])\n    case 150:\n      return FeliCaRequestServiceV2ResponsePigeon.fromList(self.readValue() as! [Any?])\n    case 151:\n      return FeliCaRequestSpecificationVersionResponsePigeon.fromList(self.readValue() as! [Any?])\n    case 152:\n      return FeliCaStatusFlagPigeon.fromList(self.readValue() as! [Any?])\n    case 153:\n      return Iso7816ApduPigeon.fromList(self.readValue() as! [Any?])\n    case 154:\n      return Iso7816ResponseApduPigeon.fromList(self.readValue() as! [Any?])\n    case 155:\n      return Iso15693SystemInfoPigeon.fromList(self.readValue() as! [Any?])\n    case 156:\n      return NfcReaderSessionErrorPigeon.fromList(self.readValue() as! [Any?])\n    case 157:\n      return NfcVasCommandConfigurationPigeon.fromList(self.readValue() as! [Any?])\n    case 158:\n      return NfcVasResponsePigeon.fromList(self.readValue() as! [Any?])\n    default:\n      return super.readValue(ofType: type)\n    }\n  }\n}\n\nprivate class PigeonPigeonCodecWriter: FlutterStandardWriter {\n  override func writeValue(_ value: Any) {\n    if let value = value as? PollingOptionPigeon {\n      super.writeByte(129)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? NdefStatusPigeon {\n      super.writeByte(130)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? TypeNameFormatPigeon {\n      super.writeByte(131)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? FeliCaPollingRequestCodePigeon {\n      super.writeByte(132)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? FeliCaPollingTimeSlotPigeon {\n      super.writeByte(133)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? MiFareFamilyPigeon {\n      super.writeByte(134)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? Iso15693RequestFlagPigeon {\n      super.writeByte(135)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? NfcVasCommandConfigurationModePigeon {\n      super.writeByte(136)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? NfcReaderErrorCodePigeon {\n      super.writeByte(137)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? NfcVasResponseErrorCodePigeon {\n      super.writeByte(138)\n      super.writeValue(value.rawValue)\n    } else if let value = value as? TagPigeon {\n      super.writeByte(139)\n      super.writeValue(value.toList())\n    } else if let value = value as? NdefPigeon {\n      super.writeByte(140)\n      super.writeValue(value.toList())\n    } else if let value = value as? FeliCaPigeon {\n      super.writeByte(141)\n      super.writeValue(value.toList())\n    } else if let value = value as? Iso15693Pigeon {\n      super.writeByte(142)\n      super.writeValue(value.toList())\n    } else if let value = value as? Iso7816Pigeon {\n      super.writeByte(143)\n      super.writeValue(value.toList())\n    } else if let value = value as? MiFarePigeon {\n      super.writeByte(144)\n      super.writeValue(value.toList())\n    } else if let value = value as? NdefQueryStatusPigeon {\n      super.writeByte(145)\n      super.writeValue(value.toList())\n    } else if let value = value as? NdefMessagePigeon {\n      super.writeByte(146)\n      super.writeValue(value.toList())\n    } else if let value = value as? NdefPayloadPigeon {\n      super.writeByte(147)\n      super.writeValue(value.toList())\n    } else if let value = value as? FeliCaPollingResponsePigeon {\n      super.writeByte(148)\n      super.writeValue(value.toList())\n    } else if let value = value as? FeliCaReadWithoutEncryptionResponsePigeon {\n      super.writeByte(149)\n      super.writeValue(value.toList())\n    } else if let value = value as? FeliCaRequestServiceV2ResponsePigeon {\n      super.writeByte(150)\n      super.writeValue(value.toList())\n    } else if let value = value as? FeliCaRequestSpecificationVersionResponsePigeon {\n      super.writeByte(151)\n      super.writeValue(value.toList())\n    } else if let value = value as? FeliCaStatusFlagPigeon {\n      super.writeByte(152)\n      super.writeValue(value.toList())\n    } else if let value = value as? Iso7816ApduPigeon {\n      super.writeByte(153)\n      super.writeValue(value.toList())\n    } else if let value = value as? Iso7816ResponseApduPigeon {\n      super.writeByte(154)\n      super.writeValue(value.toList())\n    } else if let value = value as? Iso15693SystemInfoPigeon {\n      super.writeByte(155)\n      super.writeValue(value.toList())\n    } else if let value = value as? NfcReaderSessionErrorPigeon {\n      super.writeByte(156)\n      super.writeValue(value.toList())\n    } else if let value = value as? NfcVasCommandConfigurationPigeon {\n      super.writeByte(157)\n      super.writeValue(value.toList())\n    } else if let value = value as? NfcVasResponsePigeon {\n      super.writeByte(158)\n      super.writeValue(value.toList())\n    } else {\n      super.writeValue(value)\n    }\n  }\n}\n\nprivate class PigeonPigeonCodecReaderWriter: FlutterStandardReaderWriter {\n  override func reader(with data: Data) -> FlutterStandardReader {\n    return PigeonPigeonCodecReader(data: data)\n  }\n\n  override func writer(with data: NSMutableData) -> FlutterStandardWriter {\n    return PigeonPigeonCodecWriter(data: data)\n  }\n}\n\nclass PigeonPigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable {\n  static let shared = PigeonPigeonCodec(readerWriter: PigeonPigeonCodecReaderWriter())\n}\n\n\n/// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift.\nprotocol FlutterApiPigeonProtocol {\n  func tagSessionDidBecomeActive(completion: @escaping (Result<Void, PigeonError>) -> Void)\n  func tagSessionDidDetect(tag tagArg: TagPigeon, completion: @escaping (Result<Void, PigeonError>) -> Void)\n  func tagSessionDidInvalidateWithError(error errorArg: NfcReaderSessionErrorPigeon, completion: @escaping (Result<Void, PigeonError>) -> Void)\n  func vasSessionDidBecomeActive(completion: @escaping (Result<Void, PigeonError>) -> Void)\n  func vasSessionDidReceive(responses responsesArg: [NfcVasResponsePigeon], completion: @escaping (Result<Void, PigeonError>) -> Void)\n  func vasSessionDidInvalidateWithError(error errorArg: NfcReaderSessionErrorPigeon, completion: @escaping (Result<Void, PigeonError>) -> Void)\n}\nclass FlutterApiPigeon: FlutterApiPigeonProtocol {\n  private let binaryMessenger: FlutterBinaryMessenger\n  private let messageChannelSuffix: String\n  init(binaryMessenger: FlutterBinaryMessenger, messageChannelSuffix: String = \"\") {\n    self.binaryMessenger = binaryMessenger\n    self.messageChannelSuffix = messageChannelSuffix.count > 0 ? \".\\(messageChannelSuffix)\" : \"\"\n  }\n  var codec: PigeonPigeonCodec {\n    return PigeonPigeonCodec.shared\n  }\n  func tagSessionDidBecomeActive(completion: @escaping (Result<Void, PigeonError>) -> Void) {\n    let channelName: String = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.tagSessionDidBecomeActive\\(messageChannelSuffix)\"\n    let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)\n    channel.sendMessage(nil) { response in\n      guard let listResponse = response as? [Any?] else {\n        completion(.failure(createConnectionError(withChannelName: channelName)))\n        return\n      }\n      if listResponse.count > 1 {\n        let code: String = listResponse[0] as! String\n        let message: String? = nilOrValue(listResponse[1])\n        let details: String? = nilOrValue(listResponse[2])\n        completion(.failure(PigeonError(code: code, message: message, details: details)))\n      } else {\n        completion(.success(()))\n      }\n    }\n  }\n  func tagSessionDidDetect(tag tagArg: TagPigeon, completion: @escaping (Result<Void, PigeonError>) -> Void) {\n    let channelName: String = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.tagSessionDidDetect\\(messageChannelSuffix)\"\n    let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)\n    channel.sendMessage([tagArg] as [Any?]) { response in\n      guard let listResponse = response as? [Any?] else {\n        completion(.failure(createConnectionError(withChannelName: channelName)))\n        return\n      }\n      if listResponse.count > 1 {\n        let code: String = listResponse[0] as! String\n        let message: String? = nilOrValue(listResponse[1])\n        let details: String? = nilOrValue(listResponse[2])\n        completion(.failure(PigeonError(code: code, message: message, details: details)))\n      } else {\n        completion(.success(()))\n      }\n    }\n  }\n  func tagSessionDidInvalidateWithError(error errorArg: NfcReaderSessionErrorPigeon, completion: @escaping (Result<Void, PigeonError>) -> Void) {\n    let channelName: String = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.tagSessionDidInvalidateWithError\\(messageChannelSuffix)\"\n    let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)\n    channel.sendMessage([errorArg] as [Any?]) { response in\n      guard let listResponse = response as? [Any?] else {\n        completion(.failure(createConnectionError(withChannelName: channelName)))\n        return\n      }\n      if listResponse.count > 1 {\n        let code: String = listResponse[0] as! String\n        let message: String? = nilOrValue(listResponse[1])\n        let details: String? = nilOrValue(listResponse[2])\n        completion(.failure(PigeonError(code: code, message: message, details: details)))\n      } else {\n        completion(.success(()))\n      }\n    }\n  }\n  func vasSessionDidBecomeActive(completion: @escaping (Result<Void, PigeonError>) -> Void) {\n    let channelName: String = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.vasSessionDidBecomeActive\\(messageChannelSuffix)\"\n    let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)\n    channel.sendMessage(nil) { response in\n      guard let listResponse = response as? [Any?] else {\n        completion(.failure(createConnectionError(withChannelName: channelName)))\n        return\n      }\n      if listResponse.count > 1 {\n        let code: String = listResponse[0] as! String\n        let message: String? = nilOrValue(listResponse[1])\n        let details: String? = nilOrValue(listResponse[2])\n        completion(.failure(PigeonError(code: code, message: message, details: details)))\n      } else {\n        completion(.success(()))\n      }\n    }\n  }\n  func vasSessionDidReceive(responses responsesArg: [NfcVasResponsePigeon], completion: @escaping (Result<Void, PigeonError>) -> Void) {\n    let channelName: String = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.vasSessionDidReceive\\(messageChannelSuffix)\"\n    let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)\n    channel.sendMessage([responsesArg] as [Any?]) { response in\n      guard let listResponse = response as? [Any?] else {\n        completion(.failure(createConnectionError(withChannelName: channelName)))\n        return\n      }\n      if listResponse.count > 1 {\n        let code: String = listResponse[0] as! String\n        let message: String? = nilOrValue(listResponse[1])\n        let details: String? = nilOrValue(listResponse[2])\n        completion(.failure(PigeonError(code: code, message: message, details: details)))\n      } else {\n        completion(.success(()))\n      }\n    }\n  }\n  func vasSessionDidInvalidateWithError(error errorArg: NfcReaderSessionErrorPigeon, completion: @escaping (Result<Void, PigeonError>) -> Void) {\n    let channelName: String = \"dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.vasSessionDidInvalidateWithError\\(messageChannelSuffix)\"\n    let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec)\n    channel.sendMessage([errorArg] as [Any?]) { response in\n      guard let listResponse = response as? [Any?] else {\n        completion(.failure(createConnectionError(withChannelName: channelName)))\n        return\n      }\n      if listResponse.count > 1 {\n        let code: String = listResponse[0] as! String\n        let message: String? = nilOrValue(listResponse[1])\n        let details: String? = nilOrValue(listResponse[2])\n        completion(.failure(PigeonError(code: code, message: message, details: details)))\n      } else {\n        completion(.success(()))\n      }\n    }\n  }\n}\n/// Generated protocol from Pigeon that represents a handler of messages from Flutter.\nprotocol HostApiPigeon {\n  func tagSessionReadingAvailable() throws -> Bool\n  func tagSessionBegin(pollingOptions: [PollingOptionPigeon], alertMessage: String?, invalidateAfterFirstRead: Bool) throws\n  func tagSessionInvalidate(alertMessage: String?, errorMessage: String?) throws\n  func tagSessionRestartPolling() throws\n  func tagSessionSetAlertMessage(alertMessage: String) throws\n  func vasSessionReadingAvailable() throws -> Bool\n  func vasSessionBegin(configurations: [NfcVasCommandConfigurationPigeon], alertMessage: String?) throws\n  func vasSessionInvalidate(alertMessage: String?, errorMessage: String?) throws\n  func vasSessionSetAlertMessage(alertMessage: String) throws\n  func ndefQueryNdefStatus(handle: String, completion: @escaping (Result<NdefQueryStatusPigeon, Error>) -> Void)\n  func ndefReadNdef(handle: String, completion: @escaping (Result<NdefMessagePigeon?, Error>) -> Void)\n  func ndefWriteNdef(handle: String, message: NdefMessagePigeon, completion: @escaping (Result<Void, Error>) -> Void)\n  func ndefWriteLock(handle: String, completion: @escaping (Result<Void, Error>) -> Void)\n  func feliCaPolling(handle: String, systemCode: FlutterStandardTypedData, requestCode: FeliCaPollingRequestCodePigeon, timeSlot: FeliCaPollingTimeSlotPigeon, completion: @escaping (Result<FeliCaPollingResponsePigeon, Error>) -> Void)\n  func feliCaRequestService(handle: String, nodeCodeList: [FlutterStandardTypedData], completion: @escaping (Result<[FlutterStandardTypedData], Error>) -> Void)\n  func feliCaRequestResponse(handle: String, completion: @escaping (Result<Int64, Error>) -> Void)\n  func feliCaReadWithoutEncryption(handle: String, serviceCodeList: [FlutterStandardTypedData], blockList: [FlutterStandardTypedData], completion: @escaping (Result<FeliCaReadWithoutEncryptionResponsePigeon, Error>) -> Void)\n  func feliCaWriteWithoutEncryption(handle: String, serviceCodeList: [FlutterStandardTypedData], blockList: [FlutterStandardTypedData], blockData: [FlutterStandardTypedData], completion: @escaping (Result<FeliCaStatusFlagPigeon, Error>) -> Void)\n  func feliCaRequestSystemCode(handle: String, completion: @escaping (Result<[FlutterStandardTypedData], Error>) -> Void)\n  func feliCaRequestServiceV2(handle: String, nodeCodeList: [FlutterStandardTypedData], completion: @escaping (Result<FeliCaRequestServiceV2ResponsePigeon, Error>) -> Void)\n  func feliCaRequestSpecificationVersion(handle: String, completion: @escaping (Result<FeliCaRequestSpecificationVersionResponsePigeon, Error>) -> Void)\n  func feliCaResetMode(handle: String, completion: @escaping (Result<FeliCaStatusFlagPigeon, Error>) -> Void)\n  func feliCaSendFeliCaCommand(handle: String, commandPacket: FlutterStandardTypedData, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void)\n  func miFareSendMiFareCommand(handle: String, commandPacket: FlutterStandardTypedData, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void)\n  func miFareSendMiFareISO7816Command(handle: String, apdu: Iso7816ApduPigeon, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void)\n  func miFareSendMiFareISO7816CommandRaw(handle: String, data: FlutterStandardTypedData, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void)\n  func iso7816SendCommand(handle: String, apdu: Iso7816ApduPigeon, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void)\n  func iso7816SendCommandRaw(handle: String, data: FlutterStandardTypedData, completion: @escaping (Result<Iso7816ResponseApduPigeon, Error>) -> Void)\n  func iso15693StayQuiet(handle: String, completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693ReadSingleBlock(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void)\n  func iso15693WriteSingleBlock(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, dataBlock: FlutterStandardTypedData, completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693LockBlock(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693ReadMultipleBlocks(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, numberOfBlocks: Int64, completion: @escaping (Result<[FlutterStandardTypedData], Error>) -> Void)\n  func iso15693WriteMultipleBlocks(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, numberOfBlocks: Int64, dataBlocks: [FlutterStandardTypedData], completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693Select(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693ResetToReady(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693WriteAfi(handle: String, requestFlags: [Iso15693RequestFlagPigeon], afi: Int64, completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693LockAfi(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693WriteDsfId(handle: String, requestFlags: [Iso15693RequestFlagPigeon], dsfId: Int64, completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693LockDsfId(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Void, Error>) -> Void)\n  func iso15693GetSystemInfo(handle: String, requestFlags: [Iso15693RequestFlagPigeon], completion: @escaping (Result<Iso15693SystemInfoPigeon, Error>) -> Void)\n  func iso15693GetMultipleBlockSecurityStatus(handle: String, requestFlags: [Iso15693RequestFlagPigeon], blockNumber: Int64, numberOfBlocks: Int64, completion: @escaping (Result<[Int64], Error>) -> Void)\n  func iso15693CustomCommand(handle: String, requestFlags: [Iso15693RequestFlagPigeon], customCommandCode: Int64, customRequestParameters: FlutterStandardTypedData, completion: @escaping (Result<FlutterStandardTypedData, Error>) -> Void)\n}\n\n/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`.\nclass HostApiPigeonSetup {\n  static var codec: FlutterStandardMessageCodec { PigeonPigeonCodec.shared }\n  /// Sets up an instance of `HostApiPigeon` to handle messages through the `binaryMessenger`.\n  static func setUp(binaryMessenger: FlutterBinaryMessenger, api: HostApiPigeon?, messageChannelSuffix: String = \"\") {\n    let channelSuffix = messageChannelSuffix.count > 0 ? \".\\(messageChannelSuffix)\" : \"\"\n    let tagSessionReadingAvailableChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionReadingAvailable\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      tagSessionReadingAvailableChannel.setMessageHandler { _, reply in\n        do {\n          let result = try api.tagSessionReadingAvailable()\n          reply(wrapResult(result))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      tagSessionReadingAvailableChannel.setMessageHandler(nil)\n    }\n    let tagSessionBeginChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionBegin\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      tagSessionBeginChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let pollingOptionsArg = args[0] as! [PollingOptionPigeon]\n        let alertMessageArg: String? = nilOrValue(args[1])\n        let invalidateAfterFirstReadArg = args[2] as! Bool\n        do {\n          try api.tagSessionBegin(pollingOptions: pollingOptionsArg, alertMessage: alertMessageArg, invalidateAfterFirstRead: invalidateAfterFirstReadArg)\n          reply(wrapResult(nil))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      tagSessionBeginChannel.setMessageHandler(nil)\n    }\n    let tagSessionInvalidateChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionInvalidate\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      tagSessionInvalidateChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let alertMessageArg: String? = nilOrValue(args[0])\n        let errorMessageArg: String? = nilOrValue(args[1])\n        do {\n          try api.tagSessionInvalidate(alertMessage: alertMessageArg, errorMessage: errorMessageArg)\n          reply(wrapResult(nil))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      tagSessionInvalidateChannel.setMessageHandler(nil)\n    }\n    let tagSessionRestartPollingChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionRestartPolling\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      tagSessionRestartPollingChannel.setMessageHandler { _, reply in\n        do {\n          try api.tagSessionRestartPolling()\n          reply(wrapResult(nil))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      tagSessionRestartPollingChannel.setMessageHandler(nil)\n    }\n    let tagSessionSetAlertMessageChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionSetAlertMessage\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      tagSessionSetAlertMessageChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let alertMessageArg = args[0] as! String\n        do {\n          try api.tagSessionSetAlertMessage(alertMessage: alertMessageArg)\n          reply(wrapResult(nil))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      tagSessionSetAlertMessageChannel.setMessageHandler(nil)\n    }\n    let vasSessionReadingAvailableChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionReadingAvailable\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      vasSessionReadingAvailableChannel.setMessageHandler { _, reply in\n        do {\n          let result = try api.vasSessionReadingAvailable()\n          reply(wrapResult(result))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      vasSessionReadingAvailableChannel.setMessageHandler(nil)\n    }\n    let vasSessionBeginChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionBegin\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      vasSessionBeginChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let configurationsArg = args[0] as! [NfcVasCommandConfigurationPigeon]\n        let alertMessageArg: String? = nilOrValue(args[1])\n        do {\n          try api.vasSessionBegin(configurations: configurationsArg, alertMessage: alertMessageArg)\n          reply(wrapResult(nil))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      vasSessionBeginChannel.setMessageHandler(nil)\n    }\n    let vasSessionInvalidateChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionInvalidate\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      vasSessionInvalidateChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let alertMessageArg: String? = nilOrValue(args[0])\n        let errorMessageArg: String? = nilOrValue(args[1])\n        do {\n          try api.vasSessionInvalidate(alertMessage: alertMessageArg, errorMessage: errorMessageArg)\n          reply(wrapResult(nil))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      vasSessionInvalidateChannel.setMessageHandler(nil)\n    }\n    let vasSessionSetAlertMessageChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionSetAlertMessage\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      vasSessionSetAlertMessageChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let alertMessageArg = args[0] as! String\n        do {\n          try api.vasSessionSetAlertMessage(alertMessage: alertMessageArg)\n          reply(wrapResult(nil))\n        } catch {\n          reply(wrapError(error))\n        }\n      }\n    } else {\n      vasSessionSetAlertMessageChannel.setMessageHandler(nil)\n    }\n    let ndefQueryNdefStatusChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefQueryNdefStatus\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      ndefQueryNdefStatusChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.ndefQueryNdefStatus(handle: handleArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      ndefQueryNdefStatusChannel.setMessageHandler(nil)\n    }\n    let ndefReadNdefChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefReadNdef\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      ndefReadNdefChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.ndefReadNdef(handle: handleArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      ndefReadNdefChannel.setMessageHandler(nil)\n    }\n    let ndefWriteNdefChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefWriteNdef\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      ndefWriteNdefChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let messageArg = args[1] as! NdefMessagePigeon\n        api.ndefWriteNdef(handle: handleArg, message: messageArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      ndefWriteNdefChannel.setMessageHandler(nil)\n    }\n    let ndefWriteLockChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefWriteLock\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      ndefWriteLockChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.ndefWriteLock(handle: handleArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      ndefWriteLockChannel.setMessageHandler(nil)\n    }\n    let feliCaPollingChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaPolling\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaPollingChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let systemCodeArg = args[1] as! FlutterStandardTypedData\n        let requestCodeArg = args[2] as! FeliCaPollingRequestCodePigeon\n        let timeSlotArg = args[3] as! FeliCaPollingTimeSlotPigeon\n        api.feliCaPolling(handle: handleArg, systemCode: systemCodeArg, requestCode: requestCodeArg, timeSlot: timeSlotArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaPollingChannel.setMessageHandler(nil)\n    }\n    let feliCaRequestServiceChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestService\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaRequestServiceChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let nodeCodeListArg = args[1] as! [FlutterStandardTypedData]\n        api.feliCaRequestService(handle: handleArg, nodeCodeList: nodeCodeListArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaRequestServiceChannel.setMessageHandler(nil)\n    }\n    let feliCaRequestResponseChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestResponse\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaRequestResponseChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.feliCaRequestResponse(handle: handleArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaRequestResponseChannel.setMessageHandler(nil)\n    }\n    let feliCaReadWithoutEncryptionChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaReadWithoutEncryption\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaReadWithoutEncryptionChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let serviceCodeListArg = args[1] as! [FlutterStandardTypedData]\n        let blockListArg = args[2] as! [FlutterStandardTypedData]\n        api.feliCaReadWithoutEncryption(handle: handleArg, serviceCodeList: serviceCodeListArg, blockList: blockListArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaReadWithoutEncryptionChannel.setMessageHandler(nil)\n    }\n    let feliCaWriteWithoutEncryptionChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaWriteWithoutEncryption\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaWriteWithoutEncryptionChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let serviceCodeListArg = args[1] as! [FlutterStandardTypedData]\n        let blockListArg = args[2] as! [FlutterStandardTypedData]\n        let blockDataArg = args[3] as! [FlutterStandardTypedData]\n        api.feliCaWriteWithoutEncryption(handle: handleArg, serviceCodeList: serviceCodeListArg, blockList: blockListArg, blockData: blockDataArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaWriteWithoutEncryptionChannel.setMessageHandler(nil)\n    }\n    let feliCaRequestSystemCodeChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestSystemCode\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaRequestSystemCodeChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.feliCaRequestSystemCode(handle: handleArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaRequestSystemCodeChannel.setMessageHandler(nil)\n    }\n    let feliCaRequestServiceV2Channel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestServiceV2\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaRequestServiceV2Channel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let nodeCodeListArg = args[1] as! [FlutterStandardTypedData]\n        api.feliCaRequestServiceV2(handle: handleArg, nodeCodeList: nodeCodeListArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaRequestServiceV2Channel.setMessageHandler(nil)\n    }\n    let feliCaRequestSpecificationVersionChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestSpecificationVersion\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaRequestSpecificationVersionChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.feliCaRequestSpecificationVersion(handle: handleArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaRequestSpecificationVersionChannel.setMessageHandler(nil)\n    }\n    let feliCaResetModeChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaResetMode\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaResetModeChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.feliCaResetMode(handle: handleArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaResetModeChannel.setMessageHandler(nil)\n    }\n    let feliCaSendFeliCaCommandChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaSendFeliCaCommand\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      feliCaSendFeliCaCommandChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let commandPacketArg = args[1] as! FlutterStandardTypedData\n        api.feliCaSendFeliCaCommand(handle: handleArg, commandPacket: commandPacketArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      feliCaSendFeliCaCommandChannel.setMessageHandler(nil)\n    }\n    let miFareSendMiFareCommandChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.miFareSendMiFareCommand\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      miFareSendMiFareCommandChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let commandPacketArg = args[1] as! FlutterStandardTypedData\n        api.miFareSendMiFareCommand(handle: handleArg, commandPacket: commandPacketArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      miFareSendMiFareCommandChannel.setMessageHandler(nil)\n    }\n    let miFareSendMiFareISO7816CommandChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.miFareSendMiFareISO7816Command\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      miFareSendMiFareISO7816CommandChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let apduArg = args[1] as! Iso7816ApduPigeon\n        api.miFareSendMiFareISO7816Command(handle: handleArg, apdu: apduArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      miFareSendMiFareISO7816CommandChannel.setMessageHandler(nil)\n    }\n    let miFareSendMiFareISO7816CommandRawChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.miFareSendMiFareISO7816CommandRaw\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      miFareSendMiFareISO7816CommandRawChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let dataArg = args[1] as! FlutterStandardTypedData\n        api.miFareSendMiFareISO7816CommandRaw(handle: handleArg, data: dataArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      miFareSendMiFareISO7816CommandRawChannel.setMessageHandler(nil)\n    }\n    let iso7816SendCommandChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso7816SendCommand\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso7816SendCommandChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let apduArg = args[1] as! Iso7816ApduPigeon\n        api.iso7816SendCommand(handle: handleArg, apdu: apduArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso7816SendCommandChannel.setMessageHandler(nil)\n    }\n    let iso7816SendCommandRawChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso7816SendCommandRaw\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso7816SendCommandRawChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let dataArg = args[1] as! FlutterStandardTypedData\n        api.iso7816SendCommandRaw(handle: handleArg, data: dataArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso7816SendCommandRawChannel.setMessageHandler(nil)\n    }\n    let iso15693StayQuietChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693StayQuiet\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693StayQuietChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        api.iso15693StayQuiet(handle: handleArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693StayQuietChannel.setMessageHandler(nil)\n    }\n    let iso15693ReadSingleBlockChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693ReadSingleBlock\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693ReadSingleBlockChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let blockNumberArg = args[2] as! Int64\n        api.iso15693ReadSingleBlock(handle: handleArg, requestFlags: requestFlagsArg, blockNumber: blockNumberArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693ReadSingleBlockChannel.setMessageHandler(nil)\n    }\n    let iso15693WriteSingleBlockChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteSingleBlock\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693WriteSingleBlockChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let blockNumberArg = args[2] as! Int64\n        let dataBlockArg = args[3] as! FlutterStandardTypedData\n        api.iso15693WriteSingleBlock(handle: handleArg, requestFlags: requestFlagsArg, blockNumber: blockNumberArg, dataBlock: dataBlockArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693WriteSingleBlockChannel.setMessageHandler(nil)\n    }\n    let iso15693LockBlockChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693LockBlock\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693LockBlockChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let blockNumberArg = args[2] as! Int64\n        api.iso15693LockBlock(handle: handleArg, requestFlags: requestFlagsArg, blockNumber: blockNumberArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693LockBlockChannel.setMessageHandler(nil)\n    }\n    let iso15693ReadMultipleBlocksChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693ReadMultipleBlocks\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693ReadMultipleBlocksChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let blockNumberArg = args[2] as! Int64\n        let numberOfBlocksArg = args[3] as! Int64\n        api.iso15693ReadMultipleBlocks(handle: handleArg, requestFlags: requestFlagsArg, blockNumber: blockNumberArg, numberOfBlocks: numberOfBlocksArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693ReadMultipleBlocksChannel.setMessageHandler(nil)\n    }\n    let iso15693WriteMultipleBlocksChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteMultipleBlocks\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693WriteMultipleBlocksChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let blockNumberArg = args[2] as! Int64\n        let numberOfBlocksArg = args[3] as! Int64\n        let dataBlocksArg = args[4] as! [FlutterStandardTypedData]\n        api.iso15693WriteMultipleBlocks(handle: handleArg, requestFlags: requestFlagsArg, blockNumber: blockNumberArg, numberOfBlocks: numberOfBlocksArg, dataBlocks: dataBlocksArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693WriteMultipleBlocksChannel.setMessageHandler(nil)\n    }\n    let iso15693SelectChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693Select\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693SelectChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        api.iso15693Select(handle: handleArg, requestFlags: requestFlagsArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693SelectChannel.setMessageHandler(nil)\n    }\n    let iso15693ResetToReadyChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693ResetToReady\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693ResetToReadyChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        api.iso15693ResetToReady(handle: handleArg, requestFlags: requestFlagsArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693ResetToReadyChannel.setMessageHandler(nil)\n    }\n    let iso15693WriteAfiChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteAfi\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693WriteAfiChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let afiArg = args[2] as! Int64\n        api.iso15693WriteAfi(handle: handleArg, requestFlags: requestFlagsArg, afi: afiArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693WriteAfiChannel.setMessageHandler(nil)\n    }\n    let iso15693LockAfiChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693LockAfi\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693LockAfiChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        api.iso15693LockAfi(handle: handleArg, requestFlags: requestFlagsArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693LockAfiChannel.setMessageHandler(nil)\n    }\n    let iso15693WriteDsfIdChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteDsfId\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693WriteDsfIdChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let dsfIdArg = args[2] as! Int64\n        api.iso15693WriteDsfId(handle: handleArg, requestFlags: requestFlagsArg, dsfId: dsfIdArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693WriteDsfIdChannel.setMessageHandler(nil)\n    }\n    let iso15693LockDsfIdChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693LockDsfId\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693LockDsfIdChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        api.iso15693LockDsfId(handle: handleArg, requestFlags: requestFlagsArg) { result in\n          switch result {\n          case .success:\n            reply(wrapResult(nil))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693LockDsfIdChannel.setMessageHandler(nil)\n    }\n    let iso15693GetSystemInfoChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693GetSystemInfo\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693GetSystemInfoChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        api.iso15693GetSystemInfo(handle: handleArg, requestFlags: requestFlagsArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693GetSystemInfoChannel.setMessageHandler(nil)\n    }\n    let iso15693GetMultipleBlockSecurityStatusChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693GetMultipleBlockSecurityStatus\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693GetMultipleBlockSecurityStatusChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let blockNumberArg = args[2] as! Int64\n        let numberOfBlocksArg = args[3] as! Int64\n        api.iso15693GetMultipleBlockSecurityStatus(handle: handleArg, requestFlags: requestFlagsArg, blockNumber: blockNumberArg, numberOfBlocks: numberOfBlocksArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693GetMultipleBlockSecurityStatusChannel.setMessageHandler(nil)\n    }\n    let iso15693CustomCommandChannel = FlutterBasicMessageChannel(name: \"dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693CustomCommand\\(channelSuffix)\", binaryMessenger: binaryMessenger, codec: codec)\n    if let api = api {\n      iso15693CustomCommandChannel.setMessageHandler { message, reply in\n        let args = message as! [Any?]\n        let handleArg = args[0] as! String\n        let requestFlagsArg = args[1] as! [Iso15693RequestFlagPigeon]\n        let customCommandCodeArg = args[2] as! Int64\n        let customRequestParametersArg = args[3] as! FlutterStandardTypedData\n        api.iso15693CustomCommand(handle: handleArg, requestFlags: requestFlagsArg, customCommandCode: customCommandCodeArg, customRequestParameters: customRequestParametersArg) { result in\n          switch result {\n          case .success(let res):\n            reply(wrapResult(res))\n          case .failure(let error):\n            reply(wrapError(error))\n          }\n        }\n      }\n    } else {\n      iso15693CustomCommandChannel.setMessageHandler(nil)\n    }\n  }\n}\n"
  },
  {
    "path": "ios/nfc_manager.podspec",
    "content": "#\n# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.\n# Run `pod lib lint nfc_manager.podspec` to validate before publishing.\n#\nPod::Spec.new do |s|\n  s.name             = 'nfc_manager'\n  s.version          = '0.0.1'\n  s.summary          = 'Flutter NFC Manager'\n  s.description      = <<-DESC\nA Flutter plugin providing access to NFC features on iOS.\n                       DESC\n  s.homepage         = 'https://github.com/okadan/flutter-nfc-manager'\n  s.license          = { :file => '../LICENSE' }\n  s.author           = { 'okadan' => '46291090+okadan@users.noreply.github.com' }\n  s.source           = { :path => '.' }\n  s.source_files = 'nfc_manager/Sources/nfc_manager/**/*'\n  s.dependency 'Flutter'\n  s.platform = :ios, '13.0'\n\n  # Flutter.framework does not contain a i386 slice.\n  s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }\n  s.swift_version = '5.0'\nend\n"
  },
  {
    "path": "lib/ndef_record.dart",
    "content": "export 'package:ndef_record/ndef_record.dart';\n"
  },
  {
    "path": "lib/nfc_manager.dart",
    "content": "export 'src/nfc_manager/nfc_manager.dart';\n"
  },
  {
    "path": "lib/nfc_manager_android.dart",
    "content": "export 'src/nfc_manager_android/nfc_manager.dart';\nexport 'src/nfc_manager_android/tags/iso_dep.dart';\nexport 'src/nfc_manager_android/tags/mifare_classic.dart';\nexport 'src/nfc_manager_android/tags/mifare_ultralight.dart';\nexport 'src/nfc_manager_android/tags/ndef.dart';\nexport 'src/nfc_manager_android/tags/ndef_formatable.dart';\nexport 'src/nfc_manager_android/tags/nfc_a.dart';\nexport 'src/nfc_manager_android/tags/nfc_b.dart';\nexport 'src/nfc_manager_android/tags/nfc_barcode.dart';\nexport 'src/nfc_manager_android/tags/nfc_f.dart';\nexport 'src/nfc_manager_android/tags/nfc_v.dart';\nexport 'src/nfc_manager_android/tags/tag.dart';\n"
  },
  {
    "path": "lib/nfc_manager_ios.dart",
    "content": "export 'src/nfc_manager_ios/nfc_manager.dart';\nexport 'src/nfc_manager_ios/tags/felica.dart';\nexport 'src/nfc_manager_ios/tags/iso15693.dart';\nexport 'src/nfc_manager_ios/tags/iso7816.dart';\nexport 'src/nfc_manager_ios/tags/mifare.dart';\nexport 'src/nfc_manager_ios/tags/ndef.dart';\n"
  },
  {
    "path": "lib/src/nfc_manager/nfc_manager.dart",
    "content": "import 'package:flutter/foundation.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/nfc_manager_platform.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/nfc_manager_platform.dart';\n\n/// Provides access to the NFC session.\nabstract class NfcManager {\n  static NfcManager? _instance;\n\n  /// The default instance of [NfcManager] to use.\n  static NfcManager get instance {\n    return _instance ??= switch (defaultTargetPlatform) {\n      TargetPlatform.android => NfcManagerAndroidPlatform(),\n      TargetPlatform.iOS => NfcManagerIosPlatform(),\n      _ => throw UnsupportedError(\n        '${defaultTargetPlatform.name} is not supported',\n      ),\n    };\n  }\n\n  /// Whether the NFC session is available.\n  @Deprecated('Use `checkAvailability` instead')\n  Future<bool> isAvailable();\n\n  /// Checks the availability of NFC on the current device.\n  Future<NfcAvailability> checkAvailability();\n\n  /// Starts the NFC session and register callbacks.\n  ///\n  /// [pollingOptions] is used to specify which tag types to discover.\n  ///\n  /// [onDiscovered] is called when the session discovers the tag.\n  ///\n  /// (iOS only) [alertMessageIos] is used to display the message on the popup.\n  ///\n  /// (iOS only) [invalidateAfterFirstReadIos] is used to specify whether the session should be invalidated after the\n  /// first tag discovery. Default is true.\n  ///\n  /// (iOS only) [onSessionErrorIos] is called when the session is invalidated for some reason after the session has started.\n  ///\n  /// (Android only) [noPlatformSoundsAndroid] is used to disable platform sounds at the tag discovery. Default is false.\n  Future<void> startSession({\n    required Set<NfcPollingOption> pollingOptions,\n    required void Function(NfcTag tag) onDiscovered,\n    String? alertMessageIos,\n    bool invalidateAfterFirstReadIos = true,\n    void Function(NfcReaderSessionErrorIos)? onSessionErrorIos,\n    bool noPlatformSoundsAndroid = false,\n  });\n\n  /// Stops the NFC session and unregister callbacks.\n  ///\n  /// (iOS only) [alertMessageIos] and [errorMessageIos] are used to display success or error message on the popup.\n  /// If both are used, [errorMessageIos] is used.\n  Future<void> stopSession({String? alertMessageIos, String? errorMessageIos});\n}\n\n/// Represents the tag discovered by the NFC session.\n///\n/// When the session discovers a tag, [onDiscovered] callback is called with an instance of this class. Use this\n/// generic instance to instantiate a specific tag class and perform tag-specific operations.\nfinal class NfcTag {\n  /// Constructs an instance of this class for given data for testing.\n  ///\n  /// The instances constructed by this way are not valid in the production environment. Only instances obtained\n  /// from the `onDiscovered` callback are valid.\n  @visibleForTesting\n  const NfcTag({required this.data});\n\n  /// The raw data obtained from the native platform.\n  ///\n  /// You don't need to use this property directly. Instead, access it by instantiating a specific-tag classes.\n  @protected\n  final Object data;\n}\n\n/// Represents the availability of NFC on the current device.\nenum NfcAvailability {\n  /// NFC is suppported and currently enabled.\n  enabled,\n\n  /// NFC is supported but currently disabled.\n  disabled,\n\n  /// NFC is not supported.\n  unsupported,\n}\n\n/// Represents the tag types which the NFC session will discover.\nenum NfcPollingOption {\n  /// The session will discover ISO 14443 tags.\n  iso14443,\n\n  /// The session will discover ISO 15693 tags.\n  iso15693,\n\n  /// The session will discover ISO 18092 tags.\n  iso18092,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/nfc_manager.dart",
    "content": "import 'dart:async';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\n\n/// Provides access to the NFC session for Android.\nfinal class NfcManagerAndroid {\n  NfcManagerAndroid._() {\n    _FlutterApiAndroid(this);\n  }\n\n  /// The default instance of [NfcManagerAndroid] to use.\n  static NfcManagerAndroid get instance => _instance ??= NfcManagerAndroid._();\n  static NfcManagerAndroid? _instance;\n\n  // DOC:\n  Stream<NfcAdapterStateAndroid> get onStateChanged => _onStateChanged.stream;\n  final _onStateChanged = StreamController<NfcAdapterStateAndroid>.broadcast();\n\n  void Function(NfcTag)? _onTagDiscovered;\n\n  // DOC:\n  Future<bool> isEnabled() {\n    return hostApi.nfcAdapterIsEnabled();\n  }\n\n  // DOC:\n  Future<bool> isSecureNfcEnabled() {\n    return hostApi.nfcAdapterIsSecureNfcEnabled();\n  }\n\n  // DOC:\n  Future<bool> isSecureNfcSupported() {\n    return hostApi.nfcAdapterIsSecureNfcSupported();\n  }\n\n  // DOC:\n  Future<void> enableReaderMode({\n    required Set<NfcReaderFlagAndroid> flags,\n    required void Function(NfcTag) onTagDiscovered,\n  }) {\n    _onTagDiscovered = onTagDiscovered;\n    return hostApi.nfcAdapterEnableReaderMode(\n      flags: flags.map((e) => ReaderFlagPigeon.values.byName(e.name)).toList(),\n    );\n  }\n\n  // DOC:\n  Future<void> disableReaderMode() {\n    _onTagDiscovered = null;\n    return hostApi.nfcAdapterDisableReaderMode();\n  }\n}\n\nfinal class _FlutterApiAndroid implements FlutterApiPigeon {\n  _FlutterApiAndroid(this._instance) {\n    FlutterApiPigeon.setUp(this);\n  }\n\n  final NfcManagerAndroid _instance;\n\n  @override\n  void onAdapterStateChanged(AdapterStatePigeon state) {\n    _instance._onStateChanged.sink.add(\n      NfcAdapterStateAndroid.values.byName(state.name),\n    );\n  }\n\n  @override\n  void onTagDiscovered(TagPigeon tag) {\n    // ignore: invalid_use_of_visible_for_testing_member\n    _instance._onTagDiscovered?.call(NfcTag(data: tag));\n  }\n}\n\n// DOC:\nenum NfcReaderFlagAndroid {\n  // DOC:\n  nfcA,\n\n  // DOC:\n  nfcB,\n\n  // DOC:\n  nfcBarcode,\n\n  // DOC:\n  nfcF,\n\n  // DOC:\n  nfcV,\n\n  // DOC:\n  noPlatformSounds,\n\n  // DOC:\n  skipNdefCheck,\n}\n\n// DOC:\nenum NfcAdapterStateAndroid {\n  // DOC:\n  off,\n\n  // DOC:\n  turningOn,\n\n  // DOC:\n  on,\n\n  // DOC:\n  turningOff,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/nfc_manager_platform.dart",
    "content": "import 'package:flutter/services.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/nfc_manager.dart';\n\nfinal class NfcManagerAndroidPlatform implements NfcManager {\n  @override\n  Future<bool> isAvailable() {\n    return NfcManagerAndroid.instance.isEnabled();\n  }\n\n  @override\n  Future<NfcAvailability> checkAvailability() async {\n    try {\n      final isAvailable = await NfcManagerAndroid.instance.isEnabled();\n      return isAvailable ? NfcAvailability.enabled : NfcAvailability.disabled;\n    } on PlatformException {\n      return NfcAvailability.unsupported;\n    }\n  }\n\n  @override\n  Future<void> startSession({\n    required Set<NfcPollingOption> pollingOptions,\n    required void Function(NfcTag tag) onDiscovered,\n    String? alertMessageIos,\n    bool invalidateAfterFirstReadIos = true,\n    void Function(NfcReaderSessionErrorIos)? onSessionErrorIos,\n    bool noPlatformSoundsAndroid = false,\n  }) {\n    return NfcManagerAndroid.instance.enableReaderMode(\n      flags: {\n        if (pollingOptions.contains(NfcPollingOption.iso14443)) ...{\n          NfcReaderFlagAndroid.nfcA,\n          NfcReaderFlagAndroid.nfcB,\n        },\n        if (pollingOptions.contains(NfcPollingOption.iso15693)) ...{\n          NfcReaderFlagAndroid.nfcV,\n        },\n        if (pollingOptions.contains(NfcPollingOption.iso18092)) ...{\n          NfcReaderFlagAndroid.nfcF,\n        },\n        if (noPlatformSoundsAndroid) ...{NfcReaderFlagAndroid.noPlatformSounds},\n      },\n      onTagDiscovered: onDiscovered,\n    );\n  }\n\n  @override\n  Future<void> stopSession({String? alertMessageIos, String? errorMessageIos}) {\n    return NfcManagerAndroid.instance.disableReaderMode();\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/pigeon.dart",
    "content": "import 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\n\nfinal hostApi = HostApiPigeon();\n"
  },
  {
    "path": "lib/src/nfc_manager_android/pigeon.g.dart",
    "content": "// Autogenerated from Pigeon (v26.3.3), do not edit directly.\n// See also: https://pub.dev/packages/pigeon\n// ignore_for_file: unused_import, unused_shown_name\n// ignore_for_file: type=lint\n\nimport 'dart:async';\nimport 'dart:typed_data' show Float64List, Int32List, Int64List;\n\nimport 'package:flutter/services.dart';\nimport 'package:meta/meta.dart' show immutable, protected, visibleForTesting;\n\nObject? _extractReplyValueOrThrow(\n  List<Object?>? replyList,\n  String channelName, {\n  required bool isNullValid,\n}) {\n  if (replyList == null) {\n    throw PlatformException(\n      code: 'channel-error',\n      message: 'Unable to establish connection on channel: \"$channelName\".',\n    );\n  } else if (replyList.length > 1) {\n    throw PlatformException(\n      code: replyList[0]! as String,\n      message: replyList[1] as String?,\n      details: replyList[2],\n    );\n  } else if (!isNullValid && (replyList.isNotEmpty && replyList[0] == null)) {\n    throw PlatformException(\n      code: 'null-error',\n      message: 'Host platform returned null value for non-null return value.',\n    );\n  }\n  return replyList.firstOrNull;\n}\n\nList<Object?> wrapResponse({\n  Object? result,\n  PlatformException? error,\n  bool empty = false,\n}) {\n  if (empty) {\n    return <Object?>[];\n  }\n  if (error == null) {\n    return <Object?>[result];\n  }\n  return <Object?>[error.code, error.message, error.details];\n}\n\nbool _deepEquals(Object? a, Object? b) {\n  if (identical(a, b)) {\n    return true;\n  }\n  if (a is double && b is double) {\n    if (a.isNaN && b.isNaN) {\n      return true;\n    }\n    return a == b;\n  }\n  if (a is List && b is List) {\n    return a.length == b.length &&\n        a.indexed.every(\n          ((int, dynamic) item) => _deepEquals(item.$2, b[item.$1]),\n        );\n  }\n  if (a is Map && b is Map) {\n    if (a.length != b.length) {\n      return false;\n    }\n    for (final MapEntry<Object?, Object?> entryA in a.entries) {\n      bool found = false;\n      for (final MapEntry<Object?, Object?> entryB in b.entries) {\n        if (_deepEquals(entryA.key, entryB.key)) {\n          if (_deepEquals(entryA.value, entryB.value)) {\n            found = true;\n            break;\n          } else {\n            return false;\n          }\n        }\n      }\n      if (!found) {\n        return false;\n      }\n    }\n    return true;\n  }\n  return a == b;\n}\n\nint _deepHash(Object? value) {\n  if (value is List) {\n    return Object.hashAll(value.map(_deepHash));\n  }\n  if (value is Map) {\n    int result = 0;\n    for (final MapEntry<Object?, Object?> entry in value.entries) {\n      result += (_deepHash(entry.key) * 31) ^ _deepHash(entry.value);\n    }\n    return result;\n  }\n  if (value is double && value.isNaN) {\n    // Normalize NaN to a consistent hash.\n    return 0x7FF8000000000000.hashCode;\n  }\n  if (value is double && value == 0.0) {\n    // Normalize -0.0 to 0.0 so they have the same hash code.\n    return 0.0.hashCode;\n  }\n  return value.hashCode;\n}\n\nenum ReaderFlagPigeon {\n  nfcA,\n  nfcB,\n  nfcBarcode,\n  nfcF,\n  nfcV,\n  noPlatformSounds,\n  skipNdefCheck,\n}\n\nenum AdapterStatePigeon { off, turningOn, on, turningOff }\n\nenum TypeNameFormatPigeon {\n  empty,\n  wellKnown,\n  media,\n  absoluteUri,\n  external,\n  unknown,\n  unchanged,\n}\n\nenum NfcBarcodeTypePigeon { kovio, unknown }\n\nenum MifareClassicTypePigeon { classic, plus, pro, unknown }\n\nenum MifareUltralightTypePigeon { ultralight, ultralightC, unknown }\n\nclass TagPigeon {\n  TagPigeon({\n    required this.handle,\n    required this.id,\n    required this.techList,\n    this.ndef,\n    this.nfcA,\n    this.nfcB,\n    this.nfcF,\n    this.nfcV,\n    this.isoDep,\n    this.mifareClassic,\n    this.mifareUltralight,\n    this.ndefFormatable,\n    this.nfcBarcode,\n  });\n\n  String handle;\n\n  Uint8List id;\n\n  List<String> techList;\n\n  NdefPigeon? ndef;\n\n  NfcAPigeon? nfcA;\n\n  NfcBPigeon? nfcB;\n\n  NfcFPigeon? nfcF;\n\n  NfcVPigeon? nfcV;\n\n  IsoDepPigeon? isoDep;\n\n  MifareClassicPigeon? mifareClassic;\n\n  MifareUltralightPigeon? mifareUltralight;\n\n  String? ndefFormatable;\n\n  NfcBarcodePigeon? nfcBarcode;\n\n  List<Object?> _toList() {\n    return <Object?>[\n      handle,\n      id,\n      techList,\n      ndef,\n      nfcA,\n      nfcB,\n      nfcF,\n      nfcV,\n      isoDep,\n      mifareClassic,\n      mifareUltralight,\n      ndefFormatable,\n      nfcBarcode,\n    ];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static TagPigeon decode(Object result) {\n    result as List<Object?>;\n    return TagPigeon(\n      handle: result[0]! as String,\n      id: result[1]! as Uint8List,\n      techList: (result[2]! as List<Object?>).cast<String>(),\n      ndef: result[3] as NdefPigeon?,\n      nfcA: result[4] as NfcAPigeon?,\n      nfcB: result[5] as NfcBPigeon?,\n      nfcF: result[6] as NfcFPigeon?,\n      nfcV: result[7] as NfcVPigeon?,\n      isoDep: result[8] as IsoDepPigeon?,\n      mifareClassic: result[9] as MifareClassicPigeon?,\n      mifareUltralight: result[10] as MifareUltralightPigeon?,\n      ndefFormatable: result[11] as String?,\n      nfcBarcode: result[12] as NfcBarcodePigeon?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! TagPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(handle, other.handle) &&\n        _deepEquals(id, other.id) &&\n        _deepEquals(techList, other.techList) &&\n        _deepEquals(ndef, other.ndef) &&\n        _deepEquals(nfcA, other.nfcA) &&\n        _deepEquals(nfcB, other.nfcB) &&\n        _deepEquals(nfcF, other.nfcF) &&\n        _deepEquals(nfcV, other.nfcV) &&\n        _deepEquals(isoDep, other.isoDep) &&\n        _deepEquals(mifareClassic, other.mifareClassic) &&\n        _deepEquals(mifareUltralight, other.mifareUltralight) &&\n        _deepEquals(ndefFormatable, other.ndefFormatable) &&\n        _deepEquals(nfcBarcode, other.nfcBarcode);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NdefPigeon {\n  NdefPigeon({\n    required this.type,\n    required this.canMakeReadOnly,\n    required this.isWritable,\n    required this.maxSize,\n    this.cachedNdefMessage,\n  });\n\n  String type;\n\n  bool canMakeReadOnly;\n\n  bool isWritable;\n\n  int maxSize;\n\n  NdefMessagePigeon? cachedNdefMessage;\n\n  List<Object?> _toList() {\n    return <Object?>[\n      type,\n      canMakeReadOnly,\n      isWritable,\n      maxSize,\n      cachedNdefMessage,\n    ];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NdefPigeon decode(Object result) {\n    result as List<Object?>;\n    return NdefPigeon(\n      type: result[0]! as String,\n      canMakeReadOnly: result[1]! as bool,\n      isWritable: result[2]! as bool,\n      maxSize: result[3]! as int,\n      cachedNdefMessage: result[4] as NdefMessagePigeon?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NdefPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(type, other.type) &&\n        _deepEquals(canMakeReadOnly, other.canMakeReadOnly) &&\n        _deepEquals(isWritable, other.isWritable) &&\n        _deepEquals(maxSize, other.maxSize) &&\n        _deepEquals(cachedNdefMessage, other.cachedNdefMessage);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcAPigeon {\n  NfcAPigeon({required this.atqa, required this.sak});\n\n  Uint8List atqa;\n\n  int sak;\n\n  List<Object?> _toList() {\n    return <Object?>[atqa, sak];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcAPigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcAPigeon(atqa: result[0]! as Uint8List, sak: result[1]! as int);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcAPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(atqa, other.atqa) && _deepEquals(sak, other.sak);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcBPigeon {\n  NfcBPigeon({required this.applicationData, required this.protocolInfo});\n\n  Uint8List applicationData;\n\n  Uint8List protocolInfo;\n\n  List<Object?> _toList() {\n    return <Object?>[applicationData, protocolInfo];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcBPigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcBPigeon(\n      applicationData: result[0]! as Uint8List,\n      protocolInfo: result[1]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcBPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(applicationData, other.applicationData) &&\n        _deepEquals(protocolInfo, other.protocolInfo);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcFPigeon {\n  NfcFPigeon({required this.manufacturer, required this.systemCode});\n\n  Uint8List manufacturer;\n\n  Uint8List systemCode;\n\n  List<Object?> _toList() {\n    return <Object?>[manufacturer, systemCode];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcFPigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcFPigeon(\n      manufacturer: result[0]! as Uint8List,\n      systemCode: result[1]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcFPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(manufacturer, other.manufacturer) &&\n        _deepEquals(systemCode, other.systemCode);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcVPigeon {\n  NfcVPigeon({required this.dsfId, required this.responseFlags});\n\n  int dsfId;\n\n  int responseFlags;\n\n  List<Object?> _toList() {\n    return <Object?>[dsfId, responseFlags];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcVPigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcVPigeon(\n      dsfId: result[0]! as int,\n      responseFlags: result[1]! as int,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcVPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(dsfId, other.dsfId) &&\n        _deepEquals(responseFlags, other.responseFlags);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass IsoDepPigeon {\n  IsoDepPigeon({\n    this.hiLayerResponse,\n    this.historicalBytes,\n    required this.isExtendedLengthApduSupported,\n  });\n\n  Uint8List? hiLayerResponse;\n\n  Uint8List? historicalBytes;\n\n  bool isExtendedLengthApduSupported;\n\n  List<Object?> _toList() {\n    return <Object?>[\n      hiLayerResponse,\n      historicalBytes,\n      isExtendedLengthApduSupported,\n    ];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static IsoDepPigeon decode(Object result) {\n    result as List<Object?>;\n    return IsoDepPigeon(\n      hiLayerResponse: result[0] as Uint8List?,\n      historicalBytes: result[1] as Uint8List?,\n      isExtendedLengthApduSupported: result[2]! as bool,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! IsoDepPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(hiLayerResponse, other.hiLayerResponse) &&\n        _deepEquals(historicalBytes, other.historicalBytes) &&\n        _deepEquals(\n          isExtendedLengthApduSupported,\n          other.isExtendedLengthApduSupported,\n        );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass MifareClassicPigeon {\n  MifareClassicPigeon({\n    required this.type,\n    required this.blockCount,\n    required this.sectorCount,\n    required this.size,\n  });\n\n  MifareClassicTypePigeon type;\n\n  int blockCount;\n\n  int sectorCount;\n\n  int size;\n\n  List<Object?> _toList() {\n    return <Object?>[type, blockCount, sectorCount, size];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static MifareClassicPigeon decode(Object result) {\n    result as List<Object?>;\n    return MifareClassicPigeon(\n      type: result[0]! as MifareClassicTypePigeon,\n      blockCount: result[1]! as int,\n      sectorCount: result[2]! as int,\n      size: result[3]! as int,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! MifareClassicPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(type, other.type) &&\n        _deepEquals(blockCount, other.blockCount) &&\n        _deepEquals(sectorCount, other.sectorCount) &&\n        _deepEquals(size, other.size);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass MifareUltralightPigeon {\n  MifareUltralightPigeon({required this.type});\n\n  MifareUltralightTypePigeon type;\n\n  List<Object?> _toList() {\n    return <Object?>[type];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static MifareUltralightPigeon decode(Object result) {\n    result as List<Object?>;\n    return MifareUltralightPigeon(\n      type: result[0]! as MifareUltralightTypePigeon,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! MifareUltralightPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(type, other.type);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcBarcodePigeon {\n  NfcBarcodePigeon({required this.type, required this.barcode});\n\n  NfcBarcodeTypePigeon type;\n\n  Uint8List barcode;\n\n  List<Object?> _toList() {\n    return <Object?>[type, barcode];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcBarcodePigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcBarcodePigeon(\n      type: result[0]! as NfcBarcodeTypePigeon,\n      barcode: result[1]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcBarcodePigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(type, other.type) && _deepEquals(barcode, other.barcode);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NdefMessagePigeon {\n  NdefMessagePigeon({required this.records});\n\n  List<NdefRecordPigeon> records;\n\n  List<Object?> _toList() {\n    return <Object?>[records];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NdefMessagePigeon decode(Object result) {\n    result as List<Object?>;\n    return NdefMessagePigeon(\n      records: (result[0]! as List<Object?>).cast<NdefRecordPigeon>(),\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NdefMessagePigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(records, other.records);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NdefRecordPigeon {\n  NdefRecordPigeon({\n    required this.tnf,\n    required this.type,\n    required this.id,\n    required this.payload,\n  });\n\n  TypeNameFormatPigeon tnf;\n\n  Uint8List type;\n\n  Uint8List id;\n\n  Uint8List payload;\n\n  List<Object?> _toList() {\n    return <Object?>[tnf, type, id, payload];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NdefRecordPigeon decode(Object result) {\n    result as List<Object?>;\n    return NdefRecordPigeon(\n      tnf: result[0]! as TypeNameFormatPigeon,\n      type: result[1]! as Uint8List,\n      id: result[2]! as Uint8List,\n      payload: result[3]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NdefRecordPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(tnf, other.tnf) &&\n        _deepEquals(type, other.type) &&\n        _deepEquals(id, other.id) &&\n        _deepEquals(payload, other.payload);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass _PigeonCodec extends StandardMessageCodec {\n  const _PigeonCodec();\n  @override\n  void writeValue(WriteBuffer buffer, Object? value) {\n    if (value is int) {\n      buffer.putUint8(4);\n      buffer.putInt64(value);\n    } else if (value is ReaderFlagPigeon) {\n      buffer.putUint8(129);\n      writeValue(buffer, value.index);\n    } else if (value is AdapterStatePigeon) {\n      buffer.putUint8(130);\n      writeValue(buffer, value.index);\n    } else if (value is TypeNameFormatPigeon) {\n      buffer.putUint8(131);\n      writeValue(buffer, value.index);\n    } else if (value is NfcBarcodeTypePigeon) {\n      buffer.putUint8(132);\n      writeValue(buffer, value.index);\n    } else if (value is MifareClassicTypePigeon) {\n      buffer.putUint8(133);\n      writeValue(buffer, value.index);\n    } else if (value is MifareUltralightTypePigeon) {\n      buffer.putUint8(134);\n      writeValue(buffer, value.index);\n    } else if (value is TagPigeon) {\n      buffer.putUint8(135);\n      writeValue(buffer, value.encode());\n    } else if (value is NdefPigeon) {\n      buffer.putUint8(136);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcAPigeon) {\n      buffer.putUint8(137);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcBPigeon) {\n      buffer.putUint8(138);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcFPigeon) {\n      buffer.putUint8(139);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcVPigeon) {\n      buffer.putUint8(140);\n      writeValue(buffer, value.encode());\n    } else if (value is IsoDepPigeon) {\n      buffer.putUint8(141);\n      writeValue(buffer, value.encode());\n    } else if (value is MifareClassicPigeon) {\n      buffer.putUint8(142);\n      writeValue(buffer, value.encode());\n    } else if (value is MifareUltralightPigeon) {\n      buffer.putUint8(143);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcBarcodePigeon) {\n      buffer.putUint8(144);\n      writeValue(buffer, value.encode());\n    } else if (value is NdefMessagePigeon) {\n      buffer.putUint8(145);\n      writeValue(buffer, value.encode());\n    } else if (value is NdefRecordPigeon) {\n      buffer.putUint8(146);\n      writeValue(buffer, value.encode());\n    } else {\n      super.writeValue(buffer, value);\n    }\n  }\n\n  @override\n  Object? readValueOfType(int type, ReadBuffer buffer) {\n    switch (type) {\n      case 129:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : ReaderFlagPigeon.values[value];\n      case 130:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : AdapterStatePigeon.values[value];\n      case 131:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : TypeNameFormatPigeon.values[value];\n      case 132:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : NfcBarcodeTypePigeon.values[value];\n      case 133:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : MifareClassicTypePigeon.values[value];\n      case 134:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : MifareUltralightTypePigeon.values[value];\n      case 135:\n        return TagPigeon.decode(readValue(buffer)!);\n      case 136:\n        return NdefPigeon.decode(readValue(buffer)!);\n      case 137:\n        return NfcAPigeon.decode(readValue(buffer)!);\n      case 138:\n        return NfcBPigeon.decode(readValue(buffer)!);\n      case 139:\n        return NfcFPigeon.decode(readValue(buffer)!);\n      case 140:\n        return NfcVPigeon.decode(readValue(buffer)!);\n      case 141:\n        return IsoDepPigeon.decode(readValue(buffer)!);\n      case 142:\n        return MifareClassicPigeon.decode(readValue(buffer)!);\n      case 143:\n        return MifareUltralightPigeon.decode(readValue(buffer)!);\n      case 144:\n        return NfcBarcodePigeon.decode(readValue(buffer)!);\n      case 145:\n        return NdefMessagePigeon.decode(readValue(buffer)!);\n      case 146:\n        return NdefRecordPigeon.decode(readValue(buffer)!);\n      default:\n        return super.readValueOfType(type, buffer);\n    }\n  }\n}\n\nabstract class FlutterApiPigeon {\n  static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();\n\n  void onTagDiscovered(TagPigeon tag);\n\n  void onAdapterStateChanged(AdapterStatePigeon state);\n\n  static void setUp(\n    FlutterApiPigeon? api, {\n    BinaryMessenger? binaryMessenger,\n    String messageChannelSuffix = '',\n  }) {\n    messageChannelSuffix = messageChannelSuffix.isNotEmpty\n        ? '.$messageChannelSuffix'\n        : '';\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.onTagDiscovered$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          final List<Object?> args = message! as List<Object?>;\n          final TagPigeon arg_tag = args[0]! as TagPigeon;\n          try {\n            api.onTagDiscovered(arg_tag);\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.onAdapterStateChanged$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          final List<Object?> args = message! as List<Object?>;\n          final AdapterStatePigeon arg_state = args[0]! as AdapterStatePigeon;\n          try {\n            api.onAdapterStateChanged(arg_state);\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n  }\n}\n\nclass HostApiPigeon {\n  /// Constructor for [HostApiPigeon].  The [binaryMessenger] named argument is\n  /// available for dependency injection.  If it is left null, the default\n  /// BinaryMessenger will be used which routes to the host platform.\n  HostApiPigeon({\n    BinaryMessenger? binaryMessenger,\n    String messageChannelSuffix = '',\n  }) : pigeonVar_binaryMessenger = binaryMessenger,\n       pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty\n           ? '.$messageChannelSuffix'\n           : '';\n  final BinaryMessenger? pigeonVar_binaryMessenger;\n\n  static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();\n\n  final String pigeonVar_messageChannelSuffix;\n\n  Future<bool> nfcAdapterIsEnabled() async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterIsEnabled$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<bool> nfcAdapterIsSecureNfcEnabled() async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterIsSecureNfcEnabled$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<bool> nfcAdapterIsSecureNfcSupported() async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterIsSecureNfcSupported$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<void> nfcAdapterEnableReaderMode({\n    required List<ReaderFlagPigeon> flags,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterEnableReaderMode$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[flags],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> nfcAdapterDisableReaderMode() async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAdapterDisableReaderMode$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<NdefMessagePigeon?> ndefGetNdefMessage({\n    required String handle,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefGetNdefMessage$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n    return pigeonVar_replyValue as NdefMessagePigeon?;\n  }\n\n  Future<void> ndefWriteNdefMessage({\n    required String handle,\n    required NdefMessagePigeon message,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefWriteNdefMessage$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, message],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<bool> ndefMakeReadOnly({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefMakeReadOnly$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<int> nfcAGetMaxTransceiveLength({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAGetMaxTransceiveLength$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<int> nfcAGetTimeout({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcAGetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<void> nfcASetTimeout({\n    required String handle,\n    required int timeout,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcASetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, timeout],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> nfcATransceive({\n    required String handle,\n    required Uint8List bytes,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcATransceive$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, bytes],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<int> nfcBGetMaxTransceiveLength({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcBGetMaxTransceiveLength$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<Uint8List> nfcBTransceive({\n    required String handle,\n    required Uint8List bytes,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcBTransceive$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, bytes],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<int> nfcFGetMaxTransceiveLength({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFGetMaxTransceiveLength$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<int> nfcFGetTimeout({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFGetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<void> nfcFSetTimeout({\n    required String handle,\n    required int timeout,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFSetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, timeout],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> nfcFTransceive({\n    required String handle,\n    required Uint8List bytes,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcFTransceive$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, bytes],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<int> nfcVGetMaxTransceiveLength({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcVGetMaxTransceiveLength$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<Uint8List> nfcVTransceive({\n    required String handle,\n    required Uint8List bytes,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.nfcVTransceive$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, bytes],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<int> isoDepGetMaxTransceiveLength({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepGetMaxTransceiveLength$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<int> isoDepGetTimeout({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepGetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<void> isoDepSetTimeout({\n    required String handle,\n    required int timeout,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepSetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, timeout],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> isoDepTransceive({\n    required String handle,\n    required Uint8List bytes,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.isoDepTransceive$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, bytes],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<int> mifareClassicGetMaxTransceiveLength({\n    required String handle,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicGetMaxTransceiveLength$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<int> mifareClassicGetTimeout({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicGetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<void> mifareClassicSetTimeout({\n    required String handle,\n    required int timeout,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicSetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, timeout],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<int> mifareClassicBlockToSector({\n    required String handle,\n    required int blockIndex,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicBlockToSector$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, blockIndex],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<int> mifareClassicGetBlockCountInSector({\n    required String handle,\n    required int sectorIndex,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicGetBlockCountInSector$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, sectorIndex],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<int> mifareClassicSectorToBlock({\n    required String handle,\n    required int sectorIndex,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicSectorToBlock$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, sectorIndex],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<bool> mifareClassicAuthenticateSectorWithKeyA({\n    required String handle,\n    required int sectorIndex,\n    required Uint8List key,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicAuthenticateSectorWithKeyA$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, sectorIndex, key],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<bool> mifareClassicAuthenticateSectorWithKeyB({\n    required String handle,\n    required int sectorIndex,\n    required Uint8List key,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicAuthenticateSectorWithKeyB$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, sectorIndex, key],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<void> mifareClassicIncrement({\n    required String handle,\n    required int blockIndex,\n    required int value,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicIncrement$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, blockIndex, value],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> mifareClassicDecrement({\n    required String handle,\n    required int blockIndex,\n    required int value,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicDecrement$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, blockIndex, value],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> mifareClassicReadBlock({\n    required String handle,\n    required int blockIndex,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicReadBlock$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, blockIndex],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<void> mifareClassicWriteBlock({\n    required String handle,\n    required int blockIndex,\n    required Uint8List data,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicWriteBlock$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, blockIndex, data],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> mifareClassicRestore({\n    required String handle,\n    required int blockIndex,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicRestore$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, blockIndex],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> mifareClassicTransfer({\n    required String handle,\n    required int blockIndex,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicTransfer$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, blockIndex],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> mifareClassicTransceive({\n    required String handle,\n    required Uint8List bytes,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareClassicTransceive$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, bytes],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<int> mifareUltralightGetMaxTransceiveLength({\n    required String handle,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightGetMaxTransceiveLength$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<int> mifareUltralightGetTimeout({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightGetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<void> mifareUltralightSetTimeout({\n    required String handle,\n    required int timeout,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightSetTimeout$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, timeout],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> mifareUltralightReadPages({\n    required String handle,\n    required int pageOffset,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightReadPages$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, pageOffset],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<void> mifareUltralightWritePage({\n    required String handle,\n    required int pageOffset,\n    required Uint8List data,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightWritePage$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, pageOffset, data],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> mifareUltralightTransceive({\n    required String handle,\n    required Uint8List bytes,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.mifareUltralightTransceive$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, bytes],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<void> ndefFormatableFormat({\n    required String handle,\n    required NdefMessagePigeon firstMessage,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefFormatableFormat$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, firstMessage],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> ndefFormatableFormatReadOnly({\n    required String handle,\n    required NdefMessagePigeon firstMessage,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefFormatableFormatReadOnly$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, firstMessage],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/iso_dep.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to ISO-DEP (ISO 14443-4) operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class IsoDepAndroid {\n  const IsoDepAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.hiLayerResponse,\n    required this.historicalBytes,\n    required this.isExtendedLengthApduSupported,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final Uint8List? hiLayerResponse;\n\n  // DOC:\n  final Uint8List? historicalBytes;\n\n  // DOC:\n  final bool isExtendedLengthApduSupported;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static IsoDepAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.isoDep;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return IsoDepAndroid._(\n      data.handle,\n      tag: atag,\n      hiLayerResponse: tech.hiLayerResponse,\n      historicalBytes: tech.historicalBytes,\n      isExtendedLengthApduSupported: tech.isExtendedLengthApduSupported,\n    );\n  }\n\n  // DOC:\n  Future<int> getMaxTransceiveLength() {\n    return hostApi.isoDepGetMaxTransceiveLength(handle: _handle);\n  }\n\n  // DOC:\n  Future<int> getTimeout() {\n    return hostApi.isoDepGetTimeout(handle: _handle);\n  }\n\n  // DOC:\n  Future<void> setTimeout(int timeout) {\n    return hostApi.isoDepSetTimeout(handle: _handle, timeout: timeout);\n  }\n\n  // DOC:\n  Future<Uint8List> transceive(Uint8List bytes) {\n    return hostApi.isoDepTransceive(handle: _handle, bytes: bytes);\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/mifare_classic.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to MIFARE Classic operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class MifareClassicAndroid {\n  const MifareClassicAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.type,\n    required this.blockCount,\n    required this.sectorCount,\n    required this.size,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final MifareClassicTypeAndroid type;\n\n  // DOC:\n  final int blockCount;\n\n  // DOC:\n  final int sectorCount;\n\n  // DOC:\n  final int size;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static MifareClassicAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.mifareClassic;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return MifareClassicAndroid._(\n      data.handle,\n      tag: atag,\n      type: MifareClassicTypeAndroid.values.byName(tech.type.name),\n      blockCount: tech.blockCount,\n      sectorCount: tech.sectorCount,\n      size: tech.size,\n    );\n  }\n\n  // DOC:\n  Future<bool> authenticateSectorWithKeyA({\n    required int sectorIndex,\n    required Uint8List key,\n  }) {\n    return hostApi.mifareClassicAuthenticateSectorWithKeyA(\n      handle: _handle,\n      sectorIndex: sectorIndex,\n      key: key,\n    );\n  }\n\n  // DOC:\n  Future<bool> authenticateSectorWithKeyB({\n    required int sectorIndex,\n    required Uint8List key,\n  }) {\n    return hostApi.mifareClassicAuthenticateSectorWithKeyB(\n      handle: _handle,\n      sectorIndex: sectorIndex,\n      key: key,\n    );\n  }\n\n  // DOC:\n  Future<void> increment({required int blockIndex, required int value}) {\n    return hostApi.mifareClassicIncrement(\n      handle: _handle,\n      blockIndex: blockIndex,\n      value: value,\n    );\n  }\n\n  // DOC:\n  Future<void> decrement({required int blockIndex, required int value}) {\n    return hostApi.mifareClassicDecrement(\n      handle: _handle,\n      blockIndex: blockIndex,\n      value: value,\n    );\n  }\n\n  // DOC:\n  Future<Uint8List> readBlock({required int blockIndex}) {\n    return hostApi.mifareClassicReadBlock(\n      handle: _handle,\n      blockIndex: blockIndex,\n    );\n  }\n\n  // DOC:\n  Future<void> writeBlock({required int blockIndex, required Uint8List data}) {\n    return hostApi.mifareClassicWriteBlock(\n      handle: _handle,\n      blockIndex: blockIndex,\n      data: data,\n    );\n  }\n\n  // DOC:\n  Future<void> restore({required int blockIndex}) {\n    return hostApi.mifareClassicRestore(\n      handle: _handle,\n      blockIndex: blockIndex,\n    );\n  }\n\n  // DOC:\n  Future<void> transfer({required int blockIndex}) {\n    return hostApi.mifareClassicTransfer(\n      handle: _handle,\n      blockIndex: blockIndex,\n    );\n  }\n\n  // DOC:\n  Future<Uint8List> transceive(Uint8List bytes) {\n    return hostApi.mifareClassicTransceive(handle: _handle, bytes: bytes);\n  }\n}\n\n// DOC:\nenum MifareClassicTypeAndroid {\n  // DOC:\n  classic,\n\n  // DOC:\n  plus,\n\n  // DOC:\n  pro,\n\n  // DOC:\n  unknown,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/mifare_ultralight.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to MIFARE Ultralight operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class MifareUltralightAndroid {\n  const MifareUltralightAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.type,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final MifareUltralightTypeAndroid type;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static MifareUltralightAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.mifareUltralight;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return MifareUltralightAndroid._(\n      data.handle,\n      tag: atag,\n      type: MifareUltralightTypeAndroid.values.byName(tech.type.name),\n    );\n  }\n\n  // DOC:\n  Future<int> getMaxTransceiveLength() {\n    return hostApi.mifareUltralightGetMaxTransceiveLength(handle: _handle);\n  }\n\n  // DOC:\n  Future<int> getTimeout() {\n    return hostApi.mifareUltralightGetTimeout(handle: _handle);\n  }\n\n  // DOC:\n  Future<void> setTimeout(int timeout) {\n    return hostApi.mifareUltralightSetTimeout(\n      handle: _handle,\n      timeout: timeout,\n    );\n  }\n\n  // DOC:\n  Future<Uint8List> readPages({required int pageOffset}) {\n    return hostApi.mifareUltralightReadPages(\n      handle: _handle,\n      pageOffset: pageOffset,\n    );\n  }\n\n  // DOC:\n  Future<void> writePage({required int pageOffset, required Uint8List data}) {\n    return hostApi.mifareUltralightWritePage(\n      handle: _handle,\n      pageOffset: pageOffset,\n      data: data,\n    );\n  }\n\n  // DOC:\n  Future<Uint8List> transceive(Uint8List bytes) {\n    return hostApi.mifareUltralightTransceive(handle: _handle, bytes: bytes);\n  }\n}\n\n// DOC:\nenum MifareUltralightTypeAndroid {\n  // DOC:\n  ultralight,\n\n  // DOC:\n  ultralightC,\n\n  // DOC:\n  unknown,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/ndef.dart",
    "content": "import 'package:ndef_record/ndef_record.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to NDEF operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NdefAndroid {\n  const NdefAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.type,\n    required this.maxSize,\n    required this.canMakeReadOnly,\n    required this.isWritable,\n    required this.cachedNdefMessage,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final String type;\n\n  // DOC:\n  final int maxSize;\n\n  // DOC:\n  final bool canMakeReadOnly;\n\n  // DOC:\n  final bool isWritable;\n\n  // DOC:\n  final NdefMessage? cachedNdefMessage;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NdefAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.ndef;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return NdefAndroid._(\n      data.handle,\n      tag: atag,\n      type: tech.type,\n      maxSize: tech.maxSize,\n      canMakeReadOnly: tech.canMakeReadOnly,\n      isWritable: tech.isWritable,\n      cachedNdefMessage: tech.cachedNdefMessage == null\n          ? null\n          : NdefMessage(\n              records: tech.cachedNdefMessage!.records\n                  .map(\n                    (r) => NdefRecord(\n                      typeNameFormat: TypeNameFormat.values.byName(r.tnf.name),\n                      type: r.type,\n                      identifier: r.id,\n                      payload: r.payload,\n                    ),\n                  )\n                  .toList(),\n            ),\n    );\n  }\n\n  // DOC:\n  Future<NdefMessage?> getNdefMessage() {\n    return hostApi\n        .ndefGetNdefMessage(handle: _handle)\n        .then(\n          (value) => value == null\n              ? null\n              : NdefMessage(\n                  records: value.records\n                      .map(\n                        (r) => NdefRecord(\n                          typeNameFormat: TypeNameFormat.values.byName(\n                            r.tnf.name,\n                          ),\n                          type: r.type,\n                          identifier: r.id,\n                          payload: r.payload,\n                        ),\n                      )\n                      .toList(),\n                ),\n        );\n  }\n\n  // DOC:\n  Future<void> writeNdefMessage(NdefMessage message) {\n    return hostApi.ndefWriteNdefMessage(\n      handle: _handle,\n      message: NdefMessagePigeon(\n        records: message.records\n            .map(\n              (e) => NdefRecordPigeon(\n                tnf: TypeNameFormatPigeon.values.byName(e.typeNameFormat.name),\n                type: e.type,\n                id: e.identifier,\n                payload: e.payload,\n              ),\n            )\n            .toList(),\n      ),\n    );\n  }\n\n  // DOC:\n  Future<void> makeReadOnly() {\n    return hostApi.ndefMakeReadOnly(handle: _handle);\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/ndef_formatable.dart",
    "content": "import 'package:ndef_record/ndef_record.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to NDEF format operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NdefFormatableAndroid {\n  const NdefFormatableAndroid._(this._handle, {required this.tag});\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NdefFormatableAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.ndefFormatable;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return NdefFormatableAndroid._(data.handle, tag: atag);\n  }\n\n  // DOC:\n  Future<void> format(NdefMessage firstMessage) {\n    return hostApi.ndefFormatableFormat(\n      handle: _handle,\n      firstMessage: NdefMessagePigeon(\n        records: firstMessage.records\n            .map(\n              (e) => NdefRecordPigeon(\n                tnf: TypeNameFormatPigeon.values.byName(e.typeNameFormat.name),\n                type: e.type,\n                id: e.identifier,\n                payload: e.payload,\n              ),\n            )\n            .toList(),\n      ),\n    );\n  }\n\n  // DOC:\n  Future<void> formatReadOnly(NdefMessage firstMessage) {\n    return hostApi.ndefFormatableFormatReadOnly(\n      handle: _handle,\n      firstMessage: NdefMessagePigeon(\n        records: firstMessage.records\n            .map(\n              (e) => NdefRecordPigeon(\n                tnf: TypeNameFormatPigeon.values.byName(e.typeNameFormat.name),\n                type: e.type,\n                id: e.identifier,\n                payload: e.payload,\n              ),\n            )\n            .toList(),\n      ),\n    );\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/nfc_a.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to NFC-A (ISO 14443-3A) operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NfcAAndroid {\n  const NfcAAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.atqa,\n    required this.sak,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final Uint8List atqa;\n\n  // DOC:\n  final int sak;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NfcAAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.nfcA;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return NfcAAndroid._(\n      data.handle,\n      tag: atag,\n      atqa: tech.atqa,\n      sak: tech.sak,\n    );\n  }\n\n  // DOC:\n  Future<int> getMaxTransceiveLength() {\n    return hostApi.nfcAGetMaxTransceiveLength(handle: _handle);\n  }\n\n  // DOC:\n  Future<int> getTimeout() {\n    return hostApi.nfcAGetTimeout(handle: _handle);\n  }\n\n  // DOC:\n  Future<void> setTimeout(int timeout) {\n    return hostApi.nfcASetTimeout(handle: _handle, timeout: timeout);\n  }\n\n  // DOC:\n  Future<Uint8List> transceive(Uint8List bytes) {\n    return hostApi.nfcATransceive(handle: _handle, bytes: bytes);\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/nfc_b.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to NFC-B (ISO 14443-3B) operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NfcBAndroid {\n  const NfcBAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.applicationData,\n    required this.protocolInfo,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final Uint8List applicationData;\n\n  // DOC:\n  final Uint8List protocolInfo;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NfcBAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.nfcB;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return NfcBAndroid._(\n      data.handle,\n      tag: atag,\n      applicationData: tech.applicationData,\n      protocolInfo: tech.protocolInfo,\n    );\n  }\n\n  // DOC:\n  Future<int> getMaxTransceiveLength() {\n    return hostApi.nfcBGetMaxTransceiveLength(handle: _handle);\n  }\n\n  // DOC:\n  Future<Uint8List> transceive(Uint8List bytes) {\n    return hostApi.nfcBTransceive(handle: _handle, bytes: bytes);\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/nfc_barcode.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to tags containing just a barcode for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NfcBarcodeAndroid {\n  const NfcBarcodeAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.type,\n    required this.barcode,\n  });\n\n  // ignore: unused_field\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final NfcBarcodeTypeAndroid type;\n\n  // DOC:\n  final Uint8List barcode;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NfcBarcodeAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.nfcBarcode;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return NfcBarcodeAndroid._(\n      data.handle,\n      tag: atag,\n      type: NfcBarcodeTypeAndroid.values.byName(tech.type.name),\n      barcode: tech.barcode,\n    );\n  }\n}\n\n// DOC:\nenum NfcBarcodeTypeAndroid {\n  // DOC:\n  kovio,\n\n  // DOC:\n  unknown,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/nfc_f.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to NFC-F (JIS 6319-4) operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NfcFAndroid {\n  const NfcFAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.manufacturer,\n    required this.systemCode,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final Uint8List manufacturer;\n\n  // DOC:\n  final Uint8List systemCode;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NfcFAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.nfcF;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return NfcFAndroid._(\n      data.handle,\n      tag: atag,\n      manufacturer: tech.manufacturer,\n      systemCode: tech.systemCode,\n    );\n  }\n\n  // DOC:\n  Future<int> getMaxTransceiveLength() {\n    return hostApi.nfcFGetMaxTransceiveLength(handle: _handle);\n  }\n\n  // DOC:\n  Future<int> getTimeout() {\n    return hostApi.nfcFGetTimeout(handle: _handle);\n  }\n\n  // DOC:\n  Future<void> setTimeout(int timeout) {\n    return hostApi.nfcFSetTimeout(handle: _handle, timeout: timeout);\n  }\n\n  // DOC:\n  Future<Uint8List> transceive(Uint8List bytes) {\n    return hostApi.nfcFTransceive(handle: _handle, bytes: bytes);\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/nfc_v.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/tags/tag.dart';\n\n/// Provides access to NFC-V (ISO 15693) operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NfcVAndroid {\n  const NfcVAndroid._(\n    this._handle, {\n    required this.tag,\n    required this.dsfId,\n    required this.responseFlags,\n  });\n\n  final String _handle;\n\n  /// The tag instance backing of this instance.\n  final NfcTagAndroid tag;\n\n  // DOC:\n  final int dsfId;\n\n  // DOC:\n  final int responseFlags;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NfcVAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.nfcV;\n    final atag = NfcTagAndroid.from(tag);\n    if (data == null || tech == null || atag == null) return null;\n    return NfcVAndroid._(\n      data.handle,\n      tag: atag,\n      dsfId: tech.dsfId,\n      responseFlags: tech.responseFlags,\n    );\n  }\n\n  // DOC:\n  Future<int> getMaxTransceiveLength() {\n    return hostApi.nfcVGetMaxTransceiveLength(handle: _handle);\n  }\n\n  // DOC:\n  Future<Uint8List> transceive(Uint8List bytes) {\n    return hostApi.nfcVTransceive(handle: _handle, bytes: bytes);\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_android/tags/tag.dart",
    "content": "import 'dart:typed_data';\n\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_android/pigeon.g.dart';\n\n/// Provides access to tag operations for Android.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NfcTagAndroid {\n  const NfcTagAndroid._({required this.id, required this.techList});\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NfcTagAndroid? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    if (data == null) return null;\n    return NfcTagAndroid._(id: data.id, techList: data.techList.cast());\n  }\n\n  // DOC:\n  final Uint8List id;\n\n  // DOC:\n  final List<String> techList;\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/nfc_manager.dart",
    "content": "import 'package:flutter/foundation.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.g.dart';\n\n/// Provides access to the NFC session for iOS.\nfinal class NfcManagerIos {\n  NfcManagerIos._() {\n    _FlutterApiIos(this);\n  }\n\n  /// The default instance of [NfcManagerIos] to use.\n  static NfcManagerIos get instance => _instance ??= NfcManagerIos._();\n  static NfcManagerIos? _instance;\n\n  void Function(NfcTag)? _tagSessionDidDetectTag;\n  void Function()? _tagSessionDidBecomeActive;\n  void Function(NfcReaderSessionErrorIos)? _tagSessionDidInvalidateWithError;\n  void Function(List<NfcVasResponseIos>)? _vasSessionDidReceive;\n  void Function()? _vasSessionDidBecomeActive;\n  void Function(NfcReaderSessionErrorIos)? _vasSessionDidInvalidateWithError;\n\n  // DOC:\n  Future<bool> tagSessionReadingAvailable() {\n    return hostApi.tagSessionReadingAvailable();\n  }\n\n  // DOC:\n  Future<void> tagSessionBegin({\n    required Set<NfcPollingOption> pollingOptions,\n    required void Function(NfcTag)? didDetectTag,\n    void Function()? didBecomeActive,\n    void Function(NfcReaderSessionErrorIos)? didInvalidateWithError,\n    String? alertMessage,\n    bool invalidateAfterFirstRead = true,\n  }) {\n    _tagSessionDidDetectTag = didDetectTag;\n    _tagSessionDidBecomeActive = didBecomeActive;\n    _tagSessionDidInvalidateWithError = didInvalidateWithError;\n    return hostApi.tagSessionBegin(\n      pollingOptions: pollingOptions\n          .map((e) => PollingOptionPigeon.values.byName(e.name))\n          .toList(),\n      alertMessage: alertMessage,\n      invalidateAfterFirstRead: invalidateAfterFirstRead,\n    );\n  }\n\n  // DOC:\n  Future<void> tagSessionInvalidate({\n    String? alertMessage,\n    String? errorMessage,\n  }) {\n    _tagSessionDidDetectTag = null;\n    _tagSessionDidBecomeActive = null;\n    _tagSessionDidInvalidateWithError = null;\n    return hostApi.tagSessionInvalidate(\n      alertMessage: alertMessage,\n      errorMessage: errorMessage,\n    );\n  }\n\n  // DOC:\n  Future<void> tagSessionSetAlertMessage({required String alertMessage}) {\n    return hostApi.tagSessionSetAlertMessage(alertMessage: alertMessage);\n  }\n\n  // DOC:\n  Future<void> tagSessionRestartPolling() {\n    return hostApi.tagSessionRestartPolling();\n  }\n\n  // DOC:\n  Future<void> vasSessionBegin({\n    required List<NfcVasCommandConfigurationIos> configurations,\n    required void Function(List<NfcVasResponseIos> configurations) didReceive,\n    void Function()? didBecomeActive,\n    void Function(NfcReaderSessionErrorIos error)? didInvalidateWithError,\n    String? alertMessage,\n  }) {\n    _vasSessionDidBecomeActive = didBecomeActive;\n    _vasSessionDidInvalidateWithError = didInvalidateWithError;\n    _vasSessionDidReceive = didReceive;\n    return hostApi.vasSessionBegin(\n      configurations: configurations\n          .map(\n            (e) => NfcVasCommandConfigurationPigeon(\n              mode: NfcVasCommandConfigurationModePigeon.values.byName(\n                e.mode.name,\n              ),\n              passIdentifier: e.passIdentifier,\n              url: e.url?.toString(),\n            ),\n          )\n          .toList(),\n      alertMessage: alertMessage,\n    );\n  }\n\n  // DOC:\n  Future<void> vasSessionInvalidate({\n    String? alertMessage,\n    String? errorMessage,\n  }) {\n    _vasSessionDidBecomeActive = null;\n    _vasSessionDidInvalidateWithError = null;\n    _vasSessionDidReceive = null;\n    return hostApi.vasSessionInvalidate(\n      alertMessage: alertMessage,\n      errorMessage: errorMessage,\n    );\n  }\n\n  // DOC:\n  Future<void> vasSessionSetAlertMessage({required String alertMessage}) {\n    return hostApi.vasSessionSetAlertMessage(alertMessage: alertMessage);\n  }\n}\n\nfinal class _FlutterApiIos implements FlutterApiPigeon {\n  _FlutterApiIos(this._instance) {\n    FlutterApiPigeon.setUp(this);\n  }\n\n  final NfcManagerIos _instance;\n\n  @override\n  void tagSessionDidBecomeActive() {\n    _instance._tagSessionDidBecomeActive?.call();\n  }\n\n  @override\n  void tagSessionDidInvalidateWithError(NfcReaderSessionErrorPigeon error) {\n    _instance._tagSessionDidInvalidateWithError?.call(\n      NfcReaderSessionErrorIos(\n        code: NfcReaderErrorCodeIos.values.byName(error.code.name),\n        message: error.message,\n      ),\n    );\n  }\n\n  @override\n  void tagSessionDidDetect(TagPigeon tag) {\n    _instance._tagSessionDidDetectTag?.call(\n      // ignore: invalid_use_of_visible_for_testing_member\n      NfcTag(data: tag),\n    );\n  }\n\n  @override\n  void vasSessionDidBecomeActive() {\n    _instance._vasSessionDidBecomeActive?.call();\n  }\n\n  @override\n  void vasSessionDidInvalidateWithError(NfcReaderSessionErrorPigeon error) {\n    _instance._vasSessionDidInvalidateWithError?.call(\n      NfcReaderSessionErrorIos(\n        code: NfcReaderErrorCodeIos.values.byName(error.code.name),\n        message: error.message,\n      ),\n    );\n  }\n\n  @override\n  void vasSessionDidReceive(List<NfcVasResponsePigeon?> responses) {\n    _instance._vasSessionDidReceive?.call(\n      responses\n          .map(\n            (e) => NfcVasResponseIos(\n              status: NfcVasResponseErrorCodeIos.values.byName(e!.status.name),\n              vasData: e.vasData,\n              mobileToken: e.mobileToken,\n            ),\n          )\n          .toList(),\n    );\n  }\n}\n\n// DOC:\nfinal class NfcVasCommandConfigurationIos {\n  // DOC:\n  @visibleForTesting\n  const NfcVasCommandConfigurationIos({\n    required this.mode,\n    required this.passIdentifier,\n    this.url,\n  });\n\n  // DOC:\n  final NfcVasCommandConfigurationModeIos mode;\n\n  // DOC:\n  final String passIdentifier;\n\n  // DOC:\n  final Uri? url;\n}\n\n// DOC:\nfinal class NfcVasResponseIos {\n  // DOC:\n  @visibleForTesting\n  const NfcVasResponseIos({\n    required this.status,\n    required this.vasData,\n    required this.mobileToken,\n  });\n\n  // DOC:\n  final NfcVasResponseErrorCodeIos status;\n\n  // DOC:\n  final Uint8List vasData;\n\n  // DOC:\n  final Uint8List mobileToken;\n}\n\n// DOC:\nfinal class NfcReaderSessionErrorIos {\n  // DOC:\n  @visibleForTesting\n  const NfcReaderSessionErrorIos({required this.code, required this.message});\n\n  // DOC:\n  final NfcReaderErrorCodeIos code;\n\n  // DOC:\n  final String message;\n}\n\n// DOC:\nenum NfcVasCommandConfigurationModeIos {\n  // DOC:\n  normal,\n\n  // DOC:\n  urlOnly,\n}\n\n// DOC:\nenum NfcReaderErrorCodeIos {\n  // DOC:\n  readerSessionInvalidationErrorFirstNDEFTagRead,\n\n  // DOC:\n  readerSessionInvalidationErrorSessionTerminatedUnexpectedly,\n\n  // DOC:\n  readerSessionInvalidationErrorSessionTimeout,\n\n  // DOC:\n  readerSessionInvalidationErrorSystemIsBusy,\n\n  // DOC:\n  readerSessionInvalidationErrorUserCanceled,\n\n  // DOC:\n  ndefReaderSessionErrorTagNotWritable,\n\n  // DOC:\n  ndefReaderSessionErrorTagSizeTooSmall,\n\n  // DOC:\n  ndefReaderSessionErrorTagUpdateFailure,\n\n  // DOC:\n  ndefReaderSessionErrorZeroLengthMessage,\n\n  // DOC:\n  readerTransceiveErrorRetryExceeded,\n\n  // DOC:\n  readerTransceiveErrorTagConnectionLost,\n\n  // DOC:\n  readerTransceiveErrorTagNotConnected,\n\n  // DOC:\n  readerTransceiveErrorTagResponseError,\n\n  // DOC:\n  readerTransceiveErrorSessionInvalidated,\n\n  // DOC:\n  readerTransceiveErrorPacketTooLong,\n\n  // DOC:\n  tagCommandConfigurationErrorInvalidParameters,\n\n  // DOC:\n  readerErrorUnsupportedFeature,\n\n  // DOC:\n  readerErrorInvalidParameter,\n\n  // DOC:\n  readerErrorInvalidParameterLength,\n\n  // DOC:\n  readerErrorParameterOutOfBound,\n\n  // DOC:\n  readerErrorRadioDisabled,\n\n  // DOC:\n  readerErrorSecurityViolation,\n}\n\n// DOC:\nenum NfcVasResponseErrorCodeIos {\n  // DOC:\n  success,\n\n  // DOC:\n  userIntervention,\n\n  // DOC:\n  dataNotActivated,\n\n  // DOC:\n  dataNotFound,\n\n  // DOC:\n  incorrectData,\n\n  // DOC:\n  unsupportedApplicationVersion,\n\n  // DOC:\n  wrongLCField,\n\n  // DOC:\n  wrongParameters,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/nfc_manager_platform.dart",
    "content": "import 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/nfc_manager.dart';\n\nfinal class NfcManagerIosPlatform implements NfcManager {\n  @override\n  Future<bool> isAvailable() {\n    return NfcManagerIos.instance.tagSessionReadingAvailable();\n  }\n\n  @override\n  Future<NfcAvailability> checkAvailability() async {\n    final isAvailable = await NfcManagerIos.instance\n        .tagSessionReadingAvailable();\n    return isAvailable ? NfcAvailability.enabled : NfcAvailability.unsupported;\n  }\n\n  @override\n  Future<void> startSession({\n    required Set<NfcPollingOption> pollingOptions,\n    required void Function(NfcTag tag) onDiscovered,\n    String? alertMessageIos,\n    bool invalidateAfterFirstReadIos = true,\n    void Function(NfcReaderSessionErrorIos)? onSessionErrorIos,\n    bool noPlatformSoundsAndroid = false,\n  }) {\n    return NfcManagerIos.instance.tagSessionBegin(\n      pollingOptions: pollingOptions,\n      didDetectTag: onDiscovered,\n      alertMessage: alertMessageIos,\n      invalidateAfterFirstRead: invalidateAfterFirstReadIos,\n      didInvalidateWithError: onSessionErrorIos,\n    );\n  }\n\n  @override\n  Future<void> stopSession({String? alertMessageIos, String? errorMessageIos}) {\n    return NfcManagerIos.instance.tagSessionInvalidate(\n      alertMessage: alertMessageIos,\n      errorMessage: errorMessageIos,\n    );\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/pigeon.dart",
    "content": "import 'package:nfc_manager/src/nfc_manager_ios/pigeon.g.dart';\n\nfinal hostApi = HostApiPigeon();\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/pigeon.g.dart",
    "content": "// Autogenerated from Pigeon (v26.3.3), do not edit directly.\n// See also: https://pub.dev/packages/pigeon\n// ignore_for_file: unused_import, unused_shown_name\n// ignore_for_file: type=lint\n\nimport 'dart:async';\nimport 'dart:typed_data' show Float64List, Int32List, Int64List;\n\nimport 'package:flutter/services.dart';\nimport 'package:meta/meta.dart' show immutable, protected, visibleForTesting;\n\nObject? _extractReplyValueOrThrow(\n  List<Object?>? replyList,\n  String channelName, {\n  required bool isNullValid,\n}) {\n  if (replyList == null) {\n    throw PlatformException(\n      code: 'channel-error',\n      message: 'Unable to establish connection on channel: \"$channelName\".',\n    );\n  } else if (replyList.length > 1) {\n    throw PlatformException(\n      code: replyList[0]! as String,\n      message: replyList[1] as String?,\n      details: replyList[2],\n    );\n  } else if (!isNullValid && (replyList.isNotEmpty && replyList[0] == null)) {\n    throw PlatformException(\n      code: 'null-error',\n      message: 'Host platform returned null value for non-null return value.',\n    );\n  }\n  return replyList.firstOrNull;\n}\n\nList<Object?> wrapResponse({\n  Object? result,\n  PlatformException? error,\n  bool empty = false,\n}) {\n  if (empty) {\n    return <Object?>[];\n  }\n  if (error == null) {\n    return <Object?>[result];\n  }\n  return <Object?>[error.code, error.message, error.details];\n}\n\nbool _deepEquals(Object? a, Object? b) {\n  if (identical(a, b)) {\n    return true;\n  }\n  if (a is double && b is double) {\n    if (a.isNaN && b.isNaN) {\n      return true;\n    }\n    return a == b;\n  }\n  if (a is List && b is List) {\n    return a.length == b.length &&\n        a.indexed.every(\n          ((int, dynamic) item) => _deepEquals(item.$2, b[item.$1]),\n        );\n  }\n  if (a is Map && b is Map) {\n    if (a.length != b.length) {\n      return false;\n    }\n    for (final MapEntry<Object?, Object?> entryA in a.entries) {\n      bool found = false;\n      for (final MapEntry<Object?, Object?> entryB in b.entries) {\n        if (_deepEquals(entryA.key, entryB.key)) {\n          if (_deepEquals(entryA.value, entryB.value)) {\n            found = true;\n            break;\n          } else {\n            return false;\n          }\n        }\n      }\n      if (!found) {\n        return false;\n      }\n    }\n    return true;\n  }\n  return a == b;\n}\n\nint _deepHash(Object? value) {\n  if (value is List) {\n    return Object.hashAll(value.map(_deepHash));\n  }\n  if (value is Map) {\n    int result = 0;\n    for (final MapEntry<Object?, Object?> entry in value.entries) {\n      result += (_deepHash(entry.key) * 31) ^ _deepHash(entry.value);\n    }\n    return result;\n  }\n  if (value is double && value.isNaN) {\n    // Normalize NaN to a consistent hash.\n    return 0x7FF8000000000000.hashCode;\n  }\n  if (value is double && value == 0.0) {\n    // Normalize -0.0 to 0.0 so they have the same hash code.\n    return 0.0.hashCode;\n  }\n  return value.hashCode;\n}\n\nenum PollingOptionPigeon { iso14443, iso15693, iso18092 }\n\nenum NdefStatusPigeon { notSupported, readWrite, readOnly }\n\nenum TypeNameFormatPigeon {\n  empty,\n  wellKnown,\n  media,\n  absoluteUri,\n  external,\n  unknown,\n  unchanged,\n}\n\nenum FeliCaPollingRequestCodePigeon {\n  noRequest,\n  systemCode,\n  communicationPerformance,\n}\n\nenum FeliCaPollingTimeSlotPigeon { max1, max2, max4, max8, max16 }\n\nenum MiFareFamilyPigeon { unknown, ultralight, plus, desfire }\n\nenum Iso15693RequestFlagPigeon {\n  address,\n  dualSubCarriers,\n  highDataRate,\n  option,\n  protocolExtension,\n  select,\n}\n\nenum NfcVasCommandConfigurationModePigeon { normal, urlOnly }\n\nenum NfcReaderErrorCodePigeon {\n  readerSessionInvalidationErrorFirstNdefTagRead,\n  readerSessionInvalidationErrorSessionTerminatedUnexpectedly,\n  readerSessionInvalidationErrorSessionTimeout,\n  readerSessionInvalidationErrorSystemIsBusy,\n  readerSessionInvalidationErrorUserCanceled,\n  ndefReaderSessionErrorTagNotWritable,\n  ndefReaderSessionErrorTagSizeTooSmall,\n  ndefReaderSessionErrorTagUpdateFailure,\n  ndefReaderSessionErrorZeroLengthMessage,\n  readerTransceiveErrorRetryExceeded,\n  readerTransceiveErrorTagConnectionLost,\n  readerTransceiveErrorTagNotConnected,\n  readerTransceiveErrorTagResponseError,\n  readerTransceiveErrorSessionInvalidated,\n  readerTransceiveErrorPacketTooLong,\n  tagCommandConfigurationErrorInvalidParameters,\n  readerErrorAccessNotAccepted,\n  readerErrorIneligible,\n  readerErrorUnsupportedFeature,\n  readerErrorInvalidParameter,\n  readerErrorInvalidParameterLength,\n  readerErrorParameterOutOfBound,\n  readerErrorRadioDisabled,\n  readerErrorSecurityViolation,\n}\n\nenum NfcVasResponseErrorCodePigeon {\n  success,\n  userIntervention,\n  dataNotActivated,\n  dataNotFound,\n  incorrectData,\n  unsupportedApplicationVersion,\n  wrongLCField,\n  wrongParameters,\n}\n\nclass TagPigeon {\n  TagPigeon({\n    required this.handle,\n    this.ndef,\n    this.feliCa,\n    this.iso15693,\n    this.iso7816,\n    this.miFare,\n  });\n\n  String handle;\n\n  NdefPigeon? ndef;\n\n  FeliCaPigeon? feliCa;\n\n  Iso15693Pigeon? iso15693;\n\n  Iso7816Pigeon? iso7816;\n\n  MiFarePigeon? miFare;\n\n  List<Object?> _toList() {\n    return <Object?>[handle, ndef, feliCa, iso15693, iso7816, miFare];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static TagPigeon decode(Object result) {\n    result as List<Object?>;\n    return TagPigeon(\n      handle: result[0]! as String,\n      ndef: result[1] as NdefPigeon?,\n      feliCa: result[2] as FeliCaPigeon?,\n      iso15693: result[3] as Iso15693Pigeon?,\n      iso7816: result[4] as Iso7816Pigeon?,\n      miFare: result[5] as MiFarePigeon?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! TagPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(handle, other.handle) &&\n        _deepEquals(ndef, other.ndef) &&\n        _deepEquals(feliCa, other.feliCa) &&\n        _deepEquals(iso15693, other.iso15693) &&\n        _deepEquals(iso7816, other.iso7816) &&\n        _deepEquals(miFare, other.miFare);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NdefPigeon {\n  NdefPigeon({\n    required this.status,\n    required this.capacity,\n    this.cachedNdefMessage,\n  });\n\n  NdefStatusPigeon status;\n\n  int capacity;\n\n  NdefMessagePigeon? cachedNdefMessage;\n\n  List<Object?> _toList() {\n    return <Object?>[status, capacity, cachedNdefMessage];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NdefPigeon decode(Object result) {\n    result as List<Object?>;\n    return NdefPigeon(\n      status: result[0]! as NdefStatusPigeon,\n      capacity: result[1]! as int,\n      cachedNdefMessage: result[2] as NdefMessagePigeon?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NdefPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(status, other.status) &&\n        _deepEquals(capacity, other.capacity) &&\n        _deepEquals(cachedNdefMessage, other.cachedNdefMessage);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass FeliCaPigeon {\n  FeliCaPigeon({required this.currentSystemCode, required this.currentIDm});\n\n  Uint8List currentSystemCode;\n\n  Uint8List currentIDm;\n\n  List<Object?> _toList() {\n    return <Object?>[currentSystemCode, currentIDm];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static FeliCaPigeon decode(Object result) {\n    result as List<Object?>;\n    return FeliCaPigeon(\n      currentSystemCode: result[0]! as Uint8List,\n      currentIDm: result[1]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! FeliCaPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(currentSystemCode, other.currentSystemCode) &&\n        _deepEquals(currentIDm, other.currentIDm);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass Iso15693Pigeon {\n  Iso15693Pigeon({\n    required this.icManufacturerCode,\n    required this.icSerialNumber,\n    required this.identifier,\n  });\n\n  int icManufacturerCode;\n\n  Uint8List icSerialNumber;\n\n  Uint8List identifier;\n\n  List<Object?> _toList() {\n    return <Object?>[icManufacturerCode, icSerialNumber, identifier];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static Iso15693Pigeon decode(Object result) {\n    result as List<Object?>;\n    return Iso15693Pigeon(\n      icManufacturerCode: result[0]! as int,\n      icSerialNumber: result[1]! as Uint8List,\n      identifier: result[2]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! Iso15693Pigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(icManufacturerCode, other.icManufacturerCode) &&\n        _deepEquals(icSerialNumber, other.icSerialNumber) &&\n        _deepEquals(identifier, other.identifier);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass Iso7816Pigeon {\n  Iso7816Pigeon({\n    required this.initialSelectedAID,\n    required this.identifier,\n    this.historicalBytes,\n    this.applicationData,\n    required this.proprietaryApplicationDataCoding,\n  });\n\n  String initialSelectedAID;\n\n  Uint8List identifier;\n\n  Uint8List? historicalBytes;\n\n  Uint8List? applicationData;\n\n  bool proprietaryApplicationDataCoding;\n\n  List<Object?> _toList() {\n    return <Object?>[\n      initialSelectedAID,\n      identifier,\n      historicalBytes,\n      applicationData,\n      proprietaryApplicationDataCoding,\n    ];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static Iso7816Pigeon decode(Object result) {\n    result as List<Object?>;\n    return Iso7816Pigeon(\n      initialSelectedAID: result[0]! as String,\n      identifier: result[1]! as Uint8List,\n      historicalBytes: result[2] as Uint8List?,\n      applicationData: result[3] as Uint8List?,\n      proprietaryApplicationDataCoding: result[4]! as bool,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! Iso7816Pigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(initialSelectedAID, other.initialSelectedAID) &&\n        _deepEquals(identifier, other.identifier) &&\n        _deepEquals(historicalBytes, other.historicalBytes) &&\n        _deepEquals(applicationData, other.applicationData) &&\n        _deepEquals(\n          proprietaryApplicationDataCoding,\n          other.proprietaryApplicationDataCoding,\n        );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass MiFarePigeon {\n  MiFarePigeon({\n    required this.mifareFamily,\n    required this.identifier,\n    this.historicalBytes,\n  });\n\n  MiFareFamilyPigeon mifareFamily;\n\n  Uint8List identifier;\n\n  Uint8List? historicalBytes;\n\n  List<Object?> _toList() {\n    return <Object?>[mifareFamily, identifier, historicalBytes];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static MiFarePigeon decode(Object result) {\n    result as List<Object?>;\n    return MiFarePigeon(\n      mifareFamily: result[0]! as MiFareFamilyPigeon,\n      identifier: result[1]! as Uint8List,\n      historicalBytes: result[2] as Uint8List?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! MiFarePigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(mifareFamily, other.mifareFamily) &&\n        _deepEquals(identifier, other.identifier) &&\n        _deepEquals(historicalBytes, other.historicalBytes);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NdefQueryStatusPigeon {\n  NdefQueryStatusPigeon({required this.status, required this.capacity});\n\n  NdefStatusPigeon status;\n\n  int capacity;\n\n  List<Object?> _toList() {\n    return <Object?>[status, capacity];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NdefQueryStatusPigeon decode(Object result) {\n    result as List<Object?>;\n    return NdefQueryStatusPigeon(\n      status: result[0]! as NdefStatusPigeon,\n      capacity: result[1]! as int,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NdefQueryStatusPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(status, other.status) &&\n        _deepEquals(capacity, other.capacity);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NdefMessagePigeon {\n  NdefMessagePigeon({required this.records});\n\n  List<NdefPayloadPigeon> records;\n\n  List<Object?> _toList() {\n    return <Object?>[records];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NdefMessagePigeon decode(Object result) {\n    result as List<Object?>;\n    return NdefMessagePigeon(\n      records: (result[0]! as List<Object?>).cast<NdefPayloadPigeon>(),\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NdefMessagePigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(records, other.records);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NdefPayloadPigeon {\n  NdefPayloadPigeon({\n    required this.typeNameFormat,\n    required this.type,\n    required this.identifier,\n    required this.payload,\n  });\n\n  TypeNameFormatPigeon typeNameFormat;\n\n  Uint8List type;\n\n  Uint8List identifier;\n\n  Uint8List payload;\n\n  List<Object?> _toList() {\n    return <Object?>[typeNameFormat, type, identifier, payload];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NdefPayloadPigeon decode(Object result) {\n    result as List<Object?>;\n    return NdefPayloadPigeon(\n      typeNameFormat: result[0]! as TypeNameFormatPigeon,\n      type: result[1]! as Uint8List,\n      identifier: result[2]! as Uint8List,\n      payload: result[3]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NdefPayloadPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(typeNameFormat, other.typeNameFormat) &&\n        _deepEquals(type, other.type) &&\n        _deepEquals(identifier, other.identifier) &&\n        _deepEquals(payload, other.payload);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass FeliCaPollingResponsePigeon {\n  FeliCaPollingResponsePigeon({\n    required this.manufacturerParameter,\n    this.requestData,\n  });\n\n  Uint8List manufacturerParameter;\n\n  Uint8List? requestData;\n\n  List<Object?> _toList() {\n    return <Object?>[manufacturerParameter, requestData];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static FeliCaPollingResponsePigeon decode(Object result) {\n    result as List<Object?>;\n    return FeliCaPollingResponsePigeon(\n      manufacturerParameter: result[0]! as Uint8List,\n      requestData: result[1] as Uint8List?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! FeliCaPollingResponsePigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(manufacturerParameter, other.manufacturerParameter) &&\n        _deepEquals(requestData, other.requestData);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass FeliCaReadWithoutEncryptionResponsePigeon {\n  FeliCaReadWithoutEncryptionResponsePigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.blockData,\n  });\n\n  int statusFlag1;\n\n  int statusFlag2;\n\n  List<Uint8List> blockData;\n\n  List<Object?> _toList() {\n    return <Object?>[statusFlag1, statusFlag2, blockData];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static FeliCaReadWithoutEncryptionResponsePigeon decode(Object result) {\n    result as List<Object?>;\n    return FeliCaReadWithoutEncryptionResponsePigeon(\n      statusFlag1: result[0]! as int,\n      statusFlag2: result[1]! as int,\n      blockData: (result[2]! as List<Object?>).cast<Uint8List>(),\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! FeliCaReadWithoutEncryptionResponsePigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(statusFlag1, other.statusFlag1) &&\n        _deepEquals(statusFlag2, other.statusFlag2) &&\n        _deepEquals(blockData, other.blockData);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass FeliCaRequestServiceV2ResponsePigeon {\n  FeliCaRequestServiceV2ResponsePigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.encryptionIdentifier,\n    this.nodeKeyVersionListAES,\n    this.nodeKeyVersionListDES,\n  });\n\n  int statusFlag1;\n\n  int statusFlag2;\n\n  int encryptionIdentifier;\n\n  List<Uint8List>? nodeKeyVersionListAES;\n\n  List<Uint8List>? nodeKeyVersionListDES;\n\n  List<Object?> _toList() {\n    return <Object?>[\n      statusFlag1,\n      statusFlag2,\n      encryptionIdentifier,\n      nodeKeyVersionListAES,\n      nodeKeyVersionListDES,\n    ];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static FeliCaRequestServiceV2ResponsePigeon decode(Object result) {\n    result as List<Object?>;\n    return FeliCaRequestServiceV2ResponsePigeon(\n      statusFlag1: result[0]! as int,\n      statusFlag2: result[1]! as int,\n      encryptionIdentifier: result[2]! as int,\n      nodeKeyVersionListAES: (result[3] as List<Object?>?)?.cast<Uint8List>(),\n      nodeKeyVersionListDES: (result[4] as List<Object?>?)?.cast<Uint8List>(),\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! FeliCaRequestServiceV2ResponsePigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(statusFlag1, other.statusFlag1) &&\n        _deepEquals(statusFlag2, other.statusFlag2) &&\n        _deepEquals(encryptionIdentifier, other.encryptionIdentifier) &&\n        _deepEquals(nodeKeyVersionListAES, other.nodeKeyVersionListAES) &&\n        _deepEquals(nodeKeyVersionListDES, other.nodeKeyVersionListDES);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass FeliCaRequestSpecificationVersionResponsePigeon {\n  FeliCaRequestSpecificationVersionResponsePigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    this.basicVersion,\n    this.optionVersion,\n  });\n\n  int statusFlag1;\n\n  int statusFlag2;\n\n  Uint8List? basicVersion;\n\n  Uint8List? optionVersion;\n\n  List<Object?> _toList() {\n    return <Object?>[statusFlag1, statusFlag2, basicVersion, optionVersion];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static FeliCaRequestSpecificationVersionResponsePigeon decode(Object result) {\n    result as List<Object?>;\n    return FeliCaRequestSpecificationVersionResponsePigeon(\n      statusFlag1: result[0]! as int,\n      statusFlag2: result[1]! as int,\n      basicVersion: result[2] as Uint8List?,\n      optionVersion: result[3] as Uint8List?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! FeliCaRequestSpecificationVersionResponsePigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(statusFlag1, other.statusFlag1) &&\n        _deepEquals(statusFlag2, other.statusFlag2) &&\n        _deepEquals(basicVersion, other.basicVersion) &&\n        _deepEquals(optionVersion, other.optionVersion);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass FeliCaStatusFlagPigeon {\n  FeliCaStatusFlagPigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n  });\n\n  int statusFlag1;\n\n  int statusFlag2;\n\n  List<Object?> _toList() {\n    return <Object?>[statusFlag1, statusFlag2];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static FeliCaStatusFlagPigeon decode(Object result) {\n    result as List<Object?>;\n    return FeliCaStatusFlagPigeon(\n      statusFlag1: result[0]! as int,\n      statusFlag2: result[1]! as int,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! FeliCaStatusFlagPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(statusFlag1, other.statusFlag1) &&\n        _deepEquals(statusFlag2, other.statusFlag2);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass Iso7816ApduPigeon {\n  Iso7816ApduPigeon({\n    required this.instructionClass,\n    required this.instructionCode,\n    required this.p1Parameter,\n    required this.p2Parameter,\n    required this.data,\n    required this.expectedResponseLength,\n  });\n\n  int instructionClass;\n\n  int instructionCode;\n\n  int p1Parameter;\n\n  int p2Parameter;\n\n  Uint8List data;\n\n  int expectedResponseLength;\n\n  List<Object?> _toList() {\n    return <Object?>[\n      instructionClass,\n      instructionCode,\n      p1Parameter,\n      p2Parameter,\n      data,\n      expectedResponseLength,\n    ];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static Iso7816ApduPigeon decode(Object result) {\n    result as List<Object?>;\n    return Iso7816ApduPigeon(\n      instructionClass: result[0]! as int,\n      instructionCode: result[1]! as int,\n      p1Parameter: result[2]! as int,\n      p2Parameter: result[3]! as int,\n      data: result[4]! as Uint8List,\n      expectedResponseLength: result[5]! as int,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! Iso7816ApduPigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(instructionClass, other.instructionClass) &&\n        _deepEquals(instructionCode, other.instructionCode) &&\n        _deepEquals(p1Parameter, other.p1Parameter) &&\n        _deepEquals(p2Parameter, other.p2Parameter) &&\n        _deepEquals(data, other.data) &&\n        _deepEquals(expectedResponseLength, other.expectedResponseLength);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass Iso7816ResponseApduPigeon {\n  Iso7816ResponseApduPigeon({\n    required this.payload,\n    required this.statusWord1,\n    required this.statusWord2,\n  });\n\n  Uint8List payload;\n\n  int statusWord1;\n\n  int statusWord2;\n\n  List<Object?> _toList() {\n    return <Object?>[payload, statusWord1, statusWord2];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static Iso7816ResponseApduPigeon decode(Object result) {\n    result as List<Object?>;\n    return Iso7816ResponseApduPigeon(\n      payload: result[0]! as Uint8List,\n      statusWord1: result[1]! as int,\n      statusWord2: result[2]! as int,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! Iso7816ResponseApduPigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(payload, other.payload) &&\n        _deepEquals(statusWord1, other.statusWord1) &&\n        _deepEquals(statusWord2, other.statusWord2);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass Iso15693SystemInfoPigeon {\n  Iso15693SystemInfoPigeon({\n    required this.dataStorageFormatIdentifier,\n    required this.applicationFamilyIdentifier,\n    required this.blockSize,\n    required this.totalBlocks,\n    required this.icReference,\n  });\n\n  int dataStorageFormatIdentifier;\n\n  int applicationFamilyIdentifier;\n\n  int blockSize;\n\n  int totalBlocks;\n\n  int icReference;\n\n  List<Object?> _toList() {\n    return <Object?>[\n      dataStorageFormatIdentifier,\n      applicationFamilyIdentifier,\n      blockSize,\n      totalBlocks,\n      icReference,\n    ];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static Iso15693SystemInfoPigeon decode(Object result) {\n    result as List<Object?>;\n    return Iso15693SystemInfoPigeon(\n      dataStorageFormatIdentifier: result[0]! as int,\n      applicationFamilyIdentifier: result[1]! as int,\n      blockSize: result[2]! as int,\n      totalBlocks: result[3]! as int,\n      icReference: result[4]! as int,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! Iso15693SystemInfoPigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(\n          dataStorageFormatIdentifier,\n          other.dataStorageFormatIdentifier,\n        ) &&\n        _deepEquals(\n          applicationFamilyIdentifier,\n          other.applicationFamilyIdentifier,\n        ) &&\n        _deepEquals(blockSize, other.blockSize) &&\n        _deepEquals(totalBlocks, other.totalBlocks) &&\n        _deepEquals(icReference, other.icReference);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcReaderSessionErrorPigeon {\n  NfcReaderSessionErrorPigeon({required this.code, required this.message});\n\n  NfcReaderErrorCodePigeon code;\n\n  String message;\n\n  List<Object?> _toList() {\n    return <Object?>[code, message];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcReaderSessionErrorPigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcReaderSessionErrorPigeon(\n      code: result[0]! as NfcReaderErrorCodePigeon,\n      message: result[1]! as String,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcReaderSessionErrorPigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(code, other.code) && _deepEquals(message, other.message);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcVasCommandConfigurationPigeon {\n  NfcVasCommandConfigurationPigeon({\n    required this.mode,\n    required this.passIdentifier,\n    this.url,\n  });\n\n  NfcVasCommandConfigurationModePigeon mode;\n\n  String passIdentifier;\n\n  String? url;\n\n  List<Object?> _toList() {\n    return <Object?>[mode, passIdentifier, url];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcVasCommandConfigurationPigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcVasCommandConfigurationPigeon(\n      mode: result[0]! as NfcVasCommandConfigurationModePigeon,\n      passIdentifier: result[1]! as String,\n      url: result[2] as String?,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcVasCommandConfigurationPigeon ||\n        other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(mode, other.mode) &&\n        _deepEquals(passIdentifier, other.passIdentifier) &&\n        _deepEquals(url, other.url);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass NfcVasResponsePigeon {\n  NfcVasResponsePigeon({\n    required this.status,\n    required this.vasData,\n    required this.mobileToken,\n  });\n\n  NfcVasResponseErrorCodePigeon status;\n\n  Uint8List vasData;\n\n  Uint8List mobileToken;\n\n  List<Object?> _toList() {\n    return <Object?>[status, vasData, mobileToken];\n  }\n\n  Object encode() {\n    return _toList();\n  }\n\n  static NfcVasResponsePigeon decode(Object result) {\n    result as List<Object?>;\n    return NfcVasResponsePigeon(\n      status: result[0]! as NfcVasResponseErrorCodePigeon,\n      vasData: result[1]! as Uint8List,\n      mobileToken: result[2]! as Uint8List,\n    );\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  bool operator ==(Object other) {\n    if (other is! NfcVasResponsePigeon || other.runtimeType != runtimeType) {\n      return false;\n    }\n    if (identical(this, other)) {\n      return true;\n    }\n    return _deepEquals(status, other.status) &&\n        _deepEquals(vasData, other.vasData) &&\n        _deepEquals(mobileToken, other.mobileToken);\n  }\n\n  @override\n  // ignore: avoid_equals_and_hash_code_on_mutable_classes\n  int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);\n}\n\nclass _PigeonCodec extends StandardMessageCodec {\n  const _PigeonCodec();\n  @override\n  void writeValue(WriteBuffer buffer, Object? value) {\n    if (value is int) {\n      buffer.putUint8(4);\n      buffer.putInt64(value);\n    } else if (value is PollingOptionPigeon) {\n      buffer.putUint8(129);\n      writeValue(buffer, value.index);\n    } else if (value is NdefStatusPigeon) {\n      buffer.putUint8(130);\n      writeValue(buffer, value.index);\n    } else if (value is TypeNameFormatPigeon) {\n      buffer.putUint8(131);\n      writeValue(buffer, value.index);\n    } else if (value is FeliCaPollingRequestCodePigeon) {\n      buffer.putUint8(132);\n      writeValue(buffer, value.index);\n    } else if (value is FeliCaPollingTimeSlotPigeon) {\n      buffer.putUint8(133);\n      writeValue(buffer, value.index);\n    } else if (value is MiFareFamilyPigeon) {\n      buffer.putUint8(134);\n      writeValue(buffer, value.index);\n    } else if (value is Iso15693RequestFlagPigeon) {\n      buffer.putUint8(135);\n      writeValue(buffer, value.index);\n    } else if (value is NfcVasCommandConfigurationModePigeon) {\n      buffer.putUint8(136);\n      writeValue(buffer, value.index);\n    } else if (value is NfcReaderErrorCodePigeon) {\n      buffer.putUint8(137);\n      writeValue(buffer, value.index);\n    } else if (value is NfcVasResponseErrorCodePigeon) {\n      buffer.putUint8(138);\n      writeValue(buffer, value.index);\n    } else if (value is TagPigeon) {\n      buffer.putUint8(139);\n      writeValue(buffer, value.encode());\n    } else if (value is NdefPigeon) {\n      buffer.putUint8(140);\n      writeValue(buffer, value.encode());\n    } else if (value is FeliCaPigeon) {\n      buffer.putUint8(141);\n      writeValue(buffer, value.encode());\n    } else if (value is Iso15693Pigeon) {\n      buffer.putUint8(142);\n      writeValue(buffer, value.encode());\n    } else if (value is Iso7816Pigeon) {\n      buffer.putUint8(143);\n      writeValue(buffer, value.encode());\n    } else if (value is MiFarePigeon) {\n      buffer.putUint8(144);\n      writeValue(buffer, value.encode());\n    } else if (value is NdefQueryStatusPigeon) {\n      buffer.putUint8(145);\n      writeValue(buffer, value.encode());\n    } else if (value is NdefMessagePigeon) {\n      buffer.putUint8(146);\n      writeValue(buffer, value.encode());\n    } else if (value is NdefPayloadPigeon) {\n      buffer.putUint8(147);\n      writeValue(buffer, value.encode());\n    } else if (value is FeliCaPollingResponsePigeon) {\n      buffer.putUint8(148);\n      writeValue(buffer, value.encode());\n    } else if (value is FeliCaReadWithoutEncryptionResponsePigeon) {\n      buffer.putUint8(149);\n      writeValue(buffer, value.encode());\n    } else if (value is FeliCaRequestServiceV2ResponsePigeon) {\n      buffer.putUint8(150);\n      writeValue(buffer, value.encode());\n    } else if (value is FeliCaRequestSpecificationVersionResponsePigeon) {\n      buffer.putUint8(151);\n      writeValue(buffer, value.encode());\n    } else if (value is FeliCaStatusFlagPigeon) {\n      buffer.putUint8(152);\n      writeValue(buffer, value.encode());\n    } else if (value is Iso7816ApduPigeon) {\n      buffer.putUint8(153);\n      writeValue(buffer, value.encode());\n    } else if (value is Iso7816ResponseApduPigeon) {\n      buffer.putUint8(154);\n      writeValue(buffer, value.encode());\n    } else if (value is Iso15693SystemInfoPigeon) {\n      buffer.putUint8(155);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcReaderSessionErrorPigeon) {\n      buffer.putUint8(156);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcVasCommandConfigurationPigeon) {\n      buffer.putUint8(157);\n      writeValue(buffer, value.encode());\n    } else if (value is NfcVasResponsePigeon) {\n      buffer.putUint8(158);\n      writeValue(buffer, value.encode());\n    } else {\n      super.writeValue(buffer, value);\n    }\n  }\n\n  @override\n  Object? readValueOfType(int type, ReadBuffer buffer) {\n    switch (type) {\n      case 129:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : PollingOptionPigeon.values[value];\n      case 130:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : NdefStatusPigeon.values[value];\n      case 131:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : TypeNameFormatPigeon.values[value];\n      case 132:\n        final value = readValue(buffer) as int?;\n        return value == null\n            ? null\n            : FeliCaPollingRequestCodePigeon.values[value];\n      case 133:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : FeliCaPollingTimeSlotPigeon.values[value];\n      case 134:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : MiFareFamilyPigeon.values[value];\n      case 135:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : Iso15693RequestFlagPigeon.values[value];\n      case 136:\n        final value = readValue(buffer) as int?;\n        return value == null\n            ? null\n            : NfcVasCommandConfigurationModePigeon.values[value];\n      case 137:\n        final value = readValue(buffer) as int?;\n        return value == null ? null : NfcReaderErrorCodePigeon.values[value];\n      case 138:\n        final value = readValue(buffer) as int?;\n        return value == null\n            ? null\n            : NfcVasResponseErrorCodePigeon.values[value];\n      case 139:\n        return TagPigeon.decode(readValue(buffer)!);\n      case 140:\n        return NdefPigeon.decode(readValue(buffer)!);\n      case 141:\n        return FeliCaPigeon.decode(readValue(buffer)!);\n      case 142:\n        return Iso15693Pigeon.decode(readValue(buffer)!);\n      case 143:\n        return Iso7816Pigeon.decode(readValue(buffer)!);\n      case 144:\n        return MiFarePigeon.decode(readValue(buffer)!);\n      case 145:\n        return NdefQueryStatusPigeon.decode(readValue(buffer)!);\n      case 146:\n        return NdefMessagePigeon.decode(readValue(buffer)!);\n      case 147:\n        return NdefPayloadPigeon.decode(readValue(buffer)!);\n      case 148:\n        return FeliCaPollingResponsePigeon.decode(readValue(buffer)!);\n      case 149:\n        return FeliCaReadWithoutEncryptionResponsePigeon.decode(\n          readValue(buffer)!,\n        );\n      case 150:\n        return FeliCaRequestServiceV2ResponsePigeon.decode(readValue(buffer)!);\n      case 151:\n        return FeliCaRequestSpecificationVersionResponsePigeon.decode(\n          readValue(buffer)!,\n        );\n      case 152:\n        return FeliCaStatusFlagPigeon.decode(readValue(buffer)!);\n      case 153:\n        return Iso7816ApduPigeon.decode(readValue(buffer)!);\n      case 154:\n        return Iso7816ResponseApduPigeon.decode(readValue(buffer)!);\n      case 155:\n        return Iso15693SystemInfoPigeon.decode(readValue(buffer)!);\n      case 156:\n        return NfcReaderSessionErrorPigeon.decode(readValue(buffer)!);\n      case 157:\n        return NfcVasCommandConfigurationPigeon.decode(readValue(buffer)!);\n      case 158:\n        return NfcVasResponsePigeon.decode(readValue(buffer)!);\n      default:\n        return super.readValueOfType(type, buffer);\n    }\n  }\n}\n\nabstract class FlutterApiPigeon {\n  static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();\n\n  void tagSessionDidBecomeActive();\n\n  void tagSessionDidDetect(TagPigeon tag);\n\n  void tagSessionDidInvalidateWithError(NfcReaderSessionErrorPigeon error);\n\n  void vasSessionDidBecomeActive();\n\n  void vasSessionDidReceive(List<NfcVasResponsePigeon> responses);\n\n  void vasSessionDidInvalidateWithError(NfcReaderSessionErrorPigeon error);\n\n  static void setUp(\n    FlutterApiPigeon? api, {\n    BinaryMessenger? binaryMessenger,\n    String messageChannelSuffix = '',\n  }) {\n    messageChannelSuffix = messageChannelSuffix.isNotEmpty\n        ? '.$messageChannelSuffix'\n        : '';\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.tagSessionDidBecomeActive$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          try {\n            api.tagSessionDidBecomeActive();\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.tagSessionDidDetect$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          final List<Object?> args = message! as List<Object?>;\n          final TagPigeon arg_tag = args[0]! as TagPigeon;\n          try {\n            api.tagSessionDidDetect(arg_tag);\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.tagSessionDidInvalidateWithError$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          final List<Object?> args = message! as List<Object?>;\n          final NfcReaderSessionErrorPigeon arg_error =\n              args[0]! as NfcReaderSessionErrorPigeon;\n          try {\n            api.tagSessionDidInvalidateWithError(arg_error);\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.vasSessionDidBecomeActive$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          try {\n            api.vasSessionDidBecomeActive();\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.vasSessionDidReceive$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          final List<Object?> args = message! as List<Object?>;\n          final List<NfcVasResponsePigeon> arg_responses =\n              (args[0]! as List<Object?>).cast<NfcVasResponsePigeon>();\n          try {\n            api.vasSessionDidReceive(arg_responses);\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n    {\n      final pigeonVar_channel = BasicMessageChannel<Object?>(\n        'dev.flutter.pigeon.nfc_manager.FlutterApiPigeon.vasSessionDidInvalidateWithError$messageChannelSuffix',\n        pigeonChannelCodec,\n        binaryMessenger: binaryMessenger,\n      );\n      if (api == null) {\n        pigeonVar_channel.setMessageHandler(null);\n      } else {\n        pigeonVar_channel.setMessageHandler((Object? message) async {\n          final List<Object?> args = message! as List<Object?>;\n          final NfcReaderSessionErrorPigeon arg_error =\n              args[0]! as NfcReaderSessionErrorPigeon;\n          try {\n            api.vasSessionDidInvalidateWithError(arg_error);\n            return wrapResponse(empty: true);\n          } on PlatformException catch (e) {\n            return wrapResponse(error: e);\n          } catch (e) {\n            return wrapResponse(\n              error: PlatformException(code: 'error', message: e.toString()),\n            );\n          }\n        });\n      }\n    }\n  }\n}\n\nclass HostApiPigeon {\n  /// Constructor for [HostApiPigeon].  The [binaryMessenger] named argument is\n  /// available for dependency injection.  If it is left null, the default\n  /// BinaryMessenger will be used which routes to the host platform.\n  HostApiPigeon({\n    BinaryMessenger? binaryMessenger,\n    String messageChannelSuffix = '',\n  }) : pigeonVar_binaryMessenger = binaryMessenger,\n       pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty\n           ? '.$messageChannelSuffix'\n           : '';\n  final BinaryMessenger? pigeonVar_binaryMessenger;\n\n  static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();\n\n  final String pigeonVar_messageChannelSuffix;\n\n  Future<bool> tagSessionReadingAvailable() async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionReadingAvailable$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<void> tagSessionBegin({\n    required List<PollingOptionPigeon> pollingOptions,\n    required String? alertMessage,\n    required bool invalidateAfterFirstRead,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionBegin$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[pollingOptions, alertMessage, invalidateAfterFirstRead],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> tagSessionInvalidate({\n    required String? alertMessage,\n    required String? errorMessage,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionInvalidate$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[alertMessage, errorMessage],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> tagSessionRestartPolling() async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionRestartPolling$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> tagSessionSetAlertMessage({required String alertMessage}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.tagSessionSetAlertMessage$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[alertMessage],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<bool> vasSessionReadingAvailable() async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionReadingAvailable$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as bool;\n  }\n\n  Future<void> vasSessionBegin({\n    required List<NfcVasCommandConfigurationPigeon> configurations,\n    required String? alertMessage,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionBegin$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[configurations, alertMessage],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> vasSessionInvalidate({\n    required String? alertMessage,\n    required String? errorMessage,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionInvalidate$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[alertMessage, errorMessage],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> vasSessionSetAlertMessage({required String alertMessage}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.vasSessionSetAlertMessage$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[alertMessage],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<NdefQueryStatusPigeon> ndefQueryNdefStatus({\n    required String handle,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefQueryNdefStatus$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as NdefQueryStatusPigeon;\n  }\n\n  Future<NdefMessagePigeon?> ndefReadNdef({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefReadNdef$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n    return pigeonVar_replyValue as NdefMessagePigeon?;\n  }\n\n  Future<void> ndefWriteNdef({\n    required String handle,\n    required NdefMessagePigeon message,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefWriteNdef$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, message],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> ndefWriteLock({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.ndefWriteLock$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<FeliCaPollingResponsePigeon> feliCaPolling({\n    required String handle,\n    required Uint8List systemCode,\n    required FeliCaPollingRequestCodePigeon requestCode,\n    required FeliCaPollingTimeSlotPigeon timeSlot,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaPolling$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, systemCode, requestCode, timeSlot],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as FeliCaPollingResponsePigeon;\n  }\n\n  Future<List<Uint8List>> feliCaRequestService({\n    required String handle,\n    required List<Uint8List> nodeCodeList,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestService$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, nodeCodeList],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return (pigeonVar_replyValue! as List<Object?>).cast<Uint8List>();\n  }\n\n  Future<int> feliCaRequestResponse({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestResponse$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as int;\n  }\n\n  Future<FeliCaReadWithoutEncryptionResponsePigeon>\n  feliCaReadWithoutEncryption({\n    required String handle,\n    required List<Uint8List> serviceCodeList,\n    required List<Uint8List> blockList,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaReadWithoutEncryption$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, serviceCodeList, blockList],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as FeliCaReadWithoutEncryptionResponsePigeon;\n  }\n\n  Future<FeliCaStatusFlagPigeon> feliCaWriteWithoutEncryption({\n    required String handle,\n    required List<Uint8List> serviceCodeList,\n    required List<Uint8List> blockList,\n    required List<Uint8List> blockData,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaWriteWithoutEncryption$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, serviceCodeList, blockList, blockData],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as FeliCaStatusFlagPigeon;\n  }\n\n  Future<List<Uint8List>> feliCaRequestSystemCode({\n    required String handle,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestSystemCode$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return (pigeonVar_replyValue! as List<Object?>).cast<Uint8List>();\n  }\n\n  Future<FeliCaRequestServiceV2ResponsePigeon> feliCaRequestServiceV2({\n    required String handle,\n    required List<Uint8List> nodeCodeList,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestServiceV2$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, nodeCodeList],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as FeliCaRequestServiceV2ResponsePigeon;\n  }\n\n  Future<FeliCaRequestSpecificationVersionResponsePigeon>\n  feliCaRequestSpecificationVersion({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaRequestSpecificationVersion$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue!\n        as FeliCaRequestSpecificationVersionResponsePigeon;\n  }\n\n  Future<FeliCaStatusFlagPigeon> feliCaResetMode({\n    required String handle,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaResetMode$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as FeliCaStatusFlagPigeon;\n  }\n\n  Future<Uint8List> feliCaSendFeliCaCommand({\n    required String handle,\n    required Uint8List commandPacket,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.feliCaSendFeliCaCommand$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, commandPacket],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<Uint8List> miFareSendMiFareCommand({\n    required String handle,\n    required Uint8List commandPacket,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.miFareSendMiFareCommand$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, commandPacket],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<Iso7816ResponseApduPigeon> miFareSendMiFareISO7816Command({\n    required String handle,\n    required Iso7816ApduPigeon apdu,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.miFareSendMiFareISO7816Command$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, apdu],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Iso7816ResponseApduPigeon;\n  }\n\n  Future<Iso7816ResponseApduPigeon> miFareSendMiFareISO7816CommandRaw({\n    required String handle,\n    required Uint8List data,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.miFareSendMiFareISO7816CommandRaw$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, data],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Iso7816ResponseApduPigeon;\n  }\n\n  Future<Iso7816ResponseApduPigeon> iso7816SendCommand({\n    required String handle,\n    required Iso7816ApduPigeon apdu,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso7816SendCommand$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, apdu],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Iso7816ResponseApduPigeon;\n  }\n\n  Future<Iso7816ResponseApduPigeon> iso7816SendCommandRaw({\n    required String handle,\n    required Uint8List data,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso7816SendCommandRaw$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, data],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Iso7816ResponseApduPigeon;\n  }\n\n  Future<void> iso15693StayQuiet({required String handle}) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693StayQuiet$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Uint8List> iso15693ReadSingleBlock({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int blockNumber,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693ReadSingleBlock$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, blockNumber],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n\n  Future<void> iso15693WriteSingleBlock({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int blockNumber,\n    required Uint8List dataBlock,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteSingleBlock$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, blockNumber, dataBlock],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> iso15693LockBlock({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int blockNumber,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693LockBlock$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, blockNumber],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<List<Uint8List>> iso15693ReadMultipleBlocks({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int blockNumber,\n    required int numberOfBlocks,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693ReadMultipleBlocks$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, blockNumber, numberOfBlocks],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return (pigeonVar_replyValue! as List<Object?>).cast<Uint8List>();\n  }\n\n  Future<void> iso15693WriteMultipleBlocks({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int blockNumber,\n    required int numberOfBlocks,\n    required List<Uint8List> dataBlocks,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteMultipleBlocks$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, blockNumber, numberOfBlocks, dataBlocks],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> iso15693Select({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693Select$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> iso15693ResetToReady({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693ResetToReady$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> iso15693WriteAfi({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int afi,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteAfi$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, afi],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> iso15693LockAfi({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693LockAfi$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> iso15693WriteDsfId({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int dsfId,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693WriteDsfId$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, dsfId],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<void> iso15693LockDsfId({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693LockDsfId$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: true,\n    );\n  }\n\n  Future<Iso15693SystemInfoPigeon> iso15693GetSystemInfo({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693GetSystemInfo$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Iso15693SystemInfoPigeon;\n  }\n\n  Future<List<int>> iso15693GetMultipleBlockSecurityStatus({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int blockNumber,\n    required int numberOfBlocks,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693GetMultipleBlockSecurityStatus$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[handle, requestFlags, blockNumber, numberOfBlocks],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return (pigeonVar_replyValue! as List<Object?>).cast<int>();\n  }\n\n  Future<Uint8List> iso15693CustomCommand({\n    required String handle,\n    required List<Iso15693RequestFlagPigeon> requestFlags,\n    required int customCommandCode,\n    required Uint8List customRequestParameters,\n  }) async {\n    final pigeonVar_channelName =\n        'dev.flutter.pigeon.nfc_manager.HostApiPigeon.iso15693CustomCommand$pigeonVar_messageChannelSuffix';\n    final pigeonVar_channel = BasicMessageChannel<Object?>(\n      pigeonVar_channelName,\n      pigeonChannelCodec,\n      binaryMessenger: pigeonVar_binaryMessenger,\n    );\n    final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(\n      <Object?>[\n        handle,\n        requestFlags,\n        customCommandCode,\n        customRequestParameters,\n      ],\n    );\n    final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;\n\n    final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(\n      pigeonVar_replyList,\n      pigeonVar_channelName,\n      isNullValid: false,\n    );\n    return pigeonVar_replyValue! as Uint8List;\n  }\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/tags/felica.dart",
    "content": "import 'package:flutter/foundation.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.g.dart';\n\n/// Provides access to FeliCa operations for iOS.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class FeliCaIos {\n  const FeliCaIos._(\n    this._handle, {\n    required this.currentSystemCode,\n    required this.currentIDm,\n  });\n\n  final String _handle;\n\n  // DOC:\n  final Uint8List currentSystemCode;\n\n  // DOC:\n  final Uint8List currentIDm;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static FeliCaIos? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.feliCa;\n    if (data == null || tech == null) return null;\n    return FeliCaIos._(\n      data.handle,\n      currentSystemCode: tech.currentSystemCode,\n      currentIDm: tech.currentIDm,\n    );\n  }\n\n  // DOC:\n  Future<FeliCaPollingResponseIos> polling({\n    required Uint8List systemCode,\n    required FeliCaPollingRequestCodeIos requestCode,\n    required FeliCaPollingTimeSlotIos timeSlot,\n  }) {\n    return hostApi\n        .feliCaPolling(\n          handle: _handle,\n          systemCode: systemCode,\n          requestCode: FeliCaPollingRequestCodePigeon.values.byName(\n            requestCode.name,\n          ),\n          timeSlot: FeliCaPollingTimeSlotPigeon.values.byName(timeSlot.name),\n        )\n        .then(\n          (value) => FeliCaPollingResponseIos(\n            manufacturerParameter: value.manufacturerParameter,\n            requestData: value.requestData,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<List<Uint8List>> requestService({\n    required List<Uint8List> nodeCodeList,\n  }) {\n    return hostApi\n        .feliCaRequestService(handle: _handle, nodeCodeList: nodeCodeList)\n        .then((value) => List.from(value));\n  }\n\n  // DOC:\n  Future<int> requestResponse() {\n    return hostApi.feliCaRequestResponse(handle: _handle);\n  }\n\n  // DOC:\n  Future<FeliCaReadWithoutEncryptionResponseIos> readWithoutEncryption({\n    required List<Uint8List> serviceCodeList,\n    required List<Uint8List> blockList,\n  }) {\n    return hostApi\n        .feliCaReadWithoutEncryption(\n          handle: _handle,\n          serviceCodeList: serviceCodeList,\n          blockList: blockList,\n        )\n        .then(\n          (value) => FeliCaReadWithoutEncryptionResponseIos(\n            statusFlag1: value.statusFlag1,\n            statusFlag2: value.statusFlag2,\n            blockData: List.from(value.blockData),\n          ),\n        );\n  }\n\n  // DOC:\n  Future<FeliCaStatusFlagIos> writeWithoutEncryption({\n    required List<Uint8List> serviceCodeList,\n    required List<Uint8List> blockList,\n    required List<Uint8List> blockData,\n  }) {\n    return hostApi\n        .feliCaWriteWithoutEncryption(\n          handle: _handle,\n          serviceCodeList: serviceCodeList,\n          blockList: blockList,\n          blockData: blockData,\n        )\n        .then(\n          (value) => FeliCaStatusFlagIos(\n            statusFlag1: value.statusFlag1,\n            statusFlag2: value.statusFlag2,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<List<Uint8List>> requestSystemCode() {\n    return hostApi\n        .feliCaRequestSystemCode(handle: _handle)\n        .then((value) => List.from(value));\n  }\n\n  // DOC:\n  Future<FeliCaRequestServiceV2ResponseIos> requestServiceV2({\n    required List<Uint8List> nodeCodeList,\n  }) {\n    return hostApi\n        .feliCaRequestServiceV2(handle: _handle, nodeCodeList: nodeCodeList)\n        .then(\n          (value) => FeliCaRequestServiceV2ResponseIos(\n            statusFlag1: value.statusFlag1,\n            statusFlag2: value.statusFlag2,\n            encryptionIdentifier: value.encryptionIdentifier,\n            nodeKeyVersionListAes: value.nodeKeyVersionListAES != null\n                ? List.from(value.nodeKeyVersionListAES!)\n                : null,\n            nodeKeyVersionListDes: value.nodeKeyVersionListDES != null\n                ? List.from(value.nodeKeyVersionListDES!)\n                : null,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<FeliCaRequestSpecificationVersionResponseIos>\n  requestSpecificationVersion() {\n    return hostApi\n        .feliCaRequestSpecificationVersion(handle: _handle)\n        .then(\n          (value) => FeliCaRequestSpecificationVersionResponseIos(\n            statusFlag1: value.statusFlag1,\n            statusFlag2: value.statusFlag2,\n            basicVersion: value.basicVersion,\n            optionVersion: value.optionVersion,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<FeliCaStatusFlagIos> resetMode() {\n    return hostApi\n        .feliCaResetMode(handle: _handle)\n        .then(\n          (value) => FeliCaStatusFlagIos(\n            statusFlag1: value.statusFlag1,\n            statusFlag2: value.statusFlag2,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<Uint8List> sendFeliCaCommand({required Uint8List commandPacket}) {\n    return hostApi.feliCaSendFeliCaCommand(\n      handle: _handle,\n      commandPacket: commandPacket,\n    );\n  }\n}\n\n// DOC:\nfinal class FeliCaPollingResponseIos {\n  // DOC:\n  @visibleForTesting\n  const FeliCaPollingResponseIos({\n    required this.manufacturerParameter,\n    required this.requestData,\n  });\n\n  // DOC:\n  final Uint8List manufacturerParameter;\n\n  // DOC:\n  final Uint8List? requestData;\n}\n\n// DOC:\nfinal class FeliCaStatusFlagIos {\n  // DOC:\n  @visibleForTesting\n  const FeliCaStatusFlagIos({\n    required this.statusFlag1,\n    required this.statusFlag2,\n  });\n\n  // DOC:\n  final int statusFlag1;\n\n  // DOC:\n  final int statusFlag2;\n}\n\n// DOC:\nfinal class FeliCaReadWithoutEncryptionResponseIos {\n  // DOC:\n  @visibleForTesting\n  const FeliCaReadWithoutEncryptionResponseIos({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.blockData,\n  });\n\n  // DOC:\n  final int statusFlag1;\n\n  // DOC:\n  final int statusFlag2;\n\n  // DOC:\n  final List<Uint8List> blockData;\n}\n\n// DOC:\nfinal class FeliCaRequestServiceV2ResponseIos {\n  // DOC:\n  @visibleForTesting\n  const FeliCaRequestServiceV2ResponseIos({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.encryptionIdentifier,\n    required this.nodeKeyVersionListAes,\n    required this.nodeKeyVersionListDes,\n  });\n\n  // DOC:\n  final int statusFlag1;\n\n  // DOC:\n  final int statusFlag2;\n\n  // DOC:\n  final int encryptionIdentifier;\n\n  // DOC:\n  final List<Uint8List>? nodeKeyVersionListAes;\n\n  // DOC:\n  final List<Uint8List>? nodeKeyVersionListDes;\n}\n\n// DOC:\nfinal class FeliCaRequestSpecificationVersionResponseIos {\n  // DOC:\n  @visibleForTesting\n  const FeliCaRequestSpecificationVersionResponseIos({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.basicVersion,\n    required this.optionVersion,\n  });\n\n  // DOC:\n  final int statusFlag1;\n\n  // DOC:\n  final int statusFlag2;\n\n  // DOC:\n  final Uint8List? basicVersion;\n\n  // DOC:\n  final Uint8List? optionVersion;\n}\n\n// DOC:\nenum FeliCaPollingRequestCodeIos {\n  // DOC:\n  noRequest,\n\n  // DOC:\n  systemCode,\n\n  // DOC:\n  communicationPerformance,\n}\n\n// DOC:\nenum FeliCaPollingTimeSlotIos {\n  // DOC:\n  max1,\n\n  // DOC:\n  max2,\n\n  // DOC:\n  max4,\n\n  // DOC:\n  max8,\n\n  // DOC:\n  max16,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/tags/iso15693.dart",
    "content": "import 'package:flutter/foundation.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.g.dart';\n\n/// Provides access to ISO 15693 operations for iOS.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class Iso15693Ios {\n  const Iso15693Ios._(\n    this._handle, {\n    required this.identifier,\n    required this.icManufacturerCode,\n    required this.icSerialNumber,\n  });\n\n  final String _handle;\n\n  // DOC:\n  final Uint8List identifier;\n\n  // DOC:\n  final int icManufacturerCode;\n\n  // DOC:\n  final Uint8List icSerialNumber;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static Iso15693Ios? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.iso15693;\n    if (data == null || tech == null) return null;\n    return Iso15693Ios._(\n      data.handle,\n      identifier: tech.identifier,\n      icManufacturerCode: tech.icManufacturerCode,\n      icSerialNumber: tech.icSerialNumber,\n    );\n  }\n\n  // DOC:\n  Future<void> stayQuiet() {\n    return hostApi.iso15693StayQuiet(handle: _handle);\n  }\n\n  // DOC:\n  Future<Uint8List> readSingleBlock({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int blockNumber,\n  }) {\n    return hostApi.iso15693ReadSingleBlock(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n      blockNumber: blockNumber,\n    );\n  }\n\n  // DOC:\n  Future<void> writeSingleBlock({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int blockNumber,\n    required Uint8List dataBlock,\n  }) {\n    return hostApi.iso15693WriteSingleBlock(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n      blockNumber: blockNumber,\n      dataBlock: dataBlock,\n    );\n  }\n\n  // DOC:\n  Future<void> lockBlock({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int blockNumber,\n  }) {\n    return hostApi.iso15693LockBlock(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n      blockNumber: blockNumber,\n    );\n  }\n\n  // DOC:\n  Future<List<Uint8List>> readMultipleBlocks({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int blockNumber,\n    required int numberOfBlocks,\n  }) {\n    return hostApi\n        .iso15693ReadMultipleBlocks(\n          handle: _handle,\n          requestFlags: requestFlags\n              .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n              .toList(),\n          blockNumber: blockNumber,\n          numberOfBlocks: numberOfBlocks,\n        )\n        .then((value) => List.from(value));\n  }\n\n  // DOC:\n  Future<void> writeMultipleBlocks({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int blockNumber,\n    required int numberOfBlocks,\n    required List<Uint8List> dataBlocks,\n  }) {\n    return hostApi.iso15693WriteMultipleBlocks(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n      blockNumber: blockNumber,\n      numberOfBlocks: numberOfBlocks,\n      dataBlocks: dataBlocks,\n    );\n  }\n\n  // DOC:\n  Future<void> select({required Set<Iso15693RequestFlagIos> requestFlags}) {\n    return hostApi.iso15693Select(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n    );\n  }\n\n  // DOC:\n  Future<void> resetToReady({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n  }) {\n    return hostApi.iso15693ResetToReady(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n    );\n  }\n\n  // DOC:\n  Future<void> writeAfi({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int afi,\n  }) {\n    return hostApi.iso15693WriteAfi(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n      afi: afi,\n    );\n  }\n\n  // DOC:\n  Future<void> lockAfi({required Set<Iso15693RequestFlagIos> requestFlags}) {\n    return hostApi.iso15693LockAfi(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n    );\n  }\n\n  // DOC:\n  Future<void> writeDsfId({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int dsfId,\n  }) {\n    return hostApi.iso15693WriteDsfId(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n      dsfId: dsfId,\n    );\n  }\n\n  // DOC:\n  Future<void> lockDsfId({required Set<Iso15693RequestFlagIos> requestFlags}) {\n    return hostApi.iso15693LockDsfId(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n    );\n  }\n\n  // DOC:\n  Future<Iso15693SystemInfoIos> getSystemInfo({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n  }) {\n    return hostApi\n        .iso15693GetSystemInfo(\n          handle: _handle,\n          requestFlags: requestFlags\n              .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n              .toList(),\n        )\n        .then(\n          (value) => Iso15693SystemInfoIos(\n            applicationFamilyIdentifier: value.applicationFamilyIdentifier,\n            blockSize: value.blockSize,\n            dataStorageFormatIdentifier: value.dataStorageFormatIdentifier,\n            icReference: value.icReference,\n            totalBlocks: value.totalBlocks,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<List<int>> getMultipleBlockSecurityStatus({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int blockNumber,\n    required int numberOfBlocks,\n  }) {\n    return hostApi\n        .iso15693GetMultipleBlockSecurityStatus(\n          handle: _handle,\n          requestFlags: requestFlags\n              .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n              .toList(),\n          blockNumber: blockNumber,\n          numberOfBlocks: numberOfBlocks,\n        )\n        .then((value) => List.from(value));\n  }\n\n  // DOC:\n  Future<Uint8List> customCommand({\n    required Set<Iso15693RequestFlagIos> requestFlags,\n    required int customCommandCode,\n    required Uint8List customRequestParameters,\n  }) {\n    return hostApi.iso15693CustomCommand(\n      handle: _handle,\n      requestFlags: requestFlags\n          .map((e) => Iso15693RequestFlagPigeon.values.byName(e.name))\n          .toList(),\n      customCommandCode: customCommandCode,\n      customRequestParameters: customRequestParameters,\n    );\n  }\n}\n\n// DOC:\n// TODO: Add [NFCISO15693SystemInfo.uniqueIdentifier](https://developer.apple.com/documentation/corenfc/nfciso15693systeminfo/3585154-uniqueidentifier). This can be now used with iOS 14.0 or later.\nfinal class Iso15693SystemInfoIos {\n  // DOC:\n  @visibleForTesting\n  const Iso15693SystemInfoIos({\n    required this.applicationFamilyIdentifier,\n    required this.blockSize,\n    required this.dataStorageFormatIdentifier,\n    required this.icReference,\n    required this.totalBlocks,\n  });\n\n  // DOC:\n  final int applicationFamilyIdentifier;\n\n  // DOC:\n  final int blockSize;\n\n  // DOC:\n  final int dataStorageFormatIdentifier;\n\n  // DOC:\n  final int icReference;\n\n  // DOC:\n  final int totalBlocks;\n}\n\n// DOC:\n// TODO: Add [NFCISO15693RequestFlag.commandSpecificBit8](https://developer.apple.com/documentation/corenfc/nfciso15693requestflag/3551911-commandspecificbit8). This can be now used with iOS 14.0 or later.\nenum Iso15693RequestFlagIos {\n  // DOC:\n  address,\n\n  // DOC:\n  dualSubCarriers,\n\n  // DOC:\n  highDataRate,\n\n  // DOC:\n  option,\n\n  // DOC:\n  protocolExtension,\n\n  // DOC:\n  select,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/tags/iso7816.dart",
    "content": "import 'package:flutter/foundation.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.g.dart';\n\n/// Provides access to ISO 7816 operations for iOS.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class Iso7816Ios {\n  const Iso7816Ios._(\n    this._handle, {\n    required this.initialSelectedAID,\n    required this.identifier,\n    required this.historicalBytes,\n    required this.applicationData,\n    required this.proprietaryApplicationDataCoding,\n  });\n\n  final String _handle;\n\n  // DOC:\n  final String initialSelectedAID;\n\n  // DOC:\n  final Uint8List identifier;\n\n  // DOC:\n  final Uint8List? historicalBytes;\n\n  // DOC:\n  final Uint8List? applicationData;\n\n  // DOC:\n  final bool proprietaryApplicationDataCoding;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static Iso7816Ios? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.iso7816;\n    if (data == null || tech == null) return null;\n    return Iso7816Ios._(\n      data.handle,\n      initialSelectedAID: tech.initialSelectedAID,\n      identifier: tech.identifier,\n      historicalBytes: tech.historicalBytes,\n      applicationData: tech.applicationData,\n      proprietaryApplicationDataCoding: tech.proprietaryApplicationDataCoding,\n    );\n  }\n\n  // DOC:\n  Future<Iso7816ResponseApduIos> sendCommand({\n    required int instructionClass,\n    required int instructionCode,\n    required int p1Parameter,\n    required int p2Parameter,\n    required Uint8List data,\n    required int expectedResponseLength,\n  }) {\n    return hostApi\n        .iso7816SendCommand(\n          handle: _handle,\n          apdu: Iso7816ApduPigeon(\n            instructionClass: instructionClass,\n            instructionCode: instructionCode,\n            p1Parameter: p1Parameter,\n            p2Parameter: p2Parameter,\n            data: data,\n            expectedResponseLength: expectedResponseLength,\n          ),\n        )\n        .then(\n          (value) => Iso7816ResponseApduIos(\n            payload: value.payload,\n            statusWord1: value.statusWord1,\n            statusWord2: value.statusWord2,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<Iso7816ResponseApduIos> sendCommandRaw({required Uint8List data}) {\n    return hostApi\n        .iso7816SendCommandRaw(handle: _handle, data: data)\n        .then(\n          (value) => Iso7816ResponseApduIos(\n            payload: value.payload,\n            statusWord1: value.statusWord1,\n            statusWord2: value.statusWord2,\n          ),\n        );\n  }\n}\n\n// DOC:\nfinal class Iso7816ResponseApduIos {\n  // DOC:\n  @visibleForTesting\n  const Iso7816ResponseApduIos({\n    required this.payload,\n    required this.statusWord1,\n    required this.statusWord2,\n  });\n\n  // DOC:\n  final Uint8List payload;\n\n  // DOC:\n  final int statusWord1;\n\n  // DOC:\n  final int statusWord2;\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/tags/mifare.dart",
    "content": "import 'package:flutter/foundation.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.g.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/tags/iso7816.dart';\n\n/// Provides access to MiFare operations for iOS.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class MiFareIos {\n  const MiFareIos._(\n    this._handle, {\n    required this.identifier,\n    required this.mifareFamily,\n    required this.historicalBytes,\n  });\n\n  final String _handle;\n\n  // DOC:\n  final Uint8List identifier;\n\n  // DOC:\n  final MiFareFamilyIos mifareFamily;\n\n  // DOC:\n  final Uint8List? historicalBytes;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static MiFareIos? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.miFare;\n    if (data == null || tech == null) return null;\n    return MiFareIos._(\n      data.handle,\n      identifier: tech.identifier,\n      mifareFamily: MiFareFamilyIos.values.byName(tech.mifareFamily.name),\n      historicalBytes: tech.historicalBytes,\n    );\n  }\n\n  // DOC:\n  Future<Uint8List> sendMiFareCommand({required Uint8List commandPacket}) {\n    return hostApi.miFareSendMiFareCommand(\n      handle: _handle,\n      commandPacket: commandPacket,\n    );\n  }\n\n  // DOC:\n  Future<Iso7816ResponseApduIos> sendMiFareIso7816Command({\n    required int instructionClass,\n    required int instructionCode,\n    required int p1Parameter,\n    required int p2Parameter,\n    required Uint8List data,\n    required int expectedResponseLength,\n  }) {\n    return hostApi\n        .miFareSendMiFareISO7816Command(\n          handle: _handle,\n          apdu: Iso7816ApduPigeon(\n            instructionClass: instructionClass,\n            instructionCode: instructionCode,\n            p1Parameter: p1Parameter,\n            p2Parameter: p2Parameter,\n            data: data,\n            expectedResponseLength: expectedResponseLength,\n          ),\n        )\n        .then(\n          // ignore: invalid_use_of_visible_for_testing_member\n          (value) => Iso7816ResponseApduIos(\n            payload: value.payload,\n            statusWord1: value.statusWord1,\n            statusWord2: value.statusWord2,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<Iso7816ResponseApduIos> sendMiFareIso7816CommandRaw({\n    required Uint8List data,\n  }) {\n    return hostApi\n        .miFareSendMiFareISO7816CommandRaw(handle: _handle, data: data)\n        .then(\n          // ignore: invalid_use_of_visible_for_testing_member\n          (value) => Iso7816ResponseApduIos(\n            payload: value.payload,\n            statusWord1: value.statusWord1,\n            statusWord2: value.statusWord2,\n          ),\n        );\n  }\n}\n\n// DOC:\nenum MiFareFamilyIos {\n  // DOC:\n  unknown,\n\n  // DOC:\n  ultralight,\n\n  // DOC:\n  plus,\n\n  // DOC:\n  desfire,\n}\n"
  },
  {
    "path": "lib/src/nfc_manager_ios/tags/ndef.dart",
    "content": "import 'package:flutter/foundation.dart';\nimport 'package:ndef_record/ndef_record.dart';\nimport 'package:nfc_manager/src/nfc_manager/nfc_manager.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.dart';\nimport 'package:nfc_manager/src/nfc_manager_ios/pigeon.g.dart';\n\n/// Provides access to NDEF operations for iOS.\n///\n/// Acquire an instance using [from(NfcTag)].\nfinal class NdefIos {\n  const NdefIos._(\n    this._handle, {\n    required this.status,\n    required this.capacity,\n    required this.cachedNdefMessage,\n  });\n\n  final String _handle;\n\n  // DOC:\n  final NdefStatusIos status;\n\n  // DOC:\n  final int capacity;\n\n  // DOC:\n  final NdefMessage? cachedNdefMessage;\n\n  /// Creates an instance of this class for the given tag.\n  ///\n  /// Returns null if the tag is not compatible.\n  static NdefIos? from(NfcTag tag) {\n    // ignore: invalid_use_of_protected_member\n    final data = tag.data as TagPigeon?;\n    final tech = data?.ndef;\n    if (data == null || tech == null) return null;\n    return NdefIos._(\n      data.handle,\n      status: NdefStatusIos.values.byName(tech.status.name),\n      capacity: tech.capacity,\n      cachedNdefMessage: tech.cachedNdefMessage == null\n          ? null\n          : NdefMessage(\n              records: tech.cachedNdefMessage!.records\n                  .map(\n                    (r) => NdefRecord(\n                      typeNameFormat: TypeNameFormat.values.byName(\n                        r.typeNameFormat.name,\n                      ),\n                      type: r.type,\n                      identifier: r.identifier,\n                      payload: r.payload,\n                    ),\n                  )\n                  .toList(),\n            ),\n    );\n  }\n\n  // DOC:\n  Future<QueryNdefStatusResponseIos> queryNdefStatus() {\n    return hostApi\n        .ndefQueryNdefStatus(handle: _handle)\n        .then(\n          (value) => QueryNdefStatusResponseIos(\n            status: NdefStatusIos.values.byName(value.status.name),\n            capacity: value.capacity,\n          ),\n        );\n  }\n\n  // DOC:\n  Future<NdefMessage?> readNdef() {\n    return hostApi\n        .ndefReadNdef(handle: _handle)\n        .then(\n          (value) => value == null\n              ? null\n              : NdefMessage(\n                  records: value.records\n                      .map(\n                        (r) => NdefRecord(\n                          typeNameFormat: TypeNameFormat.values.byName(\n                            r.typeNameFormat.name,\n                          ),\n                          type: r.type,\n                          identifier: r.identifier,\n                          payload: r.payload,\n                        ),\n                      )\n                      .toList(),\n                ),\n        );\n  }\n\n  // DOC:\n  Future<void> writeNdef(NdefMessage message) {\n    return hostApi.ndefWriteNdef(\n      handle: _handle,\n      message: NdefMessagePigeon(\n        records: message.records\n            .map(\n              (e) => NdefPayloadPigeon(\n                typeNameFormat: TypeNameFormatPigeon.values.byName(\n                  e.typeNameFormat.name,\n                ),\n                type: e.type,\n                identifier: e.identifier,\n                payload: e.payload,\n              ),\n            )\n            .toList(),\n      ),\n    );\n  }\n\n  // DOC:\n  Future<void> writeLock() {\n    return hostApi.ndefWriteLock(handle: _handle);\n  }\n}\n\n// DOC:\nfinal class QueryNdefStatusResponseIos {\n  // DOC:\n  @visibleForTesting\n  const QueryNdefStatusResponseIos({\n    required this.status,\n    required this.capacity,\n  });\n\n  // DOC:\n  final NdefStatusIos status;\n\n  // DOC:\n  final int capacity;\n}\n\n// DOC:\nenum NdefStatusIos {\n  // DOC:\n  notSupported,\n\n  // DOC:\n  readOnly,\n\n  // DOC:\n  readWrite,\n}\n"
  },
  {
    "path": "pigeon/android.dart",
    "content": "import 'package:pigeon/pigeon.dart';\n\n@ConfigurePigeon(\n  PigeonOptions(\n    dartPackageName: 'nfc_manager',\n    dartOut: 'lib/src/nfc_manager_android/pigeon.g.dart',\n    kotlinOut: 'android/src/main/kotlin/dev/flutter/plugins/nfcmanager/Pigeon.kt',\n    kotlinOptions: KotlinOptions(package: 'dev.flutter.plugins.nfcmanager'),\n  ),\n)\n\n@FlutterApi()\nabstract class FlutterApiPigeon {\n  void onTagDiscovered(TagPigeon tag);\n  void onAdapterStateChanged(AdapterStatePigeon state);\n}\n\n@HostApi()\nabstract class HostApiPigeon {\n  bool nfcAdapterIsEnabled();\n  bool nfcAdapterIsSecureNfcEnabled();\n  bool nfcAdapterIsSecureNfcSupported();\n  void nfcAdapterEnableReaderMode({required List<ReaderFlagPigeon> flags});\n  void nfcAdapterDisableReaderMode();\n  NdefMessagePigeon? ndefGetNdefMessage({required String handle});\n  void ndefWriteNdefMessage({required String handle, required NdefMessagePigeon message});\n  bool ndefMakeReadOnly({required String handle});\n  int nfcAGetMaxTransceiveLength({required String handle});\n  int nfcAGetTimeout({required String handle});\n  void nfcASetTimeout({required String handle, required int timeout});\n  Uint8List nfcATransceive({required String handle, required Uint8List bytes});\n  int nfcBGetMaxTransceiveLength({required String handle});\n  Uint8List nfcBTransceive({required String handle, required Uint8List bytes});\n  int nfcFGetMaxTransceiveLength({required String handle});\n  int nfcFGetTimeout({required String handle});\n  void nfcFSetTimeout({required String handle, required int timeout});\n  Uint8List nfcFTransceive({required String handle, required Uint8List bytes});\n  int nfcVGetMaxTransceiveLength({required String handle});\n  Uint8List nfcVTransceive({required String handle, required Uint8List bytes});\n  int isoDepGetMaxTransceiveLength({required String handle});\n  int isoDepGetTimeout({required String handle});\n  void isoDepSetTimeout({required String handle, required int timeout});\n  Uint8List isoDepTransceive({required String handle, required Uint8List bytes});\n  int mifareClassicGetMaxTransceiveLength({required String handle});\n  int mifareClassicGetTimeout({required String handle});\n  void mifareClassicSetTimeout({required String handle, required int timeout});\n  int mifareClassicBlockToSector({required String handle, required int blockIndex});\n  int mifareClassicGetBlockCountInSector({required String handle, required int sectorIndex});\n  int mifareClassicSectorToBlock({required String handle, required int sectorIndex});\n  bool mifareClassicAuthenticateSectorWithKeyA({required String handle, required int sectorIndex, required Uint8List key});\n  bool mifareClassicAuthenticateSectorWithKeyB({required String handle, required int sectorIndex, required Uint8List key});\n  void mifareClassicIncrement({required String handle, required int blockIndex, required int value});\n  void mifareClassicDecrement({required String handle, required int blockIndex, required int value});\n  Uint8List mifareClassicReadBlock({required String handle, required int blockIndex});\n  void mifareClassicWriteBlock({required String handle, required int blockIndex, required Uint8List data});\n  void mifareClassicRestore({required String handle, required int blockIndex});\n  void mifareClassicTransfer({required String handle, required int blockIndex});\n  Uint8List mifareClassicTransceive({required String handle, required Uint8List bytes});\n  int mifareUltralightGetMaxTransceiveLength({required String handle});\n  int mifareUltralightGetTimeout({required String handle});\n  void mifareUltralightSetTimeout({required String handle, required int timeout});\n  Uint8List mifareUltralightReadPages({required String handle, required int pageOffset});\n  void mifareUltralightWritePage({required String handle, required int pageOffset, required Uint8List data});\n  Uint8List mifareUltralightTransceive({required String handle, required Uint8List bytes});\n  void ndefFormatableFormat({required String handle, required NdefMessagePigeon firstMessage});\n  void ndefFormatableFormatReadOnly({required String handle, required NdefMessagePigeon firstMessage});\n}\n\nclass TagPigeon {\n  const TagPigeon({\n    required this.handle,\n    required this.id,\n    required this.techList,\n    required this.ndef,\n    required this.nfcA,\n    required this.nfcB,\n    required this.nfcF,\n    required this.nfcV,\n    required this.isoDep,\n    required this.mifareClassic,\n    required this.mifareUltralight,\n    required this.ndefFormatable,\n    required this.nfcBarcode,\n  });\n  final String handle;\n  final Uint8List id;\n  final List<String> techList;\n  final NdefPigeon? ndef;\n  final NfcAPigeon? nfcA;\n  final NfcBPigeon? nfcB;\n  final NfcFPigeon? nfcF;\n  final NfcVPigeon? nfcV;\n  final IsoDepPigeon? isoDep;\n  final MifareClassicPigeon? mifareClassic;\n  final MifareUltralightPigeon? mifareUltralight;\n  final String? ndefFormatable;\n  final NfcBarcodePigeon? nfcBarcode;\n}\n\nclass NdefPigeon {\n  const NdefPigeon({\n    required this.type,\n    required this.canMakeReadOnly,\n    required this.isWritable,\n    required this.maxSize,\n    required this.cachedNdefMessage,\n  });\n  final String type;\n  final bool canMakeReadOnly;\n  final bool isWritable;\n  final int maxSize;\n  final NdefMessagePigeon? cachedNdefMessage;\n}\n\nclass NfcAPigeon {\n  const NfcAPigeon({\n    required this.atqa,\n    required this.sak,\n  });\n  final Uint8List atqa;\n  final int sak;\n}\n\nclass NfcBPigeon {\n  const NfcBPigeon({\n    required this.applicationData,\n    required this.protocolInfo,\n  });\n  final Uint8List applicationData;\n  final Uint8List protocolInfo;\n}\n\nclass NfcFPigeon {\n  const NfcFPigeon({\n    required this.manufacturer,\n    required this.systemCode,\n  });\n  final Uint8List manufacturer;\n  final Uint8List systemCode;\n}\n\nclass NfcVPigeon {\n  const NfcVPigeon({\n    required this.dsfId,\n    required this.responseFlags,\n  });\n  final int dsfId;\n  final int responseFlags;\n}\n\nclass IsoDepPigeon {\n  IsoDepPigeon({\n    required this.hiLayerResponse,\n    required this.historicalBytes,\n    required this.isExtendedLengthApduSupported,\n  });\n  final Uint8List? hiLayerResponse;\n  final Uint8List? historicalBytes;\n  final bool isExtendedLengthApduSupported;\n}\n\nclass MifareClassicPigeon {\n  const MifareClassicPigeon({\n    required this.type,\n    required this.blockCount,\n    required this.sectorCount,\n    required this.size,\n  });\n  final MifareClassicTypePigeon type;\n  final int blockCount;\n  final int sectorCount;\n  final int size;\n}\n\nclass MifareUltralightPigeon {\n  const MifareUltralightPigeon({\n    required this.type,\n  });\n  final MifareUltralightTypePigeon type;\n}\n\nclass NfcBarcodePigeon {\n  const NfcBarcodePigeon({\n    required this.type,\n    required this.barcode,\n  });\n  final NfcBarcodeTypePigeon type;\n  final Uint8List barcode;\n}\n\nclass NdefMessagePigeon {\n  const NdefMessagePigeon({\n    required this.records,\n  });\n  final List<NdefRecordPigeon> records;\n}\n\nclass NdefRecordPigeon {\n  const NdefRecordPigeon({\n    required this.tnf,\n    required this.type,\n    required this.id,\n    required this.payload,\n  });\n  final TypeNameFormatPigeon tnf;\n  final Uint8List type;\n  final Uint8List id;\n  final Uint8List payload;\n}\n\nenum ReaderFlagPigeon {\n  nfcA,\n  nfcB,\n  nfcBarcode,\n  nfcF,\n  nfcV,\n  noPlatformSounds,\n  skipNdefCheck,\n}\n\nenum AdapterStatePigeon {\n  off,\n  turningOn,\n  on,\n  turningOff,\n}\n\nenum TypeNameFormatPigeon {\n  empty,\n  wellKnown,\n  media,\n  absoluteUri,\n  external,\n  unknown,\n  unchanged,\n}\n\nenum NfcBarcodeTypePigeon {\n  kovio,\n  unknown,\n}\n\nenum MifareClassicTypePigeon {\n  classic,\n  plus,\n  pro,\n  unknown,\n}\n\nenum MifareUltralightTypePigeon {\n  ultralight,\n  ultralightC,\n  unknown,\n}\n"
  },
  {
    "path": "pigeon/ios.dart",
    "content": "import 'package:pigeon/pigeon.dart';\n\n@ConfigurePigeon(\n  PigeonOptions(\n    dartPackageName: 'nfc_manager',\n    dartOut: 'lib/src/nfc_manager_ios/pigeon.g.dart',\n    swiftOut: 'ios/nfc_manager/Sources/nfc_manager/Pigeon.swift',\n  ),\n)\n\n@FlutterApi()\nabstract class FlutterApiPigeon {\n  void tagSessionDidBecomeActive();\n  void tagSessionDidDetect(TagPigeon tag);\n  void tagSessionDidInvalidateWithError(NfcReaderSessionErrorPigeon error);\n  void vasSessionDidBecomeActive();\n  void vasSessionDidReceive(List<NfcVasResponsePigeon> responses);\n  void vasSessionDidInvalidateWithError(NfcReaderSessionErrorPigeon error);\n}\n\n@HostApi()\nabstract class HostApiPigeon {\n  bool tagSessionReadingAvailable();\n  void tagSessionBegin({required List<PollingOptionPigeon> pollingOptions, required String? alertMessage, required bool invalidateAfterFirstRead});\n  void tagSessionInvalidate({required String? alertMessage, required String? errorMessage});\n  void tagSessionRestartPolling();\n  void tagSessionSetAlertMessage({required String alertMessage});\n  bool vasSessionReadingAvailable();\n  void vasSessionBegin({required List<NfcVasCommandConfigurationPigeon> configurations, required String? alertMessage});\n  void vasSessionInvalidate({required String? alertMessage, required String? errorMessage});\n  void vasSessionSetAlertMessage({required String alertMessage});\n  @async NdefQueryStatusPigeon ndefQueryNdefStatus({required String handle});\n  @async NdefMessagePigeon? ndefReadNdef({required String handle});\n  @async void ndefWriteNdef({required String handle, required NdefMessagePigeon message});\n  @async void ndefWriteLock({required String handle});\n  @async FeliCaPollingResponsePigeon feliCaPolling({required String handle, required Uint8List systemCode, required FeliCaPollingRequestCodePigeon requestCode, required FeliCaPollingTimeSlotPigeon timeSlot});\n  @async List<Uint8List> feliCaRequestService({required String handle, required List<Uint8List> nodeCodeList});\n  @async int feliCaRequestResponse({required String handle});\n  @async FeliCaReadWithoutEncryptionResponsePigeon feliCaReadWithoutEncryption({required String handle, required List<Uint8List> serviceCodeList, required List<Uint8List> blockList});\n  @async FeliCaStatusFlagPigeon feliCaWriteWithoutEncryption({required String handle, required List<Uint8List> serviceCodeList, required List<Uint8List> blockList, required List<Uint8List> blockData});\n  @async List<Uint8List> feliCaRequestSystemCode({required String handle});\n  @async FeliCaRequestServiceV2ResponsePigeon feliCaRequestServiceV2({required String handle, required List<Uint8List> nodeCodeList});\n  @async FeliCaRequestSpecificationVersionResponsePigeon feliCaRequestSpecificationVersion({required String handle});\n  @async FeliCaStatusFlagPigeon feliCaResetMode({required String handle});\n  @async Uint8List feliCaSendFeliCaCommand({required String handle, required Uint8List commandPacket});\n  @async Uint8List miFareSendMiFareCommand({required String handle, required Uint8List commandPacket});\n  @async Iso7816ResponseApduPigeon miFareSendMiFareISO7816Command({required String handle, required Iso7816ApduPigeon apdu});\n  @async Iso7816ResponseApduPigeon miFareSendMiFareISO7816CommandRaw({required String handle, required Uint8List data});\n  @async Iso7816ResponseApduPigeon iso7816SendCommand({required String handle, required Iso7816ApduPigeon apdu});\n  @async Iso7816ResponseApduPigeon iso7816SendCommandRaw({required String handle, required Uint8List data});\n  @async void iso15693StayQuiet({required String handle});\n  @async Uint8List iso15693ReadSingleBlock({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int blockNumber});\n  @async void iso15693WriteSingleBlock({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int blockNumber, required Uint8List dataBlock});\n  @async void iso15693LockBlock({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int blockNumber});\n  @async List<Uint8List> iso15693ReadMultipleBlocks({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int blockNumber, required int numberOfBlocks});\n  @async void iso15693WriteMultipleBlocks({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int blockNumber, required int numberOfBlocks, required List<Uint8List> dataBlocks});\n  @async void iso15693Select({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags});\n  @async void iso15693ResetToReady({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags});\n  @async void iso15693WriteAfi({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int afi});\n  @async void iso15693LockAfi({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags});\n  @async void iso15693WriteDsfId({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int dsfId});\n  @async void iso15693LockDsfId({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags});\n  @async Iso15693SystemInfoPigeon iso15693GetSystemInfo({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags});\n  @async List<int> iso15693GetMultipleBlockSecurityStatus({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int blockNumber, required int numberOfBlocks});\n  @async Uint8List iso15693CustomCommand({required String handle, required List<Iso15693RequestFlagPigeon> requestFlags, required int customCommandCode, required Uint8List customRequestParameters});\n}\n\nclass TagPigeon {\n  const TagPigeon({\n    required this.handle,\n    required this.ndef,\n    required this.feliCa,\n    required this.iso15693,\n    required this.iso7816,\n    required this.miFare,\n  });\n  final String handle;\n  final NdefPigeon? ndef;\n  final FeliCaPigeon? feliCa;\n  final Iso15693Pigeon? iso15693;\n  final Iso7816Pigeon? iso7816;\n  final MiFarePigeon? miFare;\n}\n\nclass NdefPigeon {\n  const NdefPigeon({\n    required this.status,\n    required this.capacity,\n    required this.cachedNdefMessage,\n  });\n  final NdefStatusPigeon status;\n  final int capacity;\n  final NdefMessagePigeon? cachedNdefMessage;\n}\n\nclass FeliCaPigeon {\n  const FeliCaPigeon({\n    required this.currentSystemCode,\n    required this.currentIDm,\n  });\n  final Uint8List currentSystemCode;\n  final Uint8List currentIDm;\n}\n\nclass Iso15693Pigeon {\n  const Iso15693Pigeon({\n    required this.icManufacturerCode,\n    required this.icSerialNumber,\n    required this.identifier,\n  });\n  final int icManufacturerCode;\n  final Uint8List icSerialNumber;\n  final Uint8List identifier;\n}\n\nclass Iso7816Pigeon {\n  const Iso7816Pigeon({\n    required this.initialSelectedAID,\n    required this.identifier,\n    required this.historicalBytes,\n    required this.applicationData,\n    required this.proprietaryApplicationDataCoding,\n  });\n  final String initialSelectedAID;\n  final Uint8List identifier;\n  final Uint8List? historicalBytes;\n  final Uint8List? applicationData;\n  final bool proprietaryApplicationDataCoding;\n}\n\nclass MiFarePigeon {\n  const MiFarePigeon({\n    required this.mifareFamily,\n    required this.identifier,\n    required this.historicalBytes,\n  });\n  final MiFareFamilyPigeon mifareFamily;\n  final Uint8List identifier;\n  final Uint8List? historicalBytes;\n}\n\nclass NdefQueryStatusPigeon {\n  const NdefQueryStatusPigeon({\n    required this.status,\n    required this.capacity,\n  });\n  final NdefStatusPigeon status;\n  final int capacity;\n}\n\nclass NdefMessagePigeon {\n  const NdefMessagePigeon({\n    required this.records,\n  });\n  final List<NdefPayloadPigeon> records;\n}\n\nclass NdefPayloadPigeon {\n  const NdefPayloadPigeon({\n    required this.typeNameFormat,\n    required this.type,\n    required this.identifier,\n    required this.payload,\n  });\n  final TypeNameFormatPigeon typeNameFormat;\n  final Uint8List type;\n  final Uint8List identifier;\n  final Uint8List payload;\n}\n\nclass FeliCaPollingResponsePigeon {\n  const FeliCaPollingResponsePigeon({\n    required this.manufacturerParameter,\n    required this.requestData,\n  });\n  final Uint8List manufacturerParameter;\n  final Uint8List? requestData;\n}\n\nclass FeliCaReadWithoutEncryptionResponsePigeon {\n  const FeliCaReadWithoutEncryptionResponsePigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.blockData,\n  });\n  final int statusFlag1;\n  final int statusFlag2;\n  final List<Uint8List> blockData;\n}\n\nclass FeliCaRequestServiceV2ResponsePigeon {\n  const FeliCaRequestServiceV2ResponsePigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.encryptionIdentifier,\n    required this.nodeKeyVersionListAES,\n    required this.nodeKeyVersionListDES,\n  });\n  final int statusFlag1;\n  final int statusFlag2;\n  final int encryptionIdentifier;\n  final List<Uint8List>? nodeKeyVersionListAES;\n  final List<Uint8List>? nodeKeyVersionListDES;\n}\n\nclass FeliCaRequestSpecificationVersionResponsePigeon {\n  const FeliCaRequestSpecificationVersionResponsePigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n    required this.basicVersion,\n    required this.optionVersion,\n  });\n  final int statusFlag1;\n  final int statusFlag2;\n  final Uint8List? basicVersion;\n  final Uint8List? optionVersion;\n}\n\nclass FeliCaStatusFlagPigeon {\n  const FeliCaStatusFlagPigeon({\n    required this.statusFlag1,\n    required this.statusFlag2,\n  });\n  final int statusFlag1;\n  final int statusFlag2;\n}\n\nclass Iso7816ApduPigeon {\n  const Iso7816ApduPigeon({\n    required this.instructionClass,\n    required this.instructionCode,\n    required this.p1Parameter,\n    required this.p2Parameter,\n    required this.data,\n    required this.expectedResponseLength,\n  });\n  final int instructionClass;\n  final int instructionCode;\n  final int p1Parameter;\n  final int p2Parameter;\n  final Uint8List data;\n  final int expectedResponseLength;\n}\n\nclass Iso7816ResponseApduPigeon {\n  const Iso7816ResponseApduPigeon({\n    required this.payload,\n    required this.statusWord1,\n    required this.statusWord2,\n  });\n  final Uint8List payload;\n  final int statusWord1;\n  final int statusWord2;\n}\n\nclass Iso15693SystemInfoPigeon {\n  const Iso15693SystemInfoPigeon({\n    required this.dataStorageFormatIdentifier,\n    required this.applicationFamilyIdentifier,\n    required this.blockSize,\n    required this.totalBlocks,\n    required this.icReference,\n  });\n  final int dataStorageFormatIdentifier;\n  final int applicationFamilyIdentifier;\n  final int blockSize;\n  final int totalBlocks;\n  final int icReference;\n}\n\nclass NfcReaderSessionErrorPigeon {\n  const NfcReaderSessionErrorPigeon({\n    required this.code,\n    required this.message,\n  });\n  final NfcReaderErrorCodePigeon code;\n  final String message;\n}\n\nclass NfcVasCommandConfigurationPigeon {\n  const NfcVasCommandConfigurationPigeon({\n    required this.mode,\n    required this.passIdentifier,\n    required this.url,\n  });\n  final NfcVasCommandConfigurationModePigeon mode;\n  final String passIdentifier;\n  final String? url;\n}\n\nclass NfcVasResponsePigeon {\n  const NfcVasResponsePigeon({\n    required this.status,\n    required this.vasData,\n    required this.mobileToken,\n  });\n  final NfcVasResponseErrorCodePigeon status;\n  final Uint8List vasData;\n  final Uint8List mobileToken;\n}\n\nenum PollingOptionPigeon {\n  iso14443,\n  iso15693,\n  iso18092,\n}\n\nenum NdefStatusPigeon {\n  notSupported,\n  readWrite,\n  readOnly,\n}\n\nenum TypeNameFormatPigeon {\n  empty,\n  wellKnown,\n  media,\n  absoluteUri,\n  external,\n  unknown,\n  unchanged,\n}\n\nenum FeliCaPollingRequestCodePigeon {\n  noRequest,\n  systemCode,\n  communicationPerformance,\n}\n\nenum FeliCaPollingTimeSlotPigeon {\n  max1,\n  max2,\n  max4,\n  max8,\n  max16,\n}\n\nenum MiFareFamilyPigeon {\n  unknown,\n  ultralight,\n  plus,\n  desfire,\n}\n\nenum Iso15693RequestFlagPigeon {\n  address,\n  dualSubCarriers,\n  highDataRate,\n  option,\n  protocolExtension,\n  select,\n}\n\nenum NfcVasCommandConfigurationModePigeon {\n  normal,\n  urlOnly,\n}\n\nenum NfcReaderErrorCodePigeon {\n  readerSessionInvalidationErrorFirstNdefTagRead,\n  readerSessionInvalidationErrorSessionTerminatedUnexpectedly,\n  readerSessionInvalidationErrorSessionTimeout,\n  readerSessionInvalidationErrorSystemIsBusy,\n  readerSessionInvalidationErrorUserCanceled,\n  ndefReaderSessionErrorTagNotWritable,\n  ndefReaderSessionErrorTagSizeTooSmall,\n  ndefReaderSessionErrorTagUpdateFailure,\n  ndefReaderSessionErrorZeroLengthMessage,\n  readerTransceiveErrorRetryExceeded,\n  readerTransceiveErrorTagConnectionLost,\n  readerTransceiveErrorTagNotConnected,\n  readerTransceiveErrorTagResponseError,\n  readerTransceiveErrorSessionInvalidated,\n  readerTransceiveErrorPacketTooLong,\n  tagCommandConfigurationErrorInvalidParameters,\n  readerErrorAccessNotAccepted,\n  readerErrorIneligible,\n  readerErrorUnsupportedFeature,\n  readerErrorInvalidParameter,\n  readerErrorInvalidParameterLength,\n  readerErrorParameterOutOfBound,\n  readerErrorRadioDisabled,\n  readerErrorSecurityViolation,\n}\n\nenum NfcVasResponseErrorCodePigeon {\n  success,\n  userIntervention,\n  dataNotActivated,\n  dataNotFound,\n  incorrectData,\n  unsupportedApplicationVersion,\n  wrongLCField,\n  wrongParameters,\n}\n"
  },
  {
    "path": "pubspec.yaml",
    "content": "name: nfc_manager\ndescription: A Flutter plugin providing access to NFC features on Android and iOS.\nrepository: https://github.com/okadan/flutter-nfc-manager\nversion: 4.2.0\n\nenvironment:\n  sdk: ^3.11.4\n  flutter: '>=3.3.0'\n\ndependencies:\n  flutter:\n    sdk: flutter\n  meta: ^1.17.0\n  ndef_record: ^1.4.2\n\ndev_dependencies:\n  flutter_lints: ^6.0.0\n  pigeon: ^26.3.3\n\nflutter:\n  plugin:\n    platforms:\n      android:\n        package: dev.flutter.plugins.nfcmanager\n        pluginClass: NfcManagerPlugin\n      ios:\n        pluginClass: NfcManagerPlugin\n"
  }
]